Fix a Bug For OllyGraph/OllyTraceGraph
2016-04-27 09:38
881 查看
我不知道是否有人跟我有同样的问题,OD的OllyGraph/OllyTraceGraph流程图插件不能使用。我参考此网站(https://bitbucket.org/mrexodia/ollytracegraph)提供的插件源码,修复了这个问题。用OD分别加载OD和IDA,结合插件源码分析,导致错误的原因是缺少命令行参数。作者发布的插件应该是能用的,不知道为什么会变成这样。修复方法:让插件启动函数ShellExecuteW上方的那个CALL,CALL向代码缝隙处(如06442084),添加下面的补丁代码,运行完后再跳往原来要去的地方,
![](https://img-blog.csdn.net/20160427095150532?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
相对于OllyGraph,OllyTraceGraph做了些美化。
![](https://img-blog.csdn.net/20160427095839041?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
相对于IDA,OD中流程图参考还是有优势的,特别是在程序加壳的时候。
06442084 $ 60 pushad 06442085 . 68 00010000 push 0x100 0644208A . 8D9D A0F9FFFF lea ebx,dword ptr ss:[ebp-0x660] 06442090 . 53 push ebx 06442091 . E8 96FFFFFF call <jmp.&ollydbg.StrlenW> ; 获取原字串长度 06442096 . 83C4 08 add esp,0x8 06442099 . 8D3443 lea esi,dword ptr ds:[ebx+eax*2] 0644209C . 8D7E 2E lea edi,dword ptr ds:[esi+0x2E] 0644209F . C707 22000000 mov dword ptr ds:[edi],0x22 ; 尾部加引号 064420A5 . 83EF 02 sub edi,0x2 064420A8 . 83EE 02 sub esi,0x2 064420AB > 66:A5 movs word ptr es:[edi],word ptr ds:[esi] ; 倒着复制字串 064420AD . 83EF 04 sub edi,0x4 064420B0 . 83EE 04 sub esi,0x4 064420B3 . 48 dec eax 064420B4 .^ 75 F5 jnz short OllyGrap.064420AB ; 上跳 原字串后移 064420B6 . 3BDF cmp ebx,edi 064420B8 . 73 40 jnb short OllyGrap.064420FA 064420BA . E8 30000000 call OllyGrap.064420EF ; 下面的命令行参数入栈 064420BF . 2D00 7200 6500 6D00 6>unicode "-remove " 064420CF . 2D00 7400 6900 6D00 6>unicode "-timelim" 064420DF . 6900 7400 2000 3100 3>unicode "it 10 """,0 064420EF $ 5E pop esi ; ollydbg.0040A1B0 064420F0 . 83C6 2C add esi,0x2C 064420F3 . B8 17000000 mov eax,0x17 064420F8 .^ EB B1 jmp short OllyGrap.064420AB ; 上跳 添加命令行参数 064420FA > 61 popad 064420FB .^ E9 30F1FFFF jmp OllyGrap.06441230即使在OD中函数已经被识别,插件图片中的函数指向仍然错误。毕竟不是原生支持。
相对于OllyGraph,OllyTraceGraph做了些美化。
相对于IDA,OD中流程图参考还是有优势的,特别是在程序加壳的时候。
相关文章推荐
- xcode7 如何真机测试
- web与js的简单交互
- velocity使用
- Android 图片传输到服务器与取回
- 计算广告概述
- 【不算奇葩的问题】stm32外部中断一直响应
- linux用户管理之批量添加用户且ftp登陆-nologin
- 图像拼接 Image-based only, no GPS/IMU data
- 团队项目3.0与第六七章读后感
- App内测神器之蒲公英--类似 testFlight fir.im
- SVN 服务器安装问题的解决过程
- div、css圆形头像
- JavaScript 高级技巧
- OSI七层与TCP/IP五层网络架构详解
- offer
- 转载---QRcodeJS生成二维码
- 前端-常用快捷方式
- 最小差
- Xcode7.1环境下上架iOS App到AppStore 流程 (Part 三)
- 域名解析原理及其解析方式