hgl544272065 发表于 2019-11-20 22:23:37

Wing_IDE动态调试IDAPython

参考看雪作者sonnzy的文章:利用wing ide动态调试ida7 python插件,做了一些完善。看雪sonnzy的文章:https://bbs.pediy.com/thread-224627.htm小白一枚,望大牛不要见笑。
0x00 准备工作(1)安装IDA_Pro_v7.0(勾选安装或自己手动安装python2.7.13-x64)。(2)安装Wing IDEPro(版本无特殊要求,但要支持python2.7.13-x64)。(3)将Wing IDE Pro安装目录下的wingdbstub.py复制到X:\xxxxxx\IDA7.0\python目录中。(4)把本地Windows的"C:\Users\用户名\AppData\Roaming\Wing IDE x\ "目录下的wingdebugpw文件复制X:\xxxxxx\IDA7.0\python目录中,与wingdbstub.py在一个目录。这个文件是密码文件,WingIDE为了安全性而搞的,必需。(5)python2.7.13-x64安装目录下,在X:\xxx\Python27-x64\Lib\site-packages目录中新建文本文件xxxx.pth(名称任意),该文本文件中的内容为:X:\xxxxxx\IDA7.0\python
X:\xxxxxx\IDA7.0\python\lib\python2.7\lib-dynload\ida_32
X:\xxxxxx\IDA7.0\python\lib\python2.7\lib-dynload\ida_64把IDA自己的Python库文件连到Python2.7中,这样Wing_IDE就能找到IDAPython的库文件了。
0x01 开始测试
1.1 测试用例

在X:\xxxxxx\IDA 7.0\plugins 新建sample_debuggee.py,文件内容如下:




# filename: sample_debuggee.py

import idaapi
import ida_idaapi
from idc import *
import wingdbstub

def my_debugged_function():
    # Set breakpoint here!
    var1='aaa'
    var2='bbb'
    msg(var1)
    msg(var2)

class SamplePlugin(idaapi.plugin_t):
    flags = idaapi.PLUGIN_PROC
    comment = "Sample Debuggee"
    help = "Sample Debuggee"
    wanted_name = "Sample Debuggee"
    wanted_hotkey = "Shift+D"

    def init(self):
      return idaapi.PLUGIN_KEEP

    def term(self):
      pass

    def run(self, arg):
      wingdbstub.Ensure()
      my_debugged_function()

def PLUGIN_ENTRY():
    return SamplePlugin()
注意这两句代码:import wingdbstub
wingdbstub.Ensure()被调试代码需要import wingdbstub;Wind_IDE中需要在wingdbstub.Ensure()语句之后下断点,才可以中断下来。

1.2 添加断点

用Wing_IDE打开X:\xxxxxx\IDA 7.0\plugins\sample_debuggee.py,F9下断点(如在“msg(var1)”这行下断),在Wing_IDE左下角选中“accept debug connections”。如下图所示:




1.3 载入文件

启动IDA,随便载入一个idb或PE文件,点击运行前面建的IDAPython文件“sample_debuggee.py”,Edit→Plugins→sample debuggee,点击后你会发现Wing_IDE已经捕捉到并断下来了,现在就可以用Wing_IDE调试了。

yahooboby 发表于 2019-11-21 00:12:28

不用说,必须收藏,以后会用得上

dionysus 发表于 2019-11-21 09:51:10


不用说,必须收藏,以后会用得上

howardlee 发表于 2019-11-21 10:04:58

多了一个python调试手段,收藏了,谢谢

MAYL8822 发表于 2019-11-21 15:38:47

这个很是可以的

taxuewuhena 发表于 2019-12-2 22:01:05

python调试手段,收藏了,谢谢

天天微笑 发表于 2020-3-3 22:48:56



不用说,必须收藏,以后会用得上

哥又回来了 发表于 2022-2-23 22:54:32

这家伙也用wind ide for python啊。{:lol:}
页: [1]
查看完整版本: Wing_IDE动态调试IDAPython