关于IDA7.5版本IDApython的api差异问题及解决办法


前言

首发于吾爱破解,现转到博客上来。

不知道该分哪类,姑且放到逆向里吧

正文

在7.5版本下一些函数如PatchByte()Byte()都提示
NameError: name ‘Byte’ is not defined
又舍不得放弃7.5(一些题目拿7.5版生成的伪代码比7.0版要好看的多),
于是在网上查了很久,找出了解决办法。

原来是IDApython的api问题
首先是官方对于api的详细迁移文档
https://www.hex-rays.com/products/ida/support/ida74_idapython_no_bc695_porting_guide.shtml
有了这个表,一些wp里的旧版代码搜索一下就能在7.5版使用了。

以下是兼容办法

方法1

其次是在比较方便的在7.5用7.0API办法,来源:https://github.com/0xgalz/Virtuailor/issues/8
在代码面前加个:
from idc_bc695 import *
即可。

方法2(一劳永逸版):

来源官方文档:https://www.hex-rays.com/products/ida/support/ida74_idapython_no_bc695.shtml
找到

  • ~/.idapro/cfg/idapython.cfg (Linux)
  • %APPDATA%\Hex-Rays\IDA Pro\cfg\idapython.cfg (Windows) (绿色版的话在程序目录下那个cfg文件夹里)

AUTOIMPORT_COMPAT_IDA695的值改为YES


文章作者: 巡璃
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 巡璃 !
评论
  目录