首页
社区
课程
招聘
[分享]Pyside for IDA6.1
2012-10-11 04:07 13712

[分享]Pyside for IDA6.1

2012-10-11 04:07
13712
由于某些难以启齿的原因, 我相信大家很多用的还是IDA 6.1.
这里是我补丁并编译的Pyside.
一并说一下编译注意事项.
1. 参考Daniel在hexblog上说的开发IDA Qt版本插件的说明, 需要先编译一份自定义的Qt. 据他说主要是因为IDA的脚本函数中有很多q打头的命令比如qstrcmp, qstrcpy等有跟qt的类混淆的危险, 为了以后发展就把所有Qt的类放入了命名空间.
以下是我编译时候用到的开关
configure -release -platform win32-msvc2008 -no-qt3support -qtnamespace QT -fast -opensource -confirm-license -nomake examples -nomake demos -nomake translations
即使关闭demo以后, 编译还是相当消耗时间, 建议用jom -j cpu数量来提高编译速度.
2. 官方提供的补丁不是diff, 是要覆盖用的, 当然, 没有提供原版的供你覆盖. 而pyside的官网早就没有各个阶段版的下载了. 从fedoraproject的源码包列表里面我找到了很多版本, 逐个比较日期接近03/28的包, 尝试Merge补丁进去.
最后确定对应的版本和编译顺序
1 API Extractor, 对应0.10.0 2/18版本, 该包的修改并不明显, 可以比较容易的merge到最新版.
2 generator runner, 对应 0.6.7 3/3号版本, 这个不可以随意换, 版本之间差得很大.
3 shiboken 使用1.0.1版本, 修改日期4/1, 虽然比补丁新, 但是是正确的版本.
4 pyside 使用1.0.1版本, 这个和shiboken要一一对应. 这个包编译耗时较多, 同样建议jom.
5 pyside-tools不需要编译.

编译要求环境是VC2008, 自定义编译的Qt, python, cmake 2.8.
我根据自己的系统路径, 写了把这些工具加入path的批处理.
如果cmake生成makefile过程中出现错误提示 仔细观察, 一般都是find_package没有找到需要的组件, 后面就会提到需要什么定义, 可以打开CMakefile.txt看看对应的命令, 在批处理设置环境变量让他用, 或者-D的方式指定. 不建议直接加到系统里面.

cmake可以用命令行, 也可以在设置好路径和变量的cmd窗口运行gui.
命令行时候, -G "NMake Makefiles JOM"加一个jom就是适配jom

另外需要注意的是, 很多开源的工具都有安装包, 然后这些安装程序都是为了把QtCore4.dll放到系统目录, 或者把自己加到环境变量, 这时候你编译过程会遇到QtCore4.dll无法找到某某符号的弹出框, 解决办法显然就是写信骂作者...



这里是IDA提供的导入表导出表查看脚本执行结果.

第一个包就是和6.2用的版本一样只包含pyd和一些脚本2个dll的package包, 安装方式就是释放到python目录, 会在site-package目录下多出一个pyside, 另一个包是编译后的各种头文件和库什么的, 可以用来扩充pyside本身, 实际使用中IDAPython不需要这些文件.

注意IDAScope用到了IDAPythonforIDA6.2里的一些定义, 要么问作者改, 要么... 我们就找点人来团一份6.3吧? 毕竟6.3多了源码调试功能如果做好了结构定义和vft, 调试时候在F5插件里面查看变量很有用啊.
而IDAToolbag现在版本只能用于6.2的. 作者说了, 想要6.1用, 注释掉ui.py里面timer有关的代码(在self.timer1和self.timer2两句创建语句前, 加个#井号), 当然collaboration功能会不可用.

参考
http://www.hexblog.com/?p=250

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞3
打赏
分享
最新回复 (13)
雪    币: 85199
活跃值: (198520)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
linhanshi 2012-10-11 04:36
2
0
Thanks you.
上传的附件:
雪    币: 219
活跃值: (738)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
viphack 4 2012-10-11 07:04
3
0
mark~~~~~~~~~~~~~
雪    币: 297
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
淡定疯着 2012-10-11 07:34
4
0
板凳都没了
雪    币: 185
活跃值: (405)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fireworld 2012-10-11 08:40
5
0
下载试用下,感谢分享
雪    币: 182
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Aaah 2012-10-11 09:39
6
0
lz辛苦
用Pyside就是想看看IDAScope,结果用起来还是很麻烦
为啥当时作者不用c写呢
雪    币: 225
活跃值: (120)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
hellok 3 2012-10-11 11:04
7
0
感谢分析,当初编译好久都失败了.我也GX个python2.6的
http://dvlabs.tippingpoint.com/img/mindshare/PySide-1.0.8qt473.win32-py2.6.exe
雪    币: 292
活跃值: (302)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yunsini 2012-10-11 12:18
8
0
之前也准备用IDAScope,后来发现需要IDA6。2才行。。。
雪    币: 347
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YwdxY 2012-10-11 19:15
9
0
马克先,感谢LZ分享
雪    币: 1579
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
柔情似水 2012-10-11 23:28
10
0
感谢分享,太强大了,IDA其实我一直不太会,等空了的时候一定要好好学。
雪    币: 3758
活跃值: (3212)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
曾半仙 12 2012-10-11 23:50
11
0
资源贴也拿了精很不好意思 回头发点存货出来 就发仙剑3的文件压缩/解压和剧情字节码的反编译/编译吧
刚好制作的公司都解散了 不怕找麻烦
雪    币: 707
活跃值: (1301)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
qyc 4 2012-10-12 11:48
12
0
期待
雪    币: 107
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Fido 2012-10-13 14:17
13
0
兄弟,赶紧的呀....哈哈.....
雪    币: 240
活跃值: (373)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
sky科 2015-1-19 18:00
14
0
谢谢, 这个能用在IDA6.5上吗 ?
游客
登录 | 注册 方可回帖
返回