小生我怕怕 发表于 2008-8-13 03:27:55

peilan 发表于 2008-8-14 23:20:24

看来楼主要加油了~~ 可惜没有任何人帖过程出来~~/:017

水珠快跑 发表于 2008-8-15 15:12:24

坛子里牛人真是不少,,祝贺

x80x88 发表于 2008-8-15 16:39:38

没人写过程,可能是太简单,我臭屁一下/:L ,希望对和我一样的菜鸟有用(第二个crackeme的)!先贴图!


易语言关键是定位事件按钮Call,参照老大们的方法,我再复制一遍!
alt+e----------krnln.fnr-------FF 55 FC=按钮事件
就是OD载入,运行,然后Alt+E,找到krnln.fnr模块,查看代码,然后查找二进制字串FF 55 FC,会看到一个
........
10028ED1    FF75 F0    push    dword ptr
10028ED4^ EB DF      jmp   short 10028EB5
10028ED6    FF55 FC    call    dword ptr     在这里下断
10028ED9    5F         pop   edi
10028EDA    5E         pop   esi
........
再点按钮,程序会断在这里,我们会在OD中看到这个Call的地址,本例中在我的机子上为crackme2.00425CFD,这就是我们PJ的入口关键点了!
可以重载入进程,点注册,从00425CFD往下看,应该不难,本例中都为明码,很简单,真码藏在这里:
...........
0425F21push    -1
00425F23push    8
00425F25push    16010014
00425F2Apush    52010001
00425F2Fcall    00426122
00425F34add   esp, 10
00425F37mov   dword ptr , eax          ; 假码
00425F3Amov   eax, dword ptr           ; 真码
00425F3Dpush    eax
00425F3Epush    dword ptr
00425F41call    00425C60                         ; 不用说,这个就是关键的比对Call了
00425F46add   esp, 8
00425F49cmp   eax, 0
00425F4Cmov   eax, 0
00425F51sete    al
00425F54mov   dword ptr , eax
00425F57mov   ebx, dword ptr
00425F5Atest    ebx, ebx
00425F5Cje      short 00425F67
00425F5Epush    ebx
00425F5Fcall    00426116
00425F64add   esp, 4
00425F67cmp   dword ptr , 0
00425F6Bje      00425FA6
00425F71push    0
.............

[ 本帖最后由 x80x88 于 2008-8-15 16:47 编辑 ]

x80x88 发表于 2008-8-15 16:56:26

再补上第一个crackme的贴图/:012


[ 本帖最后由 x80x88 于 2008-8-15 16:59 编辑 ]

as3852711 发表于 2008-8-15 17:04:28

1: i love you chinapyg116307200forzen

2: gogolo**gogolo**gogolo**gogolo**gogolo**gogolo**66frozenlove72frozenlove6Ffrozenlove7Afrozenlove65frozenlove6Efrozenlove

3: hanyu
   skygogopyg520chianpyg

x80x88 发表于 2008-8-15 17:08:55

第三个crackme的过程,先贴图!/:014

同样是应用前面说过的按钮事件方法,可以跟踪看到程序将注册信息写在注册表里
...........
00411BEBtest    eax, eax
00411BEDjnz   short 00411BF4
00411BEFmov   eax, 0040C16B
00411BF4push    eax
00411BF5push    80000004
00411BFApush    0
00411BFCpush    0040C195                         ; ASCII "software\microsft\Internet Explorer\Main\new"
00411C01push    80000301
00411C06push    0
00411C08push    3
00411C0Dpush    3
00411C12mov   ebx, 6A4
00411C17call    00411D4D
00411C1Cadd   esp, 28
00411C1Fmov   dword ptr , eax
00411C22push    80000004
00411C27push    0
00411C29mov   eax, dword ptr
00411C2Ctest    eax, eax
00411C2Ejnz   short 00411C35
00411C30mov   eax, 0040C16B
00411C35push    eax
00411C36push    80000004
00411C3Bpush    0
00411C3Dpush    0040C119                         ; ASCII "software\microsft\Internet Explorer\Main\password"
00411C42push    80000301
00411C47push    0
..........
接下来重载程序,用API函数调用RegOpenKeyExA下断,很快又能定位到关键代码:
..........
0041195Eje      short 00411969
00411960push    ebx
00411961call    00411D47
00411966add   esp, 4
00411969pop   eax
0041196Amov   dword ptr , eax
0041196Dmov   eax, dword ptr          ; crackme3.0040C103
00411970push    eax                              ; 真码入栈
00411971push    dword ptr                 ; 假码入栈
00411974call    00411831
00411979add   esp, 8
0041197Ccmp   eax, 0
0041197Fjnz   004119DA
00411985push    0
00411987push    0040C14B
0041198Cpush    -1
0041198Epush    8
..........

[ 本帖最后由 x80x88 于 2008-8-15 17:13 编辑 ]
页: 1 [2]
查看完整版本: 无聊用易语言写的3个crackme(欢迎新手朋友来破)