Files
2025-12-12 17:04:48 +08:00

30 lines
893 B
Python

import ida_dbg
import ida_idaapi
import ida_bytes
def dbg_bpt(ea):
# 获取X22寄存器的值(指向的内存地址)
x22_value = ida_dbg.get_reg_val("X22")
if x22_value != ida_idaapi.BADADDR:
# 要写入的数据:'1','2','3' 的ASCII码
patch_data = [ord('1'), ord('2'), ord('3')]
# 修改内存
for i, byte_val in enumerate(patch_data):
ida_bytes.patch_byte(x22_value + i, byte_val)
print(f"[断点 0x{ea:X}] 已将 X22(0x{x22_value:X}) 的前3字节修改为 '123'")
# 可选:显示修改前后的内容对比
original = []
for i in range(3):
original.append(ida_bytes.get_byte(x22_value + i))
print(f" 修改前: {[hex(b) for b in original]}")
print(f" 修改后: {[hex(b) for b in patch_data]}")
# 返回0继续执行
return 0
dbg_bpt(0x1006DDE30)