首页
论坛
专栏
课程

[原创]利用wing ide动态调试ida7 python插件

2018-2-11 16:58 3313

[原创]利用wing ide动态调试ida7 python插件

2018-2-11 16:58
3313
[环境]
win7 64
ida7下载的是IDA_Pro_v7.0_Portable(网上很多)
Wing IDE PRO 6.0(http://www.ddooo.com/softdown/113892.htm 文件安全未知)
python2.7.13
python安装目录D:\Program Files\Python27
ida7安装目录D:\pjtoolz\IDA_Pro_v7.0_Portable
wing安装目录D:\Program Files (x86)\Wing IDE 6.0

[方法]
1,把 D:\Program Files (x86)\Wing IDE 6.0里的wingdbstub.py不用修改直接复制到
D:\pjtoolz\IDA_Pro_v7.0_Portable\python

2,在D:\Program Files\Python27\Lib\site-packages新建mypath.pth文件
D:\pjtoolz\IDA_Pro_v7.0_Portable\python
D:\pjtoolz\IDA_Pro_v7.0_Portable\python\lib\python2.7\lib-dynload\ida_64
因为 D:\pjtoolz\IDA_Pro_v7.0_Portable 有很多sdk需要让wing ide识别,所以要把路径加进来

3,在D:\pjtoolz\IDA_Pro_v7.0_Portable\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()

注意下面2句的位置
import wingdbstub
wingdbstub.Ensure()

4,在wing ide左下角选中accept debug connections,然后启动ida.exe,随便载入一个idb或exe文件进行分析.运行上面的插件Sample Debuggee(之前必须在wing ide里设置好断点比如在msg(var1)的位置), 这时wing ide就会下断.其实只要在 wingdbstub.Ensure() 语句之后下断点,都可以中断下来


试了vs2017+ida7,无法下断,如果谁有更好的方法,请回帖告知谢谢
ida7用了pyqt5的gui,更加方便开发gui插件,以后版本的ida界面也用pyqt5开发了





2020安全开发者峰会(2020 SDC)议题征集 中国.北京 7月!

最新回复 (5)
xie风腾 2018-2-11 18:20
2
0
来学习了,多谢楼主分享
sxpp 1 2018-2-13 17:13
3
0
谢谢楼主
又出bug了 2 2018-6-2 02:47
4
0
谢谢楼主的帖子,我在执行调试的时候遇到下列问题,不知道别人有没有遇到过。

sonnzy 2018-6-5 09:48
5
0
又出bug了 谢谢楼主的帖子,我在执行调试的时候遇到下列问题,不知道别人有没有遇到过。
ida7.0的idapython用python  2.7.13    64位,
还有就是你编写的插件不能直接在wingide运行,要从ida启动
最后于 2018-6-5 09:49 被sonnzy编辑 ,原因:
又出bug了 2 2018-6-5 18:40
6
0
sonnzy 又出bug了 谢谢楼主的帖子,我在执行调试的时候遇到下列问题,不知道别人有没有遇到过。 ida7.0的idapython用python&nbsp ...
谢谢,我去试下
游客
登录 | 注册 方可回帖
返回