IDA6.8中可用的python片段
来源:互联网 发布:出国留学的意义 知乎 编辑:程序博客网 时间:2024/06/07 08:25
打印
Message("========================================\r\n");Message("hello\r\n");Message("中文\r\n");Message("----------------------------------------\r\n");print ("hello by print");print ("中文");
# @filename test_ida_python.py# ida python can't support chinese charfrom idaapi import *from idautils import *from idc import *def main(): Message("function : main \r\n"); # get cur addr ea = get_screen_ea() print("ea = 0x%x\r\n" % ea) # list all segment for seg in idautils.Segments(): print idc.SegName(seg),idc.SegStart(seg),idc.SegEnd(seg) # get current object file _path = GetInputFilePath() print("_path = ", _path) # list all functions print("\r\n"); for func in idautils.Functions(): flags = idc.GetFunctionFlags(func) if flags & FUNC_FAR: print hex(func), "FUNC_FAR", idc.GetFunctionName(func) else: if flags & FUNC_LIB: print hex(func), "FUNC_LIB", idc.GetFunctionName(func) else: print hex(func), idc.GetFunctionName(func) # print a fun print("====================\r\n"); Message("print a function\r\n") print ea dism_addr = list(idautils.FuncItems(ea)) print type(dism_addr) print dism_addr for line in dism_addr: print hex(line),idc.GetDisasm(line) # print function dasm by cur addr print("==========fun==========\r\n"); start = idc.GetFunctionAttr(ea, FUNCATTR_START) end = idc.GetFunctionAttr(ea, FUNCATTR_END) cur_addr = start while cur_addr < end: print hex(cur_addr),idc.GetDisasm(cur_addr) cur_addr = idc.NextHead(cur_addr,end)if __name__ == "__main__": main()
# @filename test_ida_python.py# ida python can't support chinese char# Message not take a \r\n# print take a \r\nfrom idaapi import *from idautils import *from idc import *def fnTest1(): print("===================="); print("function : fnTest1"); print("===================="); # get cur addr ea = get_screen_ea() print("ea = 0x%x" % ea) # only list call or jmp reg ins for func in idautils.Functions(): flags = idc.GetFunctionFlags(func) if flags & FUNC_LIB or flags & FUNC_THUNK: continue dism_addr = list(idautils.FuncItems(func)) print len(dism_addr) for line in dism_addr: m = idc.GetMnem(line) if m == 'call' or m =='jmp': op = idc.GetOpType(line,0) if op == o_reg: print "0x%x %s" % (line, idc.GetDisasm(line))def fnTest2(): print("===================="); print("function : fnTest2"); print("===================="); ea = get_screen_ea() iOpCodeType = idc.GetOpType(ea,0) if (o_reg == iOpCodeType): print("o_reg ", hex(ea), idc.GetDisasm(ea)); else: print iOpCodeType, hex(ea), idc.GetDisasm(ea) print "o_reg ", hex(ea), idc.GetDisasm(ea); print iOpCodeType, hex(ea), idc.GetDisasm(ea)# list a fun's refTo def fnTest3(): fnObj = idc.LocByName("sub_401290") print hex(fnObj),idc.GetDisasm(fnObj) for addr in idautils.CodeRefsTo(fnObj,0): print hex(addr), idc.GetDisasm(addr)# list a fun's refFromdef fnTest4(): fnObj = 0x401290 # fnObj = idc.LocByName("sub_401290") print hex(fnObj), idc.GetDisasm(fnObj) for addr in idautils.CodeRefsFrom(fnObj, 0): print hex(addr),idc.GetDisasm(addr) def main(): print("===================="); print("function : main"); print("===================="); fnTest4()if __name__ == "__main__": main()
0 0
- IDA6.8中可用的python片段
- 可用的代码片段
- IDA6.8 泄露版,大家懂的
- IDA6.8 脚本学习:
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- 在网站制作中随时可用的10个 HTML5 代码片段
- IDA6.8F5结果不正确
- 有用的python代码片段
- Python 常用的代码片段
- use ida6.8 + windbg on win10
- 提升开发速度!随时可用的HTML5代码片段
- python编写的一个日历 签到中可用
- experiment : use python Script file on IDA6.1
- Java Scanner 类
- 欢迎使用CSDN-markdown编辑器
- Linux下阅读源码工具
- ElasticSearch Java API(二)增删改查
- 电脑桌面背景色及分辨率设置问题-仅供参考
- IDA6.8中可用的python片段
- HBase总结(二十)HBase常用shell命令详细说明
- 《吃豆人pacman》源码
- cannot initialize a parameter of type 'IPCameraNightMode' with an rvalue of type 'int'
- 【docker】docker的简介和Windows下如何安装docker
- 既然开始了,希望能够继续下去
- Android属性动画实战
- 自己对Handler和HandlerThread的理解
- Go面向对象编程