首页
社区
课程
招聘
[求助]我是小小菜菜鸟,有人可以帮我解释的详细一点吗??
发表于: 2006-12-12 20:55 5146

[求助]我是小小菜菜鸟,有人可以帮我解释的详细一点吗??

2006-12-12 20:55
5146
运行程序在注册栏输入公司名:windycan(也就是我的大名啊),注册:87654321,按注册出现“注册码不正确,请重新输入”的字样,正确才怪呢,要是正确的话我可以去买彩票了,热烈盼望着这一天ing
用OD载入,(是不是先要打开软件运行程序胡乱输入后弹出“注册码不正确,请重新输入”然后用“OD中的“附加”载入呀”)ESP定律很快到达OEP,(是不是软件自动搜索到开始)然后用插件(是不是string reference中的ASCII还是UNICODE)搜啊搜,搜那句“注册码不正确,请重新输入”,然后双击来到以下代码处
005C141A    55              push ebp
005C141B    68 F9145C00     push HonorJjg.005C14F9
005C1420    64:FF30         push dword ptr fs:[eax]
005C1423    64:8920         mov dword ptr fs:[eax],esp
005C1426    8D55 EC         lea edx,dword ptr ss:[ebp-14]
005C1429    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005C142C    8B80 00030000   mov eax,dword ptr ds:[eax+300]
005C1432    E8 8D28EBFF     call HonorJjg.00473CC4-------------------------这里下断(是不是直接F2,或者其他)
005C1437    8B45 EC         mov eax,dword ptr ss:[ebp-14]
005C143A    8D55 F0         lea edx,dword ptr ss:[ebp-10]
005C143D    E8 7685E4FF     call HonorJjg.004099B8
005C1442    8D55 E4         lea edx,dword ptr ss:[ebp-1C]
005C1445    B8 74155C00     mov eax,HonorJjg.005C1574
005C144A    E8 4DE0FFFF     call HonorJjg.005BF49C
005C144F    8B45 E4         mov eax,dword ptr ss:[ebp-1C]
005C1452    8D4D E8         lea ecx,dword ptr ss:[ebp-18]
005C1455    BA EF000000     mov edx,0EF
005C145A    E8 49D5FFFF     call HonorJjg.005BE9A8
005C145F    8B45 E8         mov eax,dword ptr ss:[ebp-18]
005C1462    8D4D F8         lea ecx,dword ptr ss:[ebp-8]
005C1465    BA A6000000     mov edx,0A6
005C146A    E8 31DFFFFF     call HonorJjg.005BF3A0
005C146F    8D55 DC         lea edx,dword ptr ss:[ebp-24]
005C1472    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005C1475    8B80 04030000   mov eax,dword ptr ds:[eax+304]
005C147B    E8 4428EBFF     call HonorJjg.00473CC4
005C1480    8B45 DC         mov eax,dword ptr ss:[ebp-24]
005C1483    8D55 E0         lea edx,dword ptr ss:[ebp-20]
005C1486    E8 2D85E4FF     call HonorJjg.004099B8
005C148B    8B45 E0         mov eax,dword ptr ss:[ebp-20]
005C148E    8D4D F4         lea ecx,dword ptr ss:[ebp-C]
005C1491    BA A6000000     mov edx,0A6
005C1496    E8 05DFFFFF     call HonorJjg.005BF3A0
005C149B    8B55 F4         mov edx,dword ptr ss:[ebp-C]
005C149E    8B45 F8         mov eax,dword ptr ss:[ebp-8]
005C14A1    E8 1A83E4FF     call HonorJjg.004097C0
005C14A6    85C0            test eax,eax----------------------------传说中的比较(不明白能不能帮帮忙解释一下)
005C14A8    74 1C           je short HonorJjg.005C14C6---------关键跳啊(是不是直接修改je short HonorJjg.005C14BA)
005C14AA    8D45 F8         lea eax,dword ptr ss:[ebp-8]
005C14AD    E8 AE36E4FF     call HonorJjg.00404B60
005C14B2    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005C14B5    E8 A636E4FF     call HonorJjg.00404B60
005C14BA    B8 80155C00     mov eax,HonorJjg.005C1580----------来到这里
005C14BF    E8 30CBE7FF     call HonorJjg.0043DFF4
005C14C4    EB 29           jmp short HonorJjg.005C14EF
005C14C6    8B55 F0         mov edx,dword ptr ss:[ebp-10]
005C14C9    8B45 F4         mov eax,dword ptr ss:[ebp-C]
005C14CC    E8 D3D8FFFF     call HonorJjg.005BEDA4
005C14D1    84C0            test al,al
005C14D3    74 1A           je short HonorJjg.005C14EF
005C14D5    8D45 F8         lea eax,dword ptr ss:[ebp-8]
005C14D8    E8 8336E4FF     call HonorJjg.00404B60
005C14DD    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005C14E0    E8 7B36E4FF     call HonorJjg.00404B60
005C14E5    B8 A4155C00     mov eax,HonorJjg.005C15A4
005C14EA    E8 05CBE7FF     call HonorJjg.0043DFF4
005C14EF    33C0            xor eax,eax
005C14F1    5A              pop edx

由于壳没有脱,005C14A8处无法改成JMP来实现爆破,但是在005C14A1下断好象也看不到真的的注册码,怎么办?如果我们在005C1432处下断,然后一路F8下来,(只是按F8吗不是很明白)注意观察寄存器的值,就会发现程序在此过程中读取机器码,公司名等信息,由于本人算法水平太次了,(还是不明白)没跟踪到注册码的形成过程,只在寄存器看到:
AX 00E1E40C ASCII "CABYCCCHBXCDCCBWBY"
ECX 00000001
EDX 00E2D4C0 ASCII "437934546"
EBX 00E2A2D0
ESP 0012F55C
EBP 0012F5A4
ESI 004476B4 HonorJjg.004476B4
EDI 0012F728
EIP 005C1462 HonorJjg.005C1462
C 0  ES 0023 32bit 0(FFFFFFFF)
P 0  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 0  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 0038 32bit 7FFDE000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)
ST0 empty -NAN FFFF FF06003B FFEAE9E3
ST1 empty -NAN FFFF FF06003B FFE9E8E2
ST2 empty -NAN FFFF FF06003B FFEAE9E3
ST3 empty -NAN FFFF FF06003A FFE7E6E0
ST4 empty -NAN FFFF FF06003B FFEAE9E3
ST5 empty -??? FFFF 00FF0006 0000003B
ST6 empty -??? FFFF 00000000 00000000
ST7 empty -??? FFFF 00800080 00800080
               3 2 1 0      E S P U O Z D I
FST 0000  Cond 0 0 0 0  Err 0 0 0 0 0 0 0 0  (GT)
FCW 1272  Prec NEAR,53  掩码    1 1 0 0 1 0

希望大家帮帮我解释一下,只是解释一下了,由衷的感谢!!

请各位大大不要骂我!太笨我也自己研究了就是不明白

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

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
2
我是真的好多都看不明白,我会每天19:00--23:00在线等待各位大大的指导
2006-12-12 21:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
3
第一次发帖,希望在国内最大的、最专业的论坛的到帮助!!!!
2006-12-12 22:02
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
005C14A6    85C0            test eax,eax----------------------------传说中的比较(不明白能不能帮帮忙解释一下)
005C14A8    74 1C           je short HonorJjg.005C14C6---------关键跳啊(是不是直接修改je short HonorJjg.005C14BA)

你怎么知道这就是传说中的比较,005C14A8 处的跳实现,是不是就会出现注册码不正确,而005C14BA难道是注册码正确处吗?
2006-12-12 22:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
5
邪秀才 你好 首先对你的回帖我非常的感谢!
2006-12-12 22:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
6
我用string reference中的ASCII搜索到 "注册码不正确,请重新输入"然后双击来到以下代码处:

005C14A6   .  85C0          test    eax, eax                         ;  SFX 代码真正入口点
005C14A8      74 1C         je      short 005C14C6
005C14AA   .  8D45 F8       lea     eax, dword ptr [ebp-8]
005C14AD   ?  E8 AE36E4FF   call    00404B60
005C14B2   .  8D45 F4       lea     eax, dword ptr [ebp-C]
005C14B5   ?  E8 A636E4FF   call    00404B60
005C14BA   .  B8 80155C00   mov     eax, 005C1580                    ;  注册码不正确,请重新输入
2006-12-12 22:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
7
第一楼的帖子不是我写的括号中的是不明白的地方
2006-12-12 22:59
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
呵呵,这样呀,那你就把005C14A8      74 1C         je      short 005C14C6里的JE改成JMP,这样才能跳过这个提示,但具体后面有没有就不知道了,再说软件要动态跟才好,看能不能断在这里
2006-12-12 23:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
9
这是原帖能帮我看看吗?

破解工具:fly版OD,PEID0.93
操作系统:wundows XP
破解原因:使用次数限制
难度:很简单,适合象我一样的菜鸟拿来学习
作者声明:初学cracking,仅作学习交流,无其它目的.如果你觉得本软件对你有用,建议你向软件作者购买注册版

过程:
运行程序在注册栏输入公司名:windycan(也就是我的大名啊),注册:87654321,按注册出现“注册码不正确,请重新输入”的字样,正确才怪呢,要是正确的话我可以去买彩票了,热烈盼望着这一天ing~~~~~~~~~~~~~~~~~
以下是破解过程:
PEID查壳是ASPack 2.12 -> Alexey Solodovnikov加的壳,这种壳我们见多了,可以手脱也可以用ASPACKDIE轻松脱掉,啊,出来是Borland Delphi 6.0 - 7.0写的程序。
运行脱壳后的UNPACK看看,怎么回事?没反应啊,会不会是变形壳啊,啊哦,不会吧,不但不运行还造成死机现象,看来程序做检测,壳脱了,程序就不能运行了。好,大哥我怕你了,我不给你脱壳了总行了吧,突然想起有前辈说过带壳也能破的例子。
好办,重启再来,这次用OD载入,ESP定律很快到达OEP,然后用插件搜啊搜,搜那句“注册码不正确,请重新输入”,然后双击来到以下代码处
005C141A    55              push ebp
005C141B    68 F9145C00     push HonorJjg.005C14F9
005C1420    64:FF30         push dword ptr fs:[eax]
005C1423    64:8920         mov dword ptr fs:[eax],esp
005C1426    8D55 EC         lea edx,dword ptr ss:[ebp-14]
005C1429    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005C142C    8B80 00030000   mov eax,dword ptr ds:[eax+300]
005C1432    E8 8D28EBFF     call HonorJjg.00473CC4-------------------------这里下断
005C1437    8B45 EC         mov eax,dword ptr ss:[ebp-14]
005C143A    8D55 F0         lea edx,dword ptr ss:[ebp-10]
005C143D    E8 7685E4FF     call HonorJjg.004099B8
005C1442    8D55 E4         lea edx,dword ptr ss:[ebp-1C]
005C1445    B8 74155C00     mov eax,HonorJjg.005C1574
005C144A    E8 4DE0FFFF     call HonorJjg.005BF49C
005C144F    8B45 E4         mov eax,dword ptr ss:[ebp-1C]
005C1452    8D4D E8         lea ecx,dword ptr ss:[ebp-18]
005C1455    BA EF000000     mov edx,0EF
005C145A    E8 49D5FFFF     call HonorJjg.005BE9A8
005C145F    8B45 E8         mov eax,dword ptr ss:[ebp-18]
005C1462    8D4D F8         lea ecx,dword ptr ss:[ebp-8]
005C1465    BA A6000000     mov edx,0A6
005C146A    E8 31DFFFFF     call HonorJjg.005BF3A0
005C146F    8D55 DC         lea edx,dword ptr ss:[ebp-24]
005C1472    8B45 FC         mov eax,dword ptr ss:[ebp-4]
005C1475    8B80 04030000   mov eax,dword ptr ds:[eax+304]
005C147B    E8 4428EBFF     call HonorJjg.00473CC4
005C1480    8B45 DC         mov eax,dword ptr ss:[ebp-24]
005C1483    8D55 E0         lea edx,dword ptr ss:[ebp-20]
005C1486    E8 2D85E4FF     call HonorJjg.004099B8
005C148B    8B45 E0         mov eax,dword ptr ss:[ebp-20]
005C148E    8D4D F4         lea ecx,dword ptr ss:[ebp-C]
005C1491    BA A6000000     mov edx,0A6
005C1496    E8 05DFFFFF     call HonorJjg.005BF3A0
005C149B    8B55 F4         mov edx,dword ptr ss:[ebp-C]
005C149E    8B45 F8         mov eax,dword ptr ss:[ebp-8]
005C14A1    E8 1A83E4FF     call HonorJjg.004097C0
005C14A6    85C0            test eax,eax----------------------------传说中的比较
005C14A8    74 1C           je short HonorJjg.005C14C6---------关键跳啊
005C14AA    8D45 F8         lea eax,dword ptr ss:[ebp-8]
005C14AD    E8 AE36E4FF     call HonorJjg.00404B60
005C14B2    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005C14B5    E8 A636E4FF     call HonorJjg.00404B60
005C14BA    B8 80155C00     mov eax,HonorJjg.005C1580----------来到这里
005C14BF    E8 30CBE7FF     call HonorJjg.0043DFF4
005C14C4    EB 29           jmp short HonorJjg.005C14EF
005C14C6    8B55 F0         mov edx,dword ptr ss:[ebp-10]
005C14C9    8B45 F4         mov eax,dword ptr ss:[ebp-C]
005C14CC    E8 D3D8FFFF     call HonorJjg.005BEDA4
005C14D1    84C0            test al,al
005C14D3    74 1A           je short HonorJjg.005C14EF
005C14D5    8D45 F8         lea eax,dword ptr ss:[ebp-8]
005C14D8    E8 8336E4FF     call HonorJjg.00404B60
005C14DD    8D45 F4         lea eax,dword ptr ss:[ebp-C]
005C14E0    E8 7B36E4FF     call HonorJjg.00404B60
005C14E5    B8 A4155C00     mov eax,HonorJjg.005C15A4
005C14EA    E8 05CBE7FF     call HonorJjg.0043DFF4
005C14EF    33C0            xor eax,eax
005C14F1    5A              pop edx

由于壳没有脱,005C14A8处无法改成JMP来实现爆破,但是在005C14A1下断好象也看不到真的的注册码,怎么办?如果我们在005C1432处下断,然后一路F8下来,注意观察寄存器的值,就会发现程序在此过程中读取机器码,公司名等信息,由于本人算法水平太次了,没跟踪到注册码的形成过程,只在寄存器看到:
AX 00E1E40C ASCII "CABYCCCHBXCDCCBWBY"
ECX 00000001
EDX 00E2D4C0 ASCII "437934546"
EBX 00E2A2D0
ESP 0012F55C
EBP 0012F5A4
ESI 004476B4 HonorJjg.004476B4
EDI 0012F728
EIP 005C1462 HonorJjg.005C1462
C 0  ES 0023 32bit 0(FFFFFFFF)
P 0  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 0  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 0038 32bit 7FFDE000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)
ST0 empty -NAN FFFF FF06003B FFEAE9E3
ST1 empty -NAN FFFF FF06003B FFE9E8E2
ST2 empty -NAN FFFF FF06003B FFEAE9E3
ST3 empty -NAN FFFF FF06003A FFE7E6E0
ST4 empty -NAN FFFF FF06003B FFEAE9E3
ST5 empty -??? FFFF 00FF0006 0000003B
ST6 empty -??? FFFF 00000000 00000000
ST7 empty -??? FFFF 00800080 00800080
               3 2 1 0      E S P U O Z D I
FST 0000  Cond 0 0 0 0  Err 0 0 0 0 0 0 0 0  (GT)
FCW 1272  Prec NEAR,53  掩码    1 1 0 0 1 0
其中:437934546是我的机器码
那个CABYCCCHBXCDCCBWBY好象是注册码,关OD,试一试,成功了。
总结:
公司名:windycan
注册码:CABYCCCHBXCDCCBWBY

疑问:本软件不知道怎样才能使脱壳后的UPACKED能正常运行起来,如果有那位大侠路过此地,麻烦指点1.2。谢谢~~~~~~~~~
2006-12-12 23:04
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
10
找出注册码了。。还想怎么想。。你要解释些什么。。
每行汇编代码全部解释吗?
这什么可能?

老实说,不懂那种语言,我给你那种语言的代码,你又能看懂多少?

别人能出书的东西,我给难道将别人的书都复制到这里给你看吗?

汇编可以写一本书。系统机制可以写一本书,密码学可以写一本书,加起来3本书了。。。

我的解释是,你还是算吧
2006-12-12 23:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
11
版主大人,版主大人!
小人有罪,小人有罪!

大家误解,大家误解!
2006-12-12 23:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
12
第一楼的和第九楼的不是我写的
2006-12-12 23:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
13
能得到版主的光顾,小人万分感谢!

我是在研究他写的东西
2006-12-12 23:21
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
14
你至少把该学的都学了,不懂再来问吧
2006-12-12 23:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yms
15
能推荐些吗,简单一些的
2006-12-12 23:23
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
16
已经很简单了。。麻烦看看置顶帖。。。象我说的那样,你至少看3本书,如果这样的耐性都没有,你还是趁早放弃吧
2006-12-12 23:26
0
游客
登录 | 注册 方可回帖
返回
//