今天在拿7.5版开始做一些基础re题目,抄wp的时候发现很多代码,比如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
找到
把AUTOIMPORT_COMPAT_IDA695改为YES
很简单,也不上图了,基本就这些了。其他想起来再更新。