野猫III 发表于 2006-7-20 23:15:30

Fix_一个CrackMe的爆破手记(不完全爆破) by 网游难民

在兄弟的分析基础上咱进行以下修改。

一、程序开始运行时Nag的去除~
00402B90      55            PUSH EBP  //改成retn
00402B91   .8BEC          MOV EBP,ESP
00402B93   .83EC 0C       SUB ESP,0C
00402B96   .68 16114000   PUSH <JMP.&MSVBVM60.__vbaExceptH>;SE 处理程序安装
+++++++++++++++++++++改后的效果
00402B90      C3            RETN
00402B91   .8BEC          MOV EBP,ESP
00402B93   .83EC 0C       SUB ESP,0C
00402B96   .68 16114000   PUSH <JMP.&MSVBVM60.__vbaExceptH>;SE 处理程序安装

二、注册暴破(里面的文字了,所以不对文字检测进行暴破,点注册就行了。)
+++++++++++++++++++++++++++++
004029A7   . /75 29                     JNZ SHORT crackme_.004029D2 //Nop掉!
004029A9   .FF91 04030000             CALL DWORD PTR DS:
-------------------Nop后的效果!
004029A7      90                        NOP
004029A8      90                        NOP
004029A9   .FF91 04030000             CALL DWORD PTR DS:

三、关闭时的弹出网页Nag的去除。
+++++++++++++++++++++++++++++

00402AD1   /75 10                     JNZ SHORT crackme_.00402AE3 //改绝对跳到:00402B4B
00402AD3   . |68 10404000               PUSH crackme_.00404010
00402AD8   . |68 E0174000               PUSH crackme_.004017E0
00402ADD   . |FF15 8C104000             CALL DWORD PTR DS:[<&MSVBVM60.__>;MSVBVM60.__vbaNew2
00402AE3   > \8B35 10404000             MOV ESI,DWORD PTR DS:
++++++++++++++++改后~
00402AD1   /EB 78                     JMP SHORT crackme_.00402B4B 
//因为那里是程序退出的Call.直接跳到那~ 爽吧!
00402AD3   . |68 10404000               PUSH crackme_.00404010
00402AD8   . |68 E0174000               PUSH crackme_.004017E0

+++++++++++++++++

不错的一次学习!谢谢兄弟~~~

+++++++++++++++++
演示手记:
00402B90      C3            RETN                                     ;这是代码入口~改成Retn!
00402B91   .8BEC          MOV EBP,ESP                              ;没有Nag了~

004029A4   .50            PUSH EAX
004029A5   .8B08          MOV ECX,DWORD PTR DS:
004029A7      90            NOP                                    ;关键跳转~
004029A8      90            NOP
004029A9   .FF91 04030000 CALL DWORD PTR DS:

00402AD1   /EB 7E         JMP SHORT crackme_.00402B51            ;把这改成大跳~
00402AD3   . |68 10404000   PUSH crackme_.00404010
00402AD8   . |68 E0174000   PUSH crackme_.004017E0
00402ADD   . |FF15 8C104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaNew2>>;MSVBVM60.__vbaNew2


00402B51   .897D FC       MOV DWORD PTR SS:,EDI             ;VB函数退出~


或:

00402A80   /E9 CC000000   JMP crackme_.00402B51                  ;一样的效果!
00402A85   |90            NOP
00402A86   . |68 16114000   PUSH <JMP.&MSVBVM60.__vbaExceptHandler>;SE 处理程序安装
00402A8B   . |64:A1 0000000>MOV EAX,DWORD PTR FS:

不知道这样行不。不行,出错!

OK,Bin!@

by WildCatIII
2006-07-20

[ 本帖最后由 野猫III 于 2006-7-20 23:58 编辑 ]

战佛 发表于 2006-7-20 23:22:28

这个是难民写的啊,郁闷了,,,我也要抓把劲.............

网游难民 发表于 2006-7-22 02:58:41

试过了,猫兄这样改在软件退出是比我的快,很流畅,我破的那个退出时好象有点卡~~
正在弄那个第二个crackme,字符串加密了~~~
明天发上来~~

majun1980 发表于 2008-5-2 00:50:16

brave5168 发表于 2008-10-2 00:44:02

辛苦了,楼主.收下了~~~
页: [1]
查看完整版本: Fix_一个CrackMe的爆破手记(不完全爆破) by 网游难民