飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 17132|回复: 42

[分享] 收集的关于考试宝典破解文章,给需要的朋友

  [复制链接]

该用户从未签到

发表于 2009-7-22 18:12:06 | 显示全部楼层 |阅读模式
安装好原程序后,拿这个覆盖上去就OK了。
怎么改?呵呵,低级的技术了。脱壳后直接找关键字眼,顺藤摸瓜找到关键跳,直接NOP或者改
相反的,功能就打开了。这个软件也许我的一个朋友,她也学护理的,呵呵,说不定能用上
啊。  气死我了,网速突然太慢了。传不上来,等等,好东西等会再发上来。

第一处:试题查找功能开启
00544BE0   .  E8 8BFDFFFF   call    00544970
00544BE5   .  84C0          test    al, al
00544BE7   .  74 1B         je      short 00544C04
00544BE9   .  C783 4C020000>mov     dword ptr [ebx+24C], 1
00544BF3   .  EB 0F         jmp     short 00544C04————————————这里是我已经改好的了
00544BF5   .  B8 344C5400   mov     eax, 00544C34                    ;  软件注册后才能使用试题查找功能
00544BFA   .  E8 A5D4F9FF   call    004E20A4
00544BFF   .  E8 FCE2FFFF   call    00542F00
00544C04   >  33C0          xor     eax, eax

第二处:模拟考试功能开启
0058A5C0   .  E8 E7F3FFFF   call    005899AC
0058A5C5   .  84C0          test    al, al
0058A5C7   .  74 1B         je      short 0058A5E4
0058A5C9   .  C783 4C020000>mov     dword ptr [ebx+24C], 1
0058A5D3   .  EB 0F         jmp     short 0058A5E4————————————这里是我已经改好的了
0058A5D5   .  B8 54A65800   mov     eax, 0058A654                    ;  软件注册后才能使用模拟考试功能
0058A5DA   .  E8 C57AF5FF   call    004E20A4
0058A5DF   .  E8 1C89FBFF   call    00542F00
0058A5E4   >  33C0          xor     eax, eax

第三处:考试宝典功能开启
0058CC01   .  8945 EC       mov     dword ptr [ebp-14], eax
0058CC04   .  8B45 EC       mov     eax, dword ptr [ebp-14]
0058CC07   .  E8 C81FF5FF   call    004DEBD4
0058CC0C   .  84C0          test    al, al
0058CC0E   .  EB 0A         jmp     short 0058CC1A————————————这里是我已经改好的了
0058CC10   .  B8 F4CC5800   mov     eax, 0058CCF4                    ;  未注册版考试宝典不能察看此资料内容,请您注册。
0058CC15   .  E8 F64AF5FF   call    004E1710
0058CC1A   >  33C0          xor     eax, eax

第四处:注册成功标志打开
0058E5A4   .  E8 2B06F5FF   call    004DEBD4
0058E5A9   .  84C0          test    al, al
0058E5AB   .  90            nop————————————这里是我已经改好的了
0058E5AC   .  90            nop————————————这里是我已经改好的了
0058E5AD   .  8D45 F4       lea     eax, dword ptr [ebp-C]
0058E5B0   .  B9 44E65800   mov     ecx, 0058E644                    ;  [已注册]
0058E5B5   .  8B55 F8       mov     edx, dword ptr [ebp-8]
0058E5B8   .  E8 676EE7FF   call    00405424
0058E5BD   .  8B55 F4       mov     edx, dword ptr [ebp-C]
0058E5C0   .  8BC3          mov     eax, ebx
0058E5C2   .  E8 2DC1F2FF   call    004BA6F4
0058E5C7   .  EB 1F         jmp     short 0058E5E8
0058E5C9   .  8D45 F0       lea     eax, dword ptr [ebp-10]
0058E5CC   .  B9 58E65800   mov     ecx, 0058E658                    ;  [未注册]
0058E5D1   .  8B55 F8       mov     edx, dword ptr [ebp-8]
0058E5D4   .  E8 4B6EE7FF   call    00405424

完了

如此一来,管它注册不注册呢?呵呵,功能和外观跟注册码注册的没什么差别。只是手段太低劣了......  

软件在提取题目的时候还会进行是否注册的判断,如果未注册侧最多只能试做一题,在帮助中是写着的。可用如下方法破解

1、所有功能开启
004DEBD4      40            inc     eax
004DEBD5      90            nop
004DEBD6      90            nop
004DEBD7      90            nop
004DEBD8      90            nop

2、多考题开启
0051D5F2      8B55 F8       mov     edx, dword ptr [ebp-8]         ;单选题功能开启
0051E372      8B55 F8       mov     edx, dword ptr [ebp-8]         ;多选题功能开启
005213AE      8B55 F8       mov     edx, dword ptr [ebp-8]         ;是非题功能开启
00521F72      8B55 F8       mov     edx, dword ptr [ebp-8]         ;名词解释功能开启
00522B22      8B55 F8       mov     edx, dword ptr [ebp-8]         ;填空题功能开启
0052823E      8B55 F8       mov     edx, dword ptr [ebp-8]         ;配伍选择题功能开启

需要软件的化我在传上来。  

1、用PEid查壳,是ASPack2.12,寻找专用工具脱壳,我用的是AspackDie脱的。
2、试用软件,在试用软件的过程中,通过帮助注意到,未注册软件与为注册软件的一个区别是,未注册软件应用程序窗口顶部有[未注册]字样,已注册软件为[已注册],以此为突破口,破解对功能的限制。
3、使用W32dsm  反汇编exe 在其中搜索 “未注册”字样。来到如下代码处。

CODE:0058E5A4                 call    004DEBD4
CODE:0058E5A9                 test    al, al
CODE:0058E5AB                 jz      short 0058E5C9   ;如果al 为 0侧跳转未注册,如果al不为 0 侧跳转已注册。
CODE:0058E5AD                 lea     eax, [ebp-0Ch]

* Possible StringData Ref from Code Obj -> “[已注册]”

CODE:0058E5B0                 mov     ecx, offset dword_58E644
CODE:0058E5B5                 mov     edx, [ebp-8]
CODE:0058E5B8                 call    sub_405424
CODE:0058E5BD                 mov     edx, [ebp-0Ch]
CODE:0058E5C0                 mov     eax, ebx
CODE:0058E5C2                 call    sub_4BA6F4
CODE:0058E5C7                 jmp     short loc_58E5E8
CODE:0058E5C9 ; ---------------------------------------------------------------------------

* Possible StringData Ref from Code Obj -> “[未注册]”

CODE:0058E5C9
CODE:0058E5C9 loc_58E5C9:                             ; CODE XREF: CODE:0058E5AB j
CODE:0058E5C9                 lea     eax, [ebp-10h]
CODE:0058E5CC                 mov     ecx, offset dword_58E658
CODE:0058E5D1                 mov     edx, [ebp-8]
CODE:0058E5D4                 call    sub_405424
CODE:0058E5D9                 mov     edx, [ebp-10h]
CODE:0058E5DC                 mov     eax, ebx
CODE:0058E5DE                 call    sub_4BA6F4
CODE:0058E5E3                 call    sub_542F00
CODE:0058E5E8
CODE:0058E5E8 loc_58E5E8:                             ; CODE XREF: CODE:0058E5C7 j

可见红色部分为是否注册的逻辑重点。

跳转到call    004DEBD4 地址为是否注册的关键函数,跳转到 004DEBD4 看看。
004DEBD4 proc near
call    004DEDC4
retn
sub_4DEBD4 endp

由此看来应用程序调用 004DEBD4 程序,通过该程序的反回值(存放于eax中,这里只使用了al第8位)来判断程序是否注册。

在W32dsm继续搜索“未注册”几个子,发现所有判断均是在 004DEBD4 函数调用后做出的,可见 004DEBD4 是程序注册判断的关键函数,只要该函数返回非零侧判断为已注册,因此只需简单的修改函数另其始终放回非零值即可。修改如下:

004DEBD4      40            inc     eax
004DEBD5      90            nop
004DEBD6      90            nop
004DEBD7      90            nop
004DEBD8      90            nop

eax 始终非零,有点偷懒了。运行一下看看,果然所有功能均可使用了,而且软件启动时也不会弹出注册窗口了。


但是,在使用过程中确发现模拟考试,及课后练习所有题形只有一题,故破解还不完全。分析原因:软件在未注册情况下仍然可以使用课后练习功能,同样每种题形只用一体,同时查看其帮助得知,在未注册情况下软件不会完全显示习题。为了保证处理的一致性,软件的作者应该是使用了两个函数分别处理软件功能是否可用的判断及课后练习及模拟考试习题是否完全显示的逻辑处理。因此对习题的处理必须重新查找切入点。

8、查找习题开启的切入点。
观察其安装后的目录结构,发现在Data 目录下存在文件 Maindb.db 文件,从文件的大小及命名上分析可知,Maindb.db就是该程序的数据文件。用记事本打开,果然存在数据表的定义,而且在安装目录下有这样一个dll : KSBAOSQL.dll ,喔!SQL,似乎存在SQL语句的处理。马上进入 W32dsm 搜索 “Select”字符串。果然存在许多Select语句。逐一查看所有Select语句。来到如下地址:

* Possible StringData Ref from Code Obj  “WHERE A.[StyleID]=%d %s ORDER BY RANDOM() LIMIT %d”
mov    ecx,   offset    0051D46C

* Possible StringData Ref from Code Obj  “Select …(不写了,自己看一下,偷个懒)”
mov    edx,   dword   ptr[00597AF4]

查询与测试相关的两个表 AllTest 及 ATest,AllTest是所有测试题,ATest似乎是A选项的测试题。然后以一个参数限制其选择的题目总数 LIMIT %d 。这不正式我们需要的吗。哈哈,似乎找到点线索了。继续向下看,更加吸引人的字符串出现了。
* Possible StringData Ref from Code Obj “正在生成题…”
0051D898    Mov ecx, 0051D9E8

好就这里了。打开OllyICE,装载应用程序,在 0051D898 下断点。F9运行,进入程序后打开“模拟考试功能”,将除单选题外的所有题目数量删除(可以降低分析的复杂性),单击“开始考试”。程序断在了0051D898  B9 E8D95100   mov   ecx, 0051D9E8处。
Alt+F9 执行到返回,程序定位到 0051D414   E8 87000000   call    0051D4A0
0051D4A0 该函数就是 单选题生成函数了。

在0051D414处下断,重新运行函数,进入 0051D4A0。喔,此时EDX寄存器指向的地址似乎与查询密切相关,在数据窗口中跟随该寄存器的值:
010E91D4  53 45 4C 45 43 54 20 41 2E 5B 41 6C 6C 54 65 73  SELECT A.[AllTes
010E91E4  74 49 44 5D 2C 41 2E 45 70 6C 49 44 20 41 53 20  tID],A.EplID AS
010E91F4  5B 41 6C 6C 54 65 73 74 5F 45 70 6C 49 44 5D 2C  [AllTest_EplID],
010E9204  41 2E 49 6D 67 49 44 20 41 53 20 5B 41 6C 6C 54  A.ImgID AS [AllT
010E9214  65 73 74 5F 49 6D 67 49 44 5D 2C 42 2E 5B 41 54  est_ImgID],B.[AT
010E9224  65 73 74 49 44 5D 2C 42 2E 5B 4D 61 69 6E 74 69  estID],B.[Mainti
010E9234  74 6C 65 5D 2C 42 2E 5B 41 5D 2C 42 2E 5B 42 5D  tle],B.[A],B.[B]
010E9244  2C 42 2E 5B 43 5D 2C 42 2E 5B 44 5D 2C 42 2E 5B  ,B.[C],B.[D],B.[
010E9254  45 5D 2C 42 2E 5B 46 5D 2C 42 2E 5B 41 6E 73 77  E],B.[F],B.[Answ
010E9264  65 72 5D 2C 42 2E 5B 49 74 65 6D 4E 75 6D 5D 2C  er],B.[ItemNum],
010E9274  43 2E 5B 45 78 70 6C 61 69 6E 5D 20 46 52 4F 4D  C.[Explain] FROM
010E9284  20 5B 41 6C 6C 54 65 73 74 5D 20 41 20 49 4E 4E   [AllTest] A INN
010E9294  45 52 20 4A 4F 49 4E 20 5B 41 54 65 73 74 5D 20  ER JOIN [ATest]
010E92A4  42 20 4F 4E 20 41 2E 5B 54 61 62 6C 65 49 44 5D  B ON A.[TableID]
010E92B4  3D 42 2E 5B 41 54 65 73 74 49 44 5D 20 4C 45 46  =B.[ATestID] LEF
010E92C4  54 20 4A 4F 49 4E 20 5B 45 78 70 6C 61 69 6E 5D  T JOIN [Explain]
010E92D4  20 43 20 4F 4E 20 41 2E 5B 45 70 6C 49 44 5D 3D   C ON A.[EplID]=
010E92E4  43 2E 5B 45 70 6C 49 44 5D 20 57 48 45 52 45 20  C.[EplID] WHERE
010E92F4  41 2E 5B 53 74 79 6C 65 49 44 5D 3D 31 20 20 4F  A.[StyleID]=1  O
010E9304  52 44 45 52 20 42 59 20 52 41 4E 44 4F 4D 28 29  RDER BY RANDOM()
010E9314  20 4C 49 4D 49 54 20 31 30                       LIMIT 10

这就是我们希望的查询语句了,并且考题数目多少也是我们定义的数量(LIMIT 10),看来未注册时限制考题数量只有一题(LIMIT 1)必然也是在该函数中动态判断后生成的,这下简单了,只要找到包含LIMIT 1 的Select语句就可以了。将栈锁定在ebp附近,观察局部变量的变化情况,一路走下去。来到如下位置:

0051D5E4     8B4D C8        mov     ecx, dword ptr [ebp-38]
0051D5E7     8B55 E4        mov     edx, dword ptr [ebp-1C]
0051D5EA     8B45 F8        mov     eax, dword ptr [ebp-8]
0051D5ED     E8 763BFCFF   call    004E1168
0051D5F2     8B55 E8        mov     edx, dword ptr [ebp-18]

当跟踪到0051D5F2时,发现 call 004E1168 函数调用修改了 ebp-18 这个局部变量,修改后的值为:
010DEE0C  53 45 4C 45 43 54 20 41 2E 5B 41 6C 6C 54 65 73  SELECT A.[AllTes
010DEE1C  74 49 44 5D 2C 41 2E 45 70 6C 49 44 20 41 53 20  tID],A.EplID AS
010DEE2C  5B 41 6C 6C 54 65 73 74 5F 45 70 6C 49 44 5D 2C  [AllTest_EplID],
010DEE3C  41 2E 49 6D 67 49 44 20 41 53 20 5B 41 6C 6C 54  A.ImgID AS [AllT
010DEE4C  65 73 74 5F 49 6D 67 49 44 5D 2C 42 2E 5B 41 54  est_ImgID],B.[AT
010DEE5C  65 73 74 49 44 5D 2C 42 2E 5B 4D 61 69 6E 74 69  estID],B.[Mainti
010DEE6C  74 6C 65 5D 2C 42 2E 5B 41 5D 2C 42 2E 5B 42 5D  tle],B.[A],B.[B]
010DEE7C  2C 42 2E 5B 43 5D 2C 42 2E 5B 44 5D 2C 42 2E 5B  ,B.[C],B.[D],B.[
010DEE8C  45 5D 2C 42 2E 5B 46 5D 2C 42 2E 5B 41 6E 73 77  E],B.[F],B.[Answ
010DEE9C  65 72 5D 2C 42 2E 5B 49 74 65 6D 4E 75 6D 5D 2C  er],B.[ItemNum],
010DEEAC  43 2E 5B 45 78 70 6C 61 69 6E 5D 20 46 52 4F 4D  C.[Explain] FROM
010DEEBC  20 5B 41 6C 6C 54 65 73 74 5D 20 41 20 49 4E 4E   [AllTest] A INN
010DEECC  45 52 20 4A 4F 49 4E 20 5B 41 54 65 73 74 5D 20  ER JOIN [ATest]
010DEEDC  42 20 4F 4E 20 41 2E 5B 54 61 62 6C 65 49 44 5D  B ON A.[TableID]
010DEEEC  3D 42 2E 5B 41 54 65 73 74 49 44 5D 20 4C 45 46  =B.[ATestID] LEF
010DEEFC  54 20 4A 4F 49 4E 20 5B 45 78 70 6C 61 69 6E 5D  T JOIN [Explain]
010DEF0C  20 43 20 4F 4E 20 41 2E 5B 45 70 6C 49 44 5D 3D   C ON A.[EplID]=
010DEF1C  43 2E 5B 45 70 6C 49 44 5D 20 57 48 45 52 45 20  C.[EplID] WHERE
010DEF2C  41 2E 5B 53 74 79 6C 65 49 44 5D 3D 31 20 20 4F  A.[StyleID]=1  O
010DEF3C  52 44 45 52 20 42 59 20 52 41 4E 44 4F 4D 28 29  RDER BY RANDOM()
010DEF4C  20 4C 49 4D 49 54 20 31                          LIMIT 1

Select … LIMIT 1,哈,终于出现了,函数004E1168 就是最终SQL语句的装配函数了。那修改 004E1168 函数就可以了。其实没必要,观察发现,此时 [ebp-8] 局部变量还存放着最初的SQL 语句(Select…LIMIT 10),那是不是只要将 :
0051D5F2   8B55 E8   mov   edx, dword ptr [ebp-18]-----存放修改后的SQL语句。
改为:
0051D5F2   8B55 E8   mov   edx, dword ptr [ebp-8]-----存放最初的SQL语句。
就可以呢?

改改看猜测是否正确。修改后重新运行,10个单选题终于出来了。其它题目的破解都使用同样的做法。  

【原创】考试宝典类软件的破解        

--------------------------------------------------------------------------------

【整理作者】 ?頽廢ヾ
【作者邮箱】 faye_3762@163.com
【使用工具】 PEID,ollydbg1.10,LordPE,ImportREC
【破解平台】 Windows Vista SP2
【软件名称】 某公务员考试宝典
【下载地址】 www.ksbao.com
【加壳方式】 ASPack 2.12
【破解说明】

     随着各行业的职称考试临近,网上广为流传的 “宝典”类软件很是热门,,此软件,做的很简洁,占用空间小,速度很快,主要是题量很丰富,嗯,很实用的。
记得以前老婆急着用的时候我也找过N多的”破解版”不过,都是骗人的,仅仅是把未注册三个字改成了已注册,有些甚至还注册弹窗都没有去除~~然后破解人就给放出来了….而题量还是未注册版的仅仅一道题,哎~~~
不过想了想,软件商黑心,这些考试宝典类的软件最少的也要88元,一般的注册费用一度攀升到了现在的128元左右了,真的,用这些钱,不如去新华买上三本厚厚的专业考试用书,来得塌实….
这并不是,驱使我放出破解方法的原因,主要还是因为,有太多的朋友需要,嗯,希望能给忙着参加职称考试的朋友带来帮助.。。
进入正题吧。(以下,主要以图说明吧某种意义上讲,图能更好理解….)
↓↓此软件是典型的“重启验证”,注册后,注册码放在安装目录里面的一个隐藏的INI文件里了….这些我没有过多的研究,下面是通过修改程序来达到破解目的的。



查壳为ASPack 2.12 ---压缩壳。



OD载入,ESP定律来到OEP。。。





LordPE脱,importREC修复,或者OD插件的第二种方式脱可以不用修复就能运行….
载入脱 壳后程序。
查找ASCII码,,



双击正式版,来到程序



Je上面的关键CALL下F2断点,F9运行,F7进入

从第一行开始改,,
0054D87C    55              push    ebp                              
0054D87D    8BEC            mov     ebp, esp
0054D87F    E8 08020000     call    0054DA8C
此处改为
0054D87C    40              inc     eax                           
0054D87D    C3              retn





保存。
OD载入修改后程序。查找ASCII码。。“正在生成….”

双击“正在生成单选题………….”来到,





向上找段首



0055B0F8处为段首,下F2断点,
F9运行,程序跑起来之后点击”模拟考试。。“输入大于1的题量,我这里输入88道题便于区分….



点击开始考试,程序运行,断在了0055B0F8处!!此时F8往下跟…
0055B0F8    55              push    ebp
0055B0F9    68 B4B15500     push    0055B1B4
0055B0FE    64:FF30         push    dword ptr fs:[eax]
0055B101    64:8920         mov     dword ptr fs:[eax], esp
0055B104    FF75 F0         push    dword ptr ss:[ebp-10]         ; (初始 cpu 选择)
(跟到些处,看FPU里的EDX,然后点数据窗口跟随,如下图)



[ebp-10 ]=88(88道题)

0055B107    8D45 DC         lea     eax, dword ptr ss:[ebp-24]
0055B10A    8B15 A8FF5C00   mov     edx, dword ptr ds:[5CFFA8]       ; 1.005CEF60
0055B110    E8 53A8EAFF     call    00405968
0055B115    8B45 DC         mov     eax, dword ptr ss:[ebp-24]
0055B118    8D4D E0         lea     ecx, dword ptr ss:[ebp-20]
0055B11B    8B15 5CFD5C00   mov     edx, dword ptr ds:[5CFD5C]       ; 1.005CF320
0055B121    0FB712          movzx   edx, word ptr ds:[edx]
0055B124    E8 470FFDFF     call    0052C070
0055B129    FF75 E0         push    dword ptr ss:[ebp-20]
0055B12C    8D45 D8         lea     eax, dword ptr ss:[ebp-28]
0055B12F    E8 6447FFFF     call    0054F898
0055B134    FF75 D8         push    dword ptr ss:[ebp-28]
0055B137    8D45 FC         lea     eax, dword ptr ss:[ebp-4]
0055B13A    BA 03000000     mov     edx, 3
0055B13F    E8 70A9EAFF     call    00405AB4
0055B144    6A 00           push    0
0055B146    8D45 D4         lea     eax, dword ptr ss:[ebp-2C]
0055B149    50              push    eax
0055B14A    8D45 CC         lea     eax, dword ptr ss:[ebp-34]
0055B14D    8B15 A8FF5C00   mov     edx, dword ptr ds:[5CFFA8]       ; 1.005CEF60
0055B153    E8 10A8EAFF     call    00405968
0055B158    8B45 CC         mov     eax, dword ptr ss:[ebp-34]
0055B15B    8D4D D0         lea     ecx, dword ptr ss:[ebp-30]
0055B15E    8B15 5CFD5C00   mov     edx, dword ptr ds:[5CFD5C]       ; 1.005CF320
0055B164    0FB712          movzx   edx, word ptr ds:[edx]
0055B167    E8 040FFDFF     call    0052C070
0055B16C    8D45 D0         lea     eax, dword ptr ss:[ebp-30]
0055B16F    50              push    eax
0055B170    8D45 C8         lea     eax, dword ptr ss:[ebp-38]
0055B173    E8 D45DFFFF     call    00550F4C
0055B178    8B55 C8         mov     edx, dword ptr ss:[ebp-38]
0055B17B    58              pop     eax
0055B17C    E8 6BA8EAFF     call    004059EC
0055B181    8B55 D0         mov     edx, dword ptr ss:[ebp-30]
0055B184    33C9            xor     ecx, ecx
0055B186    8B45 FC         mov     eax, dword ptr ss:[ebp-4]
0055B189    E8 6AF9FCFF     call    0052AAF8
0055B18E    8B55 D4         mov     edx, dword ptr ss:[ebp-2C]
0055B191    8D45 FC         lea     eax, dword ptr ss:[ebp-4]
0055B194    E8 03A6EAFF     call    0040579C
0055B199    8B55 FC         mov     edx, dword ptr ss:[ebp-4]
(跟到此处,看FPU点EDX数据窗口跟随看下图)



[ebp-4] = 1(1道题)

&&&&&
如果我们把ebp-4改成ebp-10那么会怎样??
可以试试的…..
下面,就没有必要再跟了…..嗯,
字符串里面,有“正在生成单选题…..多选题,A型题,B型题,X型题…..可以一步步来改,
上面是破解单选题的题 量,如果再来到多选题,一定会发现相同之处:
多选题:
0055B199    8B55 FC         mov     edx, dword ptr ss:[ebp-4]
0055B19C    8B45 F4         mov     eax, dword ptr ss:[ebp-C]
0055B19F    8B08            mov     ecx, dword ptr ds:[eax]
0055B1A1    FF51 04         call    dword ptr ds:[ecx+4]
0055B1A4    8945 E8         mov     dword ptr ss:[ebp-18], eax
0055B1A7    33C0            xor     eax, eax
A型题:
0055B199    8B55 FC         mov     edx, dword ptr ss:[ebp-4]
0055B19C    8B45 F4         mov     eax, dword ptr ss:[ebp-C]
0055B19F    8B08            mov     ecx, dword ptr ds:[eax]
0055B1A1    FF51 04         call    dword ptr ds:[ecx+4]
0055B1A4    8945 E8         mov     dword ptr ss:[ebp-18], eax
0055B1A7    33C0            xor     eax, eax
B型题:
0055B199    8B55 FC         mov     edx, dword ptr ss:[ebp-4]
0055B19C    8B45 F4         mov     eax, dword ptr ss:[ebp-C]
0055B19F    8B08            mov     ecx, dword ptr ds:[eax]
0055B1A1    FF51 04         call    dword ptr ds:[ecx+4]
0055B1A4    8945 E8         mov     dword ptr ss:[ebp-18], eax
0055B1A7    33C0            xor     eax, eax
X型题……………..

不如用UE来改程序吧…
目的是把标志位的[ebp-4]改成[ebp-10]
为了能够让UE准确的确定位置,我们需要,把前后相同的二进程字符串都加进来,这样不容易改错…
8B55FC8B45F48B08FF51048945E8
替换为
8B55F08B45F48B08FF51048945E8

然后,别存为.exe放到安装目录里,运行就可以了。



如果你是学其它专业的,也可以用上面的二进制串符替换一下,不过要先脱掉壳。我有试过,大多数的宝典类软件都可以的使用上面的字符串,为保护作者权益,请不要用做商业用途..谢谢。如果,你自已搞定了,最好不要随便传给别人....嗯,仅仅是为了内些囊中羞涩的学生朋友提供帮助.希望各位理解...
                                                                                          ------------------------
                                                                                    神仙请加我,相互学习,共同进步

评分

参与人数 3威望 +28 飘云币 +40 收起 理由
bjcar + 4 谢谢你的整理
ltyiaw227 + 4 PYG有你更精彩!
tianxj + 20 + 40 感谢整理

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2009-7-22 18:42:57 | 显示全部楼层
谢谢分享收下了
PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 196 天

    [LV.7]常住居民III

    发表于 2009-7-23 09:21:53 | 显示全部楼层
    谢谢了。。很需要,要慢慢看看/:001
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-24 09:02:11 | 显示全部楼层
    不错,挺好的,支持以下
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2009-7-24 22:23:32 | 显示全部楼层
    通过这个例子,大家都学会破解了
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-7-25 00:41:20 | 显示全部楼层
    /:good 例子很不错,不过学的是机械的破解哦,就像人要先学会走路,然后才知道走猫步,走正步,走太空步,哈哈
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2015-10-9 11:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-7-25 09:10:51 | 显示全部楼层
    受益匪浅,谢谢楼主。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-25 20:31:37 | 显示全部楼层
    学习下,这个真不错。好文!/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-29 01:22:38 | 显示全部楼层
    谢谢哦!好东西
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-29 15:17:21 | 显示全部楼层
    看了老半天,不知所云,我基础太差了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表