IDAPython函数入门

1.1 IDA有三个比较重要的库:IDC,idautils,idaapi.

IDC他是封装IDA和IDC函数的兼容性模块。

idaapi他可以允许我们访问更加底层的数据。

在IDA中我们要使用脚本有三种方式:

        第一种:快捷键shift+F2 调出界面,也可以在菜单中选择命令脚本。

        第二种:ALT+F7 脚本文件进行引用

        第三种:在IDA底部写命令。

IDAPython函数入门_第1张图片

1.2IDAPython汇编界面介绍:

IDAPython函数入门_第2张图片

IDAPython函数入门_第3张图片  

.text :                                    程序段名称

0x004010B7                        当前的addr地址

movups                                 汇编语句操作符

movups xmmword ptr[xxx],xmmo  这是汇编指令操作符

movups xmmword ...,xmmo           这是反汇编语句

1.3:如何在IDA获取界面中地址函数

当前地址获取使用:idc.here()函数,或者 idc.screen_ea()函数

最小地址可以使用:ida_ida.inf_get_min_ea()

最大地址可以使用:ida_ida.inf_get_max_ea()

当前选择地址的开始:idc.read_selection_start()

当前选择地址的结束:idc.read_selection_end()

如果判断地址是否存在,可以使用:idaapi.BADADDR

这些函数的返回值都是地址,且木有参数。

1.4数值获取:

idc.get_wide_byte(addr)

idc.get_wide_word(addr)

idc.get_wide_dword(addr)

idc.get_qword(addr)

IDAPython函数入门_第4张图片

1.5数值操作:

ida_bytes.patch_byte(addr,value)

ida_bytes.patch_word(addr,value)

ida_bytes.patch_Dword(addr,value)

ida_bytes.patch_Qword(addr,value)

IDAPython函数入门_第5张图片

二:简单的脚本实现

现在我们写一个脚本,脚本作用是:

获取我们选择区域的所有二进制值,如果二进制数值是0x...   那我们就替换成0x....

IDAPython函数入门_第6张图片

你可能感兴趣的:(逆向,python,idea)