首页
社区
课程
招聘
Reversing MFC App Modified(通用 查找MFC消息事件) Update...
发表于: 2008-11-19 08:46 20636

Reversing MFC App Modified(通用 查找MFC消息事件) Update...

2008-11-19 08:46
20636
Reversing MFC App Modified(通用 查找MFC消息事件)
  
  I've read Externalist's article (Reversing MFC Applications) about searching for Button Event of any MFC applications and gained a lot yesterday.This article introduce the whole process and related principles in details and provide a script in the end.It's no doubt that this script is convenient for us and I wanna give my thanks to the author again.
  However,I have to admit that the whole process is not easy to master because of complex operations.You know,the author used Resource Hacker,Spy Window,OD and finally IDA to analyze and reserve the target in the article.If we follow those steps we'll waste much time definitely especially using IDA to reserve (if our target is not so small).Additionally,these complex operations reduce the adaptation dramatically too.
  
  Actually,it's not necessary to use those comprehensive tools and all we only need is an OD of any version.And as you konw that all we should do is modifying one place manually.To achieve our goal,I've modified the script written by Externalist and done a tutorial to tell you how to use it.Enjoy!
  If you have any questions,please refer to this article Reversing MFC Applications.
  
  Download:
  http://www.tuts4you.com/download.php?view.2509

The steps:
  1.Using OD to open our target and load our script (you'll find a conditional breakpoint in the Breakpoint Window after this step)
  2.Press F9 to run our target and then click "View---Windows" to find Button ID and Window Handle.
  3.Modify the conditional breakpoint manually.
  4.Press the related button and choose "Resume" to execute our script continously when the breakpoint effect.

  All done.
/*
[b][i]OllyScript -  Script to set a Conditional Breakpoint MFC Messages
Author  : Externalist
Modified: Playboysen
Supports : mfc42,mfc71,mfc80,mfc90[/i][/b]
*/ 

var Dll_CodeBase,Condition,BP_Loc,temp
var nMsg,nID,hWnd


/* Edit these lines */
/* Make sure you put a ‘0’ prefix if the hex value starts with an Alphabet */
//--------------------------------------------//
MOV hWnd,"123"	// Window Handle
MOV nMsg,"111"	// WM_COMMAND
MOV nID,"1"	// Resource ID
//--------------------------------------------//


MOV Condition,"([esp+4]=="+nMsg+") && ([ebp+8]=="+nID+") && ([edi+20]==0"+hWnd+")"

GMA "mfc42",CODEBASE
CMP $RESULT,0
JNZ FIND_OPCODE
GMA "mfc42",CODEBASE
CMP $RESULT,0
JNZ FIND_OPCODE
GMA "mfc42",CODEBASE
CMP $RESULT,0
JNZ FIND_OPCODE
GMA "mfc42",CODEBASE
...

附件中:
The script and a target.rar是我们的脚本和一个小练习
Reversing MFC App Modified.rar是我做的一个视频教程

脚本更新:
1.操作更加人性化;
2.查找到消息事件地址时自动下断并且给出提示;

   这个脚本原作出自国外的一个大牛Externalist,我只是为了方便和扩大脚本的易用性而将其加以修改或者说是改进,为了交流的方便,文章和教程都是用英语写的,请谅解

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (33)
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
强贴,得顶,
2008-11-19 09:17
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
支持国际化。
2008-11-19 09:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很好很强大,谢谢
2008-11-19 10:08
0
雪    币: 2056
活跃值: (13)
能力值: ( LV13,RANK:250 )
在线值:
发帖
回帖
粉丝
5
感谢LZ的资料。
2008-11-19 12:16
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
英文版,呵呵,学习
2008-11-19 15:19
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
7
其实我也正在研究一些程序框架的能用分析方法。

此文一定好好学习。
2008-11-19 17:12
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好东西啊12345
2008-11-21 17:52
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
强大,支持,学习
2008-11-21 17:54
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
10
好东西就放pediy,不要UB,而且服务器稳定
2008-11-21 18:42
0
雪    币: 1432
活跃值: (823)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不支持你这样的说法!
2008-11-21 19:38
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
12
兄弟说的其实是有道理的
一蓑烟雨近五天好像出了三次问题了吧

要么直接提示“找不到网页”要么就是打开超慢,大约20分钟才打开主页
当然在版主的努力维护下,很快恢复正常,但是毕竟有一段时间受影响无法登陆

希望尽快把论坛的漏洞补上,以后少出现状况
2008-11-21 19:51
0
雪    币: 453
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
THANKS FOR SHARE
2008-11-29 10:12
0
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
很好的学习资料,顶
2008-11-29 12:19
0
雪    币: 10
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
多谢LZ的分享。
2008-11-29 12:25
0
雪    币: 238
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
不错,好东东,下载试用
2008-11-29 17:06
0
雪    币: 194
活跃值: (350)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好东西,支持一下.最近也在为一个MFC应用的reverse犯愁呢.
2008-11-29 21:20
0
雪    币: 4204
活跃值: (4183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
   好东东~~
2008-11-29 23:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好东西,记号先
2008-12-23 17:48
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
多谢分享。学习
2009-1-6 22:21
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
运行出错 ,错误行号7 ,没有这个命令:GMA "mfc42"CODABASE
2009-1-8 13:13
0
雪    币: 388
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
好东西 强顶~
2009-1-8 19:45
0
雪    币: 1341
活跃值: (3616)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
23
脚本执行错误,DEMO演示中的MFC42.dll版本是6.02.4131.0,对应脚本FIND Dll_CodeBase,#FF7508FF750C??FF7604E8#,我系统里的MFC42.dll版本号是6.06.8063.0,在执行到下面语句时出错
FIND Dll_CodeBase,#FF7508FF750C??FF7604E8#
MOV BP_Loc,$RESULT+A
在版本号是6.06.8063.0的MFC42.dll中找不到#FF7508FF750C??FF7604E8#,所以导致BP_Loc=0A而出现错误。
在版本号是6.06.8063.0的MFC42.dll中应该将脚本修改为
FIND Dll_CodeBase,#FF248554EAEF738B4D08FF#

所以这个脚本还需要完善,把各个版本的MFC42.dll的特征码都收集齐。
2009-1-9 13:22
0
雪    币: 1341
活跃值: (3616)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
24
可能odbgscript版本过低吧,俺的1.65.2没问题。
2009-1-9 15:57
0
雪    币: 193
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
正需要,非常感谢!
2009-1-16 19:13
0
游客
登录 | 注册 方可回帖
返回
//