本帖最后由 livingbody 于 2014-10-22 01:54 编辑
第一步:查看是否有克,一看没有壳,太好了,适合我这种菜鸟。
第二步:搜索字符串“注册”,查看有关注册字样上下文代码
1.第一段上下文
- 004D7440 /. 55 push ebp
- 004D7441 |. 8BEC mov ebp,esp
- 004D7443 |. C680 34040000>mov byte ptr ds:[eax+0x434],0x0
- 004D744A |. 5D pop ebp
- 004D744B \. C2 0C00 retn 0xC
- 004D744E 8BC0 mov eax,eax
- 004D7450 . 53 push ebx
- 004D7451 . 8BD8 mov ebx,eax
- 004D7453 . 803D D8D54D00>cmp byte ptr ds:[0x4DD5D8],0x1
- 004D745A . 74 1B je XChmMaker.004D7477
- 004D745C . B8 DC744D00 mov eax,ChmMaker.004D74DC ; 本功能需要注册后才能使用!
- 004D7461 . E8 3A50F6FF call ChmMaker.0043C4A0
- 004D7466 . A1 88B14D00 mov eax,dword ptr ds:[0x4DB188]
- 004D746B . 8B00 mov eax,dword ptr ds:[eax]
- 004D746D . 8B10 mov edx,dword ptr ds:[eax]
- 004D746F . FF92 E8000000 call dword ptr ds:[edx+0xE8]
复制代码
2. 第二段上下文
- 004D7687 |. 55 push ebp
- 004D7688 |. 68 FD764D00 push ChmMaker.004D76FD
- 004D768D |. 64:FF30 push dword ptr fs:[eax]
- 004D7690 |. 64:8920 mov dword ptr fs:[eax],esp
- 004D7693 |. 803D D8D54D00>cmp byte ptr ds:[0x4DD5D8],0x1
- 004D769A |. 75 3C jnz XChmMaker.004D76D8
- 004D769C |. 8D45 FC lea eax,[local.1]
- 004D769F |. 8B0D DCD54D00 mov ecx,dword ptr ds:[0x4DD5DC]
- 004D76A5 |. BA 10774D00 mov edx,ChmMaker.004D7710 ; 本软件已注册给:
- 004D76AA |. E8 0DD1F2FF call ChmMaker.004047BC
- 004D76AF |. 8B55 FC mov edx,[local.1]
复制代码
3. 第三段上下文
- 004D77C1 . 8BD9 mov ebx,ecx
- 004D77C3 . 803D D8D54D00>cmp byte ptr ds:[0x4DD5D8],0x1
- 004D77CA . 74 2F je XChmMaker.004D77FB
- 004D77CC . 6A 24 push 0x24
- 004D77CE . B9 00784D00 mov ecx,ChmMaker.004D7800 ; 提示
- 004D77D3 . BA 08784D00 mov edx,ChmMaker.004D7808 ; 本软件需要购买后才能无限制使用,您现在要购买吗?
- 004D77D8 . A1 38B04D00 mov eax,dword ptr ds:[0x4DB038]
- 004D77DD . 8B00 mov eax,dword ptr ds:[eax]
复制代码
第三步:分析
通过上面对“注册”关键字上下文比较分析,发现【cmp byte ptr ds:[0x4DD5D8],0x1
】很关键,是比较的关键,于是查看所有常量“0x4DD5D8 “
第四步:进行修改或者写内存注册机
很明显,只要0x4DD5D8为0x1是注册成功的标志,那么下来就有两种方法。
1.修改
004D6C3D /75 07 jnz XChmMaker.004D6C46
004D6C3F |. |C605 D8D54D00>mov byte ptr ds:[0x4DD5D8],0x1
004D6C46 |> \8BC6 mov eax,esi
改为
- 004D6C3D 90 nop
- 004D6C3E 90 nop
- 004D6C3F |. C605 D8D54D00>mov byte ptr ds:[0x4DD5D8],0x1
复制代码
2.内存补丁
注册机编写器-->其他-->制作内存补丁
分别填入修改地址、修改长度、原是指令、修改指令
然后点添加,最后生成,内存补丁就生成了。
|