环境配置
- 新建pycharm的python项目,解释器选择ida根目录的
python27
目录下的python.exe - 将ida根目录下的
python
文件夹全部拷贝到项目根目录,这里我重命名为python_lib
- 在
python_lib
文件夹下新建一个空文件__init__.py
(或者将原来的init.py
文件复制一份,命名为__init__.py
)以保证模块可以被导入。
脚本编写
然后在项目中新建一个测试脚本文件,
开头导入的模块声明如下
import sys
sys.path.append("./python_lib")
from python_lib import *
# import python_lib.idaapi as idaapi
这样就就可以导入模块并使用了。
或者使用
RELEASE = True
if RELEASE:
import idaapi
else:
import sys
sys.path.append("./python_lib")
from python_lib import *
在开发的时候设置RELEASE变量为False
,在ida执行前修改为True。
一个nop当前指针所处汇编语句并跳转到下一语句的脚本,快捷键Alt+N
RELEASE = True
if RELEASE:
import idaapi
else:
import sys
sys.path.append("./python_lib")
from python_lib import *
idaapi.CompileLine('static n_key(){ RunPythonStatement("nopIt()");}')
AddHotkey("Alt-N", "n_key")
msg("Nop tool loaded!")
def nopIt():
start = ScreenEA()
end = NextHead(start)
for ea in range(start, end):
PatchByte(ea, 0x90)
Jump(end)
Refresh()
网友评论