对VC9验证进行分析+追码
本教程由热情洋溢的木木不哭赞助播出(“哎呀我摔倒了要漂亮姐姐亲亲才能起来{:5_187:}”)逆向前言:说实话玩老外的Delphi有点玩逆了,换个口味玩VC,也是个很简单的暂停回溯法,本来是没啥可讲的,但是也好做个例子吧,毕竟很少遇得到
逆向正文:
首先是这样一个界面
我们将第一行编辑框的内容称为注册码(E-mail),第二行编辑框的内容称之为注册码(强迫症,硬要我说邮箱我不顺口)
然后我们注册下 看看会发生什么
我也看不懂写的什么玩意,反正就知道是注册失败就行,因为这个东西是一个信息框 所以暂停法回溯大家都懂的
从这里我看到了是mfc,这个其实不用太在意细节,不管是MFC也好是VC9也好,能用暂停法就是好
回溯到此,对不对?所以我们会需要返回到程序领空,不懂请自行补课
看到这,基本上就可以妥妥的了,前一课讲的恒大定律不知道大家有没有记住呢?复习一边
关键跳上必有关键call,所以我们这回看看从段首分析到这里吧(已做过注释)
00E1243D FFD0 call eax ; 获取活动窗口
00E1243F 8D4D EC lea ecx, dword ptr
00E12442 8BF0 mov esi, eax
00E12444 FF15 F0BC1501 call dword ptr [<&mfc100u.#296>] ; mfc100u.#316
00E1244A 8D4D F0 lea ecx, dword ptr
00E1244D C745 FC 0000000>mov dword ptr , 0x0
00E12454 FF15 F0BC1501 call dword ptr [<&mfc100u.#296>] ; mfc100u.#316
00E1245A 8D4D EC lea ecx, dword ptr
00E1245D 51 push ecx
00E1245E C645 FC 01 mov byte ptr , 0x1
00E12462 8B1D F4B91501 mov ebx, dword ptr [<&mfc100u.#4810>] ; mfc100u.#4810
00E12468 68 2E040000 push 0x42E
00E1246D 8BCF mov ecx, edi
00E1246F FFD3 call ebx ; 获取标题
00E12471 8D55 F0 lea edx, dword ptr
00E12474 52 push edx
00E12475 68 2F040000 push 0x42F
00E1247A 8BCF mov ecx, edi
00E1247C FFD3 call ebx ; 获取注册码到ecx
00E1247E 68 A46F1C01 push 011C6FA4
00E12483 68 D8A51C01 push 011CA5D8
00E12488 8D4D EC lea ecx, dword ptr
00E1248B FF15 D8BA1501 call dword ptr [<&mfc100u.#11683>] ; 获取注册名
00E12491 68 A46F1C01 push 011C6FA4
00E12496 68 D8A51C01 push 011CA5D8
00E1249B 8D4D F0 lea ecx, dword ptr
00E1249E FF15 D8BA1501 call dword ptr [<&mfc100u.#11683>] ; 再次获取注册码
00E124A4 8B45 EC mov eax, dword ptr ; eax为注册名
00E124A7 8378 F4 00 cmp dword ptr , 0x0
00E124AB 7E 72 jle short 00E1251F ; 判断注册名是否为空
00E124AD 8B4D F0 mov ecx, dword ptr ; 获取注册码到ecx
00E124B0 8379 F4 00 cmp dword ptr , 0x0
00E124B4 7E 69 jle short 00E1251F ; 判断注册码是否为空
00E124B6 8D55 F0 lea edx, dword ptr
00E124B9 52 push edx ; 对注册码进行压栈
00E124BA 8D4D EC lea ecx, dword ptr ; ecx=eax=注册名
00E124BD E8 CE40FFFF call 00E06590 ; 关键call
00E124C2 85C0 test eax, eax
00E124C4 74 59 je short 00E1251F
不懂的就看注释了,反正也不是什么很深奥的东西,这些东西都不是什么关键,反正大概的意思就是说获取一个活动窗口,获取控件的内容,判断内容是否为0等等
我们最主要的还是看那个关键call,顺便追码一下,关键跳这里已经找到了,改这里也行,但是还有一个修改点在关键call里面,改那个也可以
具体我们来分析一下
**** Hidden Message *****
至此这个VC就玩完了,是不是感觉没什么新奇的?我也这么觉得,,,但是就是头一次玩感觉还挺有意思的
The Course Come From XuePoJie.CoM
{:5_121:}我不用但是还是支持你
很多人只是针对软件看教程内容,其实他们不知道要多学各种思路才能掌握更多技术。。。 感觉好厉害,我去研究研究 膜拜楼主
我要看看学习一下 支持楼主,多看看思路总是好的。最好玩的还是本地验证跟算法分析,碰到一个算法,分析出来了的那种心情,是用eno err逆向一个FZ的心情比不上的。 拿回去研究一下 学习一下,谢谢分享 好好学习天天向上,最近被一个VC8搞倒了 英文的啊,不如中文版的看起来方便。。