-
-
[原创]一个简单的keyfile验证的CrackMe
-
发表于:
2006-8-7 10:09
7166
-
[原创]一个简单的keyfile验证的CrackMe
【文章标题】: 一个简单的keyfile验证的CrackMe
【文章作者】: bxm
【作者邮箱】: bxm78@163.com
【软件名称】: abexcrackme3
【保护方式】: keyfile
【使用工具】: od
【操作平台】: winxp
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
常规检查,发现有出错提示字符串“hmmmmm, i can't find the file!”,向上查找,在[00401013]下断点,具体分析如下:
00401013 |. 6A 00 push 0 ; /hTemplateFile = NULL
00401015 |. 68 80000000 push 80 ; |Attributes = NORMAL
0040101A |. 6A 03 push 3 ; |Mode = OPEN_EXISTING
0040101C |. 6A 00 push 0 ; |pSecurity = NULL
0040101E |. 6A 00 push 0 ; |ShareMode = 0
00401020 |. 68 00000080 push 80000000 ; |Access = GENERIC_READ
00401025 |. 68 B9204000 push 004020B9 ; |“abex.l2c”,这就是要验证的文件名
0040102A |. E8 5E000000 call <jmp.&KERNEL32.CreateFileA> ; \CreateFileA
0040102F |. A3 CA204000 mov [4020CA], eax
00401034 |. 83F8 FF cmp eax, -1 ; EAX返回-1表示文件不存在
00401037 |. 74 3C je short 00401075 ; 文件不存在,跳向失败
00401039 |. 6A 00 push 0 ; /pFileSizeHigh = NULL
0040103B |. FF35 CA204000 push dword ptr [4020CA] ; |hFile = 00000088 (window)
00401041 |. E8 4D000000 call <jmp.&KERNEL32.GetFileSize> ; \GetFileSize
00401046 |. 83F8 12 cmp eax, 12 ; EAX返回文件的长度,与12H比较
00401049 |. 75 15 jnz short 00401060 ; 不等,则出错,否则成功
0040104B |. 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
0040104D |. 68 35204000 push 00402035 ; |well done!
00401052 |. 68 40204000 push 00402040 ; |yep, keyfile found!
00401057 |. 6A 00 push 0 ; |hOwner = NULL
00401059 |. E8 41000000 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
0040105E |. EB 28 jmp short 00401088
00401060 |> 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
00401062 |. 68 79204000 push 00402079 ; |error
00401067 |. 68 7F204000 push 0040207F ; |the found file is not a valid keyfile!
0040106C |. 6A 00 push 0 ; |hOwner = NULL
0040106E |. E8 2C000000 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
00401073 |. EB 13 jmp short 00401088
00401075 |> 6A 00 push 0 ; |/Style = MB_OK|MB_APPLMODAL
00401077 |. 68 54204000 push 00402054 ; ||error
0040107C |. 68 5A204000 push 0040205A ; ||hmmmmm, i can't find the file!
00401081 |. 6A 00 push 0 ; ||hOwner = NULL
00401083 |. E8 17000000 call <jmp.&USER32.MessageBoxA> ; |\MessageBoxA
小结:
1、keyfile文件名为abex.l2c
2、文件大小为18个字节。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年08月07日 上午 10:08:12
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)