首页
社区
课程
招聘
关于 KeyMaker V1.73 写内存注册机的一个问题
发表于: 2004-11-16 14:14 4752

关于 KeyMaker V1.73 写内存注册机的一个问题

2004-11-16 14:14
4752
软件名称是:电视剧下载(电视剧、电视台) V1.44
下载地址是:http://www4.skycn.com/soft/20221.html
我的问题在最下面。

0048E73D   .  57                PUSH EDI                          ;  通过 DEDE 分析,应该在这儿下断点。
0048E73E   .  8945 FC           MOV DWORD PTR SS:[EBP-4],EAX
0048E741   .  33C0              XOR EAX,EAX
0048E743   .  55                PUSH EBP
0048E744   .  68 CDE94800       PUSH 电视剧下.0048E9CD
0048E749   .  64:FF30           PUSH DWORD PTR FS:[EAX]
0048E74C   .  64:8920           MOV DWORD PTR FS:[EAX],ESP
0048E74F   .  803D D45C4A00 00  CMP BYTE PTR DS:[4A5CD4],0
0048E756      74 1A             JE SHORT 电视剧下.0048E772            ;  如果先前曾经成功注册过,则给个提示。一开始还以为这儿是关键判断呢,往后看才知道这儿不是。
0048E758   .  6A 00             PUSH 0                            ; /Arg1 = 00000000
0048E75A   .  66:8B0D DCE94800  MOV CX,WORD PTR DS:[48E9DC]       ; |
0048E761   .  B2 02             MOV DL,2                          ; |
0048E763   .  B8 E8E94800       MOV EAX,电视剧下.0048E9E8             ; |
0048E768   .  E8 3B05FAFF       CALL 电视剧下.0042ECA8                ; \电视剧下.0042ECA8
0048E76D   .  E9 FE010000       JMP 电视剧下.0048E970
0048E772   >  8D55 F0           LEA EDX,DWORD PTR SS:[EBP-10]
0048E775   .  8B45 FC           MOV EAX,DWORD PTR SS:[EBP-4]
0048E778   .  8B80 3C030000     MOV EAX,DWORD PTR DS:[EAX+33C]
0048E77E   .  E8 C56DFBFF       CALL 电视剧下.00445548                ;  取出假码
0048E783   .  837D F0 00        CMP DWORD PTR SS:[EBP-10],0
0048E787   .  74 1E             JE SHORT 电视剧下.0048E7A7            ;  如果假码长度为0则跳到错误提示。
0048E789   .  8D55 EC           LEA EDX,DWORD PTR SS:[EBP-14]
0048E78C   .  8B45 FC           MOV EAX,DWORD PTR SS:[EBP-4]
0048E78F   .  8B80 3C030000     MOV EAX,DWORD PTR DS:[EAX+33C]
0048E795   .  E8 AE6DFBFF       CALL 电视剧下.00445548
0048E79A   .  8B45 EC           MOV EAX,DWORD PTR SS:[EBP-14]
0048E79D   .  E8 F25BF7FF       CALL 电视剧下.00404394
0048E7A2   .  83F8 08           CMP EAX,8                         ;  输入的注册码长度必须小于或等于8位,否则跳往死亡。
0048E7A5   .  7E 0F             JLE SHORT 电视剧下.0048E7B6           ;  必须跳,写内存注册机的时候,先修改此处内存。改 7E 为 EB。
0048E7A7   >  B8 10EA4800       MOV EAX,电视剧下.0048EA10
0048E7AC   .  E8 EF05FAFF       CALL 电视剧下.0042EDA0
0048E7B1   .  E9 BA010000       JMP 电视剧下.0048E970
0048E7B6   >  8D45 E4           LEA EAX,DWORD PTR SS:[EBP-1C]
0048E7B9   .  50                PUSH EAX
0048E7BA   .  8D55 E0           LEA EDX,DWORD PTR SS:[EBP-20]
0048E7BD   .  8B45 FC           MOV EAX,DWORD PTR SS:[EBP-4]
0048E7C0   .  8B80 40030000     MOV EAX,DWORD PTR DS:[EAX+340]
0048E7C6   .  E8 7D6DFBFF       CALL 电视剧下.00445548                ;  取机器码
0048E7CB   .  8B45 E0           MOV EAX,DWORD PTR SS:[EBP-20]
0048E7CE   .  B9 06000000       MOV ECX,6
0048E7D3   .  BA 01000000       MOV EDX,1
0048E7D8   .  E8 175EF7FF       CALL 电视剧下.004045F4
0048E7DD   .  8B4D E4           MOV ECX,DWORD PTR SS:[EBP-1C]
0048E7E0   .  8D45 E8           LEA EAX,DWORD PTR SS:[EBP-18]
0048E7E3   .  BA 3CEA4800       MOV EDX,电视剧下.0048EA3C             ;  ASCII "0x"
0048E7E8   .  E8 F35BF7FF       CALL 电视剧下.004043E0
0048E7ED   .  8B45 E8           MOV EAX,DWORD PTR SS:[EBP-18]
0048E7F0   .  E8 7F9FF7FF       CALL 电视剧下.00408774
0048E7F5   .  8BF0              MOV ESI,EAX
0048E7F7   .  33C0              XOR EAX,EAX
0048E7F9   .  55                PUSH EBP
0048E7FA   .  68 27E94800       PUSH 电视剧下.0048E927
0048E7FF   .  64:FF30           PUSH DWORD PTR FS:[EAX]
0048E802   .  64:8920           MOV DWORD PTR FS:[EAX],ESP
0048E805   .  8D55 DC           LEA EDX,DWORD PTR SS:[EBP-24]
0048E808   .  8B45 FC           MOV EAX,DWORD PTR SS:[EBP-4]
0048E80B   .  8B80 3C030000     MOV EAX,DWORD PTR DS:[EAX+33C]
0048E811   .  E8 326DFBFF       CALL 电视剧下.00445548
0048E816   .  8B45 DC           MOV EAX,DWORD PTR SS:[EBP-24]     ;  取出假码
0048E819   .  E8 569FF7FF       CALL 电视剧下.00408774                ;  这个CALL计算内容好多,估计有一个是根据机器码生成一串数字,赋给 ESI。
0048E81E   .  8BD8              MOV EBX,EAX
0048E820      8BC3              MOV EAX,EBX
0048E822      2BC6              SUB EAX,ESI          ;  用假码与ESI的值相减,结果如果是112233即正确,因此,真正的注册码应该是ESI+112233=12063035
0048E824      3B05 B43A4A00     CMP EAX,DWORD PTR DS:[4A3AB4]
0048E82A      74 38             JE SHORT 电视剧下.0048E864            ;  跳往注册成功!不跳必然死掉。

请教:从最后一行往上数第3行是判断注册码正确与否的关键比较,因此,真正的注册码应该是 ESI 的值与常数 112233 相加,但写注册机的时候如何让它弹出相加后的值呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 4908
活跃值: (2343)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
我机器上怎么会这么巧合:

机器号是:B696869D

B69686(机器号的前6位)+1B669(就是10进制的112233)=(把这里转换为10进制12078319,就是机器上的正确注册号)B84CEF

做文件补丁吧,很简单的。如下:

:0048E819 E8569FF7FF              call 00408774
:0048E81E A1B43A4A00              mov eax, dword ptr [004A3AB4]
:0048E823 03C6                    add eax, esi
:0048E825 8BD8                    mov ebx, eax
:0048E827 3BF0                    cmp ebx, eax
:0048E829 90                      nop
:0048E82A 7438                    je 0048E864
      上面48E825中的EAX就是你所需要的注册号16进制.
2004-11-16 20:19
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
做破解补丁倒是很简单,我只是想知道这种注册机能不能做出来。看起来是不行的。可惜 KeyMaker 不升级了,不然的话可以向作者刘健英提提建议的。
2004-11-17 18:03
0
雪    币: 4908
活跃值: (2343)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
最初由 侠盗 发布
做破解补丁倒是很简单,我只是想知道这种注册机能不能做出来。看起来是不行的。可惜 KeyMaker 不升级了,不然的话可以向作者刘健英提提建议的。


以前就建议过刘建英了,所以才出了2.0的御览版本,要写成那样的KEYMAKER作者说错误太多。

可以自己写一个loader,加载程序,并在你需要的地方插入DEBUG断点,然后在调试处理中自己修正被调试的程序就可以了。

http://www.pediy.com/tutorial/chap9/Chap9-2-2.htm
http://211.90.225.98:22366/view.asp?file=104
http://211.90.225.98:22366/view.asp?file=106
2004-11-17 19:38
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢 oep1 前辈的指点!写 Loader 对我来说还太高深,您给的三个网址我都去看了,看不太懂的,目前我只是能用用工具而已。

再次感谢您的热心!
2004-11-18 03:45
0
游客
登录 | 注册 方可回帖
返回
//