-
-
标志位法爆破实例
-
发表于:
2006-7-24 08:56
10031
-
【破文标题】标志位的修改实例
【破文作者】逍遥风
【破解工具】OD
【破解平台】WIN XP
------------------------------------------------------------
修改标志位不是什么新技术。只是发现用的人不多所以简单举例一下,浅显的文章没什么技术含量。只适合和我一样的菜鸟学习.
话不多说,开工
根据错误提示很容易来到关键代码处:
00401223 . 68 FF000000 push 0FF ; /Count = FF (255.)
00401228 . 68 30694000 push 00406930 ; |Buffer = vcrkme01.00406930
0040122D . 68 E8030000 push 3E8 ; |ControlID = 3E8 (1000.)
00401232 . 50 push eax ; |hWnd => 0017068C ('[v0!d] Crackme - v0.01',class='#32770')
00401233 . FFD6 call esi ; \GetDlgItemTextA
00401235 . 8B0D 28694000 mov ecx, [406928] ; 取注册名位数
0040123B . 68 FF000000 push 0FF ; /Count = FF (255.)
00401240 . 68 306A4000 push 00406A30 ; |Buffer = vcrkme01.00406A30
00401245 . 68 EA030000 push 3EA ; |ControlID = 3EA (1002.)
0040124A . 51 push ecx ; |hWnd => 0017068C ('[v0!d] Crackme - v0.01',class='#32770')
0040124B . FFD6 call esi ; \GetDlgItemTextA
0040124D . 68 306A4000 push 00406A30 ; 取输入的注册码的位数
00401252 . 68 30694000 push 00406930 ; ASCII "lovetc"
00401257 . E8 A4FDFFFF call 00401000 ; 算法CALL。就在它身上做文章
0040125C . 83C4 08 add esp, 8
0040125F . 83F8 01 cmp eax, 1 ; EAX中的值与1比较
00401262 . A3 646C4000 mov [406C64], eax
00401267 . 75 65 jnz short 004012CE ; EAX不等于1就注册失败
其中:
0040125F . 83F8 01 cmp eax, 1 ; EAX中的值与1比较
与1进行比较就是检验标志位的内容是否为1
00401267 . 75 65 jnz short 004012CE ; EAX不等于1就注册失败
如果标志位的值不为1就跳向失败。
所以:现在的任务就是让标志位恒为1。
那就在算法CALL上来做做手脚。
跟进算法CALL:
----------------------------------------------------------------------
来到这里
00401000 /$ 53 push ebx
00401001 |. 8B5C24 0C mov ebx, [esp+C]
00401005 |. 55 push ebp
00401006 |. 56 push esi
由于是爆破所以就没必要仔细跟算法了。在算法开始的地方(就是这里)来准备做手术。
注意开头的两段代码:
00401000 /$ 53 push ebx
00401001 |. 8B5C24 0C mov ebx, [esp+C]
把它改成这样:
00401000 /$ 53 mov al, 1
00401001 |. 8B5C24 0C ret
保存修改。
运行修改过的程序,任意输入注册信息
呵呵~~!成功
注意:修改的方法有很多,不仅限于mov al, 1
----------------------------------------------------------------------
与修改关键跳的爆破方法相比,修改标志位法更彻底更有效
但是具也有一定局限性。
总的来说还是一种很不错的方法,掌握起来也很简单
----------------------------------------------------------------------
【版权声明】本文只为流,转载请保留作者及文章完整性
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)