IDAPython 代码 <-> 数据

逆向工程 艾达 修补
2021-06-13 19:03:16

我正在寻找一种方法,以编程方式更改数据类型。这与您按“C”或“D”相同。

例如转换这个:

.text:00401008 unk_401008      db  55h ; U             ; CODE XREF: start↑p
.text:00401009                 db  8Bh ; ‹
.text:0040100A                 db 0ECh ; ì
.text:0040100B                 db  83h ; ƒ
.text:0040100C                 db 0ECh ; ì

对此:

.text:00401008 loc_401008:                             ; CODE XREF: start↑p
.text:00401008                 push    ebp
.text:00401009                 mov     ebp, esp
.text:0040100B                 sub     esp, 0Ch

反之亦然。

这些功能应该在这里列出https://www.hex-rays.com/products/ida/support/idapython_docs/但我找不到它。

到目前为止,我只发现了这个:

generate_disasm_line(here(), GENDSM_FORCE_CODE)

但它只打印数据输出,不改变“IDA 视图”窗口内容。

谢谢

1个回答

啊,要创建代码有:

create_insn(here())

最后一个问题,当我尝试从代码创建数据时,我得到了 False:

Python>create_byte(here())
False
Python>create_data(here(), FF_BYTE, 0x79, 0)
False

这是因为我以前需要 del_items()