首页
论坛
课程
招聘
[原创]利用wing ide动态调试ida7 python插件
2018-2-11 16:58 4065

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

2018-2-11 16:58
4065
[环境]
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激励机制:能力值、活跃值和雪币体系!会员积分、权限和会员发帖、回帖活跃程度关联!

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 4564
活跃值: 活跃值 (121)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xie风腾 活跃值 2018-2-11 18:20
2
0
来学习了,多谢楼主分享
雪    币: 327
活跃值: 活跃值 (164)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
sxpp 活跃值 1 2018-2-13 17:13
3
0
谢谢楼主
雪    币: 358
活跃值: 活跃值 (121)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
又出bug了 活跃值 2 2018-6-2 02:47
4
0
谢谢楼主的帖子,我在执行调试的时候遇到下列问题,不知道别人有没有遇到过。

雪    币: 233
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
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编辑 ,原因:
雪    币: 358
活跃值: 活跃值 (121)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
又出bug了 活跃值 2 2018-6-5 18:40
6
0
sonnzy 又出bug了 谢谢楼主的帖子,我在执行调试的时候遇到下列问题,不知道别人有没有遇到过。 ida7.0的idapython用python&nbsp ...
谢谢,我去试下
游客
登录 | 注册 方可回帖
返回