vvlaw 发表于 2007-5-25 22:55:45

昨天的追码经过,分享下菜鸟经验。

【文章标题】: 追明码-CD Catalog Expert v9.2
【文章作者】: vvlaw
【软件名称】: CD Catalog Expert v9.2
【软件大小】: 721k
【下载地址】: http://www.zero2000.com/cd-catalog-expert/
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【使用工具】: PEid OD
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【软件介绍】: CD Catalog Expert 是一款能管理你的所有媒体文件的分类工具,包括文件、目录、CD/DVD、电影、音乐、硬盘、网络、可移动设备等。它帮助你简单地查看和查找所有文件、目录,而不需要插入任何磁盘。

查壳ASPack 2.12 -> Alexey Solodovnikov

用ESP定律脱之,用delphi写的Borland Delphi 6.0 - 7.0

运行程序,输入假码,得到错误信息Incorrect registration code!

OD载入,搜索错误信息Incorrect registration code!双击来到这里

00585F7A|> \B8 84605800   MOV EAX,unpack.00586084                  ;incorrect registration code!

可以看到它来自三个跳转
00586084=unpack.00586084 (ASCII "Incorrect registration code!")
跳转来自 00585EEF, 00585EF9, 00585F1C

00585EFE|.50            PUSH EAX
00585EFF|.B9 C85F5800   MOV ECX,unpack.00585FC8                  ;9
00585F04|.BA D45F5800   MOV EDX,unpack.00585FD4                  ;cd catalog expert
00585F09|.8B45 FC       MOV EAX,DWORD PTR SS:
00585F0C|.E8 D7F8FFFF   CALL unpack.005857E8
00585F11|.8B55 EC       MOV EDX,DWORD PTR SS:
00585F14|.8B45 F8       MOV EAX,DWORD PTR SS:
00585F17|.E8 DCF0E7FF   CALL unpack.00404FF8
00585F1C      75 5C         JNZ SHORT unpack.00585F7A
00585F1E|.C605 6C595A00>MOV BYTE PTR DS:,1
00585F25|.68 01000080   PUSH 80000001
00585F2A|.8B4D FC       MOV ECX,DWORD PTR SS:
00585F2D|.BA F05F5800   MOV EDX,unpack.00585FF0                  ;regname
00585F32|.B8 00605800   MOV EAX,unpack.00586000                  ;\software\microsoft\02k\ded0
00585F37|.E8 E081F1FF   CALL unpack.0049E11C
00585F3C|.8B45 FC       MOV EAX,DWORD PTR SS:
00585F3F|.8945 E4       MOV DWORD PTR SS:,EAX
00585F42|.C645 E8 0B    MOV BYTE PTR SS:,0B
00585F46|.8D55 E4       LEA EDX,DWORD PTR SS:
00585F49|.33C9          XOR ECX,ECX
00585F4B|.B8 28605800   MOV EAX,unpack.00586028                  ;congratulations! \n\nthis software is licensed to %s.\n\nthanks for your supporting.
00585F50|.E8 DB79F1FF   CALL unpack.0049D930
00585F55|.8BC3          MOV EAX,EBX
00585F57|.E8 2490F0FF   CALL unpack.0048EF80
00585F5C|.A1 80055A00   MOV EAX,DWORD PTR DS:
00585F61|.8338 00       CMP DWORD PTR DS:,0
00585F64|.74 1E         JE SHORT unpack.00585F84
00585F66|.A1 80055A00   MOV EAX,DWORD PTR DS:
00585F6B|.8B00          MOV EAX,DWORD PTR DS:
00585F6D|.8A15 6C595A00 MOV DL,BYTE PTR DS:
00585F73|.E8 48380000   CALL unpack.005897C0
00585F78|.EB 0A         JMP SHORT unpack.00585F84
00585F7A|>B8 84605800   MOV EAX,unpack.00586084                  ;incorrect registration code!


我们在00585EFE|.50            PUSH EAX处F2下断点,F9运行,输入假码,然后F8一步步跟

当跟到00585F17|.E8 DCF0E7FF   CALL unpack.00404FF8的时候

可以在右边的寄存器窗口看到EAX和EDX的比较,也就是真假码的比较。

EAX 00FBD240 ASCII "123"
ECX 00000001
EDX 00FBB0C8 ASCII "35782-15120"
EBX 00FB4C88
ESP 0012FB78
EBP 0012FBA4
ESI 004FAE74 unpack.004FAE74
EDI 00000005
EIP 00585F17 unpack.00585F17
C 0ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 0SS 0023 32位 0(FFFFFFFF)
Z 1DS 0023 32位 0(FFFFFFFF)
S 0FS 003B 32位 7FFDD000(FFF)
T 0GS 0000 NULL
D 0
O 0LastErr ERROR_SUCCESS (00000000)
EFL 00200246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -??? FFFF 73FCFDFF 73FCFDFF
ST1 empty -??? FFFF 40FDFEFF 73FCFDFF
ST2 empty -??? FFFF 73FBFCFF 73FBFCFF
ST3 empty -??? FFFF 73FBFCFF 73FBFCFF
ST4 empty -??? FFFF 40FDFEFF 73FCFDFF
ST5 empty -??? FFFF 000000BF 00BF00BF
ST6 empty -??? FFFF 00000000 00000000
ST7 empty -??? FFFF 00800080 00800080
               3 2 1 0      E S P U O Z D I
FST 0000Cond 0 0 0 0Err 0 0 0 0 0 0 0 0(GT)
FCW 1372Prec NEAR,64掩码    1 1 0 0 1 0

到这里,我们就可以得到刚才输入的用户名vvlaw所对应的注册码为35782-15120。

初次写文章,还请大家多多指教。谢谢~

[ 本帖最后由 vvlaw 于 2007-5-25 22:59 编辑 ]

moujin 发表于 2007-5-26 02:29:32

谢谢,成功了

小子贼野 发表于 2007-5-26 13:00:33

不错的文章,适合我这样的菜鸟学习

pw2000 发表于 2007-5-26 14:18:02

对照着学习。

abc30 发表于 2007-5-28 10:27:27

shazhu945 发表于 2007-5-28 22:53:11

学习下 /:06

avel 发表于 2007-5-28 23:15:12

hehe~~~~~

是不是会有点兴奋啊~? /:12

78785651 发表于 2007-5-29 06:59:19

恩。适合菜鸟学习

bhcjl 发表于 2007-5-31 16:52:29

学习之中.

aazz_6300 发表于 2007-6-1 11:09:28

非常适合我这样的菜鸟学习、谢谢分享!
页: [1] 2
查看完整版本: 昨天的追码经过,分享下菜鸟经验。