能力值:
( LV2,RANK:10 )
|
-
-
2 楼
看标题已经吓尿了.
|
能力值:
( LV13,RANK:240 )
|
-
-
3 楼
没尿。不过有点水了
|
能力值:
( LV13,RANK:240 )
|
-
-
4 楼
00072DB6 |. 50 PUSH EAX
00072DB7 |. FF15 20420700 CALL DWORD PTR DS:[<&imagehlp.MapFileAnd>; imagehlp.MapFileAndCheckSumW
00072DBD |. 85C0 TEST EAX,EAX
00072DBF EB 08 JMP SHORT 解包器2.00072DC9 这里 JMP**********************
00072DC1 |. 6A 00 PUSH 0 ; /ExitCode = 0
00072DC3 |. FF15 8C400700 CALL DWORD PTR DS:[<&KERNEL32.ExitProces>; \ExitProcess
00072DC9 |> 8B8D ECFDFFFF MOV ECX,DWORD PTR SS:[EBP-214]
00072DCF |. 3B8D F0FDFFFF CMP ECX,DWORD PTR SS:[EBP-210]
00072DD5 EB 08 JMP SHORT 解包器2.00072DDF 这里JMP **********************
00072DD7 |. 6A 00 PUSH 0 ; /ExitCode = 0
00072DD9 |. FF15 8C400700 CALL DWORD PTR DS:[<&KERNEL32.ExitProces>; \ExitProcess
00072DDF |> 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
00072DE2 |. 33CD XOR ECX,EBP
00072DE4 |. E8 BD060000 CALL 解包器2.000734A6
00072DE9 |. 8BE5 MOV ESP,EBP
00072DEB |. 5D POP EBP
00072DEC \. C3 RETN
两个 JCC修改为 JMP就随便搞了。取个这么吓人的标题。真是吓死我了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
什么吓尿,下水的?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
问一下,四楼的是从哪里得来的数据?我怎么看没有这些???
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
都是大神啊!新手求教
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
标题的确吓人,其实比较好弄.按照4楼的思路,先将00402D28 00402DBF 00402DD5三处的跳转改为jmp,完成去自校验.然后,对下面区间的代码作修改:
0040189A 8D8D E0F9FFFF lea ecx,dword ptr ss:[ebp-620]
004018A0 |. FF15 6C424000 call dword ptr ds:[<&mfc100u.#2614>] ; mfc100u.7864AA75
004018A6 |. 85C0 test eax,eax
004018A8 8D8D E4F9FFFF lea ecx,dword ptr ss:[ebp-61C]
004018AE |. 0F94C3 sete bl
004018B1 |. C645 FC 00 mov byte ptr ss:[ebp-4],0
004018B5 |. FF15 34424000 call dword ptr ds:[<&mfc100u.#902>] ; mfc100u.78650BEE
004018BB |. 84DB test bl,bl
004018BD |. 0F84 99000000 je 解包器2.0040195C
004018C3 8D8D E4F9FFFF lea ecx,dword ptr ss:[ebp-61C]
004018C9 |. FF15 3C424000 call dword ptr ds:[<&mfc100u.#296>] ; mfc100u.7864616E
004018CF |. 68 04010000 push 104 ; /BufSize = 104 (260.)
004018D4 8D8D E8FDFFFF lea ecx,dword ptr ss:[ebp-218] ; |
004018DA |. 51 push ecx ; |PathBuffer
004018DB |. 6A 00 push 0 ; |hModule = NULL
004018DD |. C645 FC 02 mov byte ptr ss:[ebp-4],2 ; |
004018E1 |. FF15 78404000 call dword ptr ds:[<&KERNEL32.GetModuleFile>; \GetModuleFileNameW
004018E7 |. 8D95 E8FDFFFF lea edx,[local.134]
004018ED |. 52 push edx ; /Path
004018EE |. FF15 18414000 call dword ptr ds:[<&SHLWAPI.PathRemoveFile>; \PathRemoveFileSpecW
004018F4 8D85 E8FDFFFF lea eax,dword ptr ss:[ebp-218]
004018FA |. 50 push eax
004018FB 8D8D E4F9FFFF lea ecx,dword ptr ss:[ebp-61C]
00401901 |. 68 D4434000 push 解包器2.004043D4 ; %s\unpack.ini
00401906 |. 51 push ecx
00401907 |. FF15 4C424000 call dword ptr ds:[<&mfc100u.#4290>] ; mfc100u.7864A8FB
0040190D 8B95 E4F9FFFF mov edx,dword ptr ss:[ebp-61C]
00401913 8B85 E0F9FFFF mov eax,dword ptr ss:[ebp-620]
(将[ebp-620]和[ebp-61C]调过来,即:-620改为-61C,-61C改为-620)
程序经以上改动后可实现自注册,在注册时随意输入甚至不输入任何东东,点击"注册"就可实现正确注册.在程序目录下生成的unpack.ini文件中记录了正确的注册码.OK!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
可以借此写个注册即
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
bp ExitProcess下断
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
嗯 我也学到了 呵呵
|
能力值:
( LV3,RANK:30 )
|
-
-
12 楼
确实被标题吓到了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
标题好吓人呀不过我是来学习的
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
四楼值得学习
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
我也是新手,学习啰。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
楼上都是高手,我过来水一下
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
新手,学习中,顺便看看
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
学习了,辛苦大侠指点
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
这是CreakMe? 学习
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
耶 我也成功啦。 分别走了三次 第一次改了一个JMP 发现还是会自动退出 第二次载入第一次修改后的软件又改了一个JMP 最后根据弹出对话框 把JE改为JMP 成功了。
|
能力值:
( LV5,RANK:60 )
|
-
-
21 楼
这个帖子挺久了貌似。。。不过路过了也就留下点儿。
od查找当前模块中的所有参考(标签),找到ExitProcess,右键查找所有输入函数参考,可以看到有三个参考。分别到汇编窗口中看一下,很简单就能看见就在Call ExitProcess之前都会有条件跳转,全部改为jmp就可以了。
我也想问个问题。8楼是怎么找到注册比较的那个函数段的?我在XCGUI.dll里下断GetWindowText能在点注册的时候断下来,但是od中如何直接从XCGUI.dll模块中直接执行到返回解包器.exe那个模块?到处都没找到怎么办。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
新人报道,调试之路向大家学习,
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
我也是新手,学习啰。
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
被标题吸引来的~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
你的标题太吓人了,跟着学习下
|
|
|