小柯师傅 发表于 2015-7-4 00:28

对话框调用规约浅析

本帖最后由 小柯师傅 于 2015-7-4 21:15 编辑

2015.07.03【VC】
      大家好,小弟属逆向小白,这篇笔记完全属于抛砖性质的,希望大家提提意见。      来论坛不久,发现大量的逆向文章都是针对易语言 的窗口替换(PUSH法),虽然有一定局限性,但也不失一种方法。
所以看下原生的Win32程序中的对话框的调用约定也来模仿替换,结果也成功了。

      用VS2008建了一个含2种对话框的程序, 分析对话框入口,发现有5个参数需要PUSH(这些东西其实并不需要逆向才可以知道,如果你对windows核心编程很熟,那你直接就查SDK好了), 如果2个对话框属于同个句柄衍生出来的,改2个PUSH就可以移花接木了:-)
   看到没有我把上面那2个PUSH,改为和下面2个PUSH的参数一样,那点上面对话框就会生成的下面的对话框:-)

-------------------------------------------------------------------------------------------------------------------------------------------------------
2015.07.04
【MFC】
   今天用VS2008(MFC90)又生成了个MFC程序来分析对话框。
   可以发现MFC程序是用MOV来传送的,共有3个参数需要在JMP前传送。只修改1个就可以决定跳去的对话框,但回来的指针也要修改。如下图。









小柯师傅 发表于 2015-7-4 00:41

本帖最后由 小柯师傅 于 2015-7-4 21:16 编辑

2015.07.04下午【VB】----------------------------------------------------------------------------------------------------

    没事再次新建了个VB6.0的CrackMe来分析,也通过修改指针替换成功了对话框(VB Form窗体),具体请看下面2张图,   CTRL+B, 0x816C24,就可以来到所有按钮的入口。
   一张是成功对话框的入口,一张是失败的入口.

    应坛友要求,上传对应的CrackMe,可以对照修改并给出意见,你们的意见是我的动力{:6_200:}




1072560919 发表于 2015-7-4 00:34

好思路      

无坚不破 发表于 2015-7-4 08:41

楼主还谦虚自己是小白,俺这个小白怎么完全都不懂这些啊

菜鸟中的菜鸟 发表于 2015-7-4 09:04

楼主说的是MFC的程序吧?

小柯师傅 发表于 2015-7-4 09:16

菜鸟中的菜鸟 发表于 2015-7-4 09:04
楼主说的是MFC的程序吧?

已经增加MFC90(VS2008)的分析.

菜鸟中的菜鸟 发表于 2015-7-4 09:36

小柯师傅 发表于 2015-7-4 09:16
已经增加MFC90(VS2008)的分析.
哥们,把那个MFC静态release编译出来的程序发上来吧,只看代码看不出来什么的,发上来,比着你的教程,练习一下。百度网盘吧。

哎呦呦 发表于 2015-7-4 09:53

看不懂楼主说什么

小柯师傅 发表于 2015-7-4 09:58

哎呦呦 发表于 2015-7-4 09:53
看不懂楼主说什么

不好意思,这是我小白对对话框的一点浅显的分析,实际情况千差万别,因为不同的编译器对Win32核心API的调用是不同的,所以希望大家把自己的“好货”倒点出来啊{:6_223:}

哎呦呦 发表于 2015-7-4 10:04

小柯师傅 发表于 2015-7-4 09:58
不好意思,这是我小白对对话框的一点浅显的分析,实际情况千差万别,因为不同的编译器对Win32核心API的调 ...

{:5_184:}菜鸟我看不懂啊
页: [1] 2 3
查看完整版本: 对话框调用规约浅析