160个crackme 004 ajj.1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了160个crackme 004 ajj.1相关的知识,希望对你有一定的参考价值。
这个crackme是有点奇葩的,输入name和Serial之后,就没有然后,然后了...
打开以后,输入伪码之后,什么也没有,没有按钮,一副死猪不怕开水烫的样子。
PEid,看一下,Delphi的程序:
首先,用Delphi的神器:DeDe:
打开之后,找到过程,发线有几个过程,依次去看:
00457BD0 53 push ebx 00457BD1 8BD8 mov ebx, eax 00457BD3 8D8310030000 lea eax, [ebx+$0310] * Possible String Reference to: ‘黑头Sun Bird‘;字符串 | 00457BD9 BA187C4500 mov edx, $00457C1 * Reference to: [email protected]; | 00457BDE E86DBDFAFF call 00403950 00457BE3 8D8314030000 lea eax, [ebx+$0314] * Possible String Reference to: ‘dseloffc-012-OK‘;字符串 | 00457BE9 BA307C4500 mov edx, $00457C30
chkcode 意思大概是检查代码的吧,最有可能,双击进入RVA:
发现了一大堆的strcat,strclr等字符串拼接,处理的函数,但在其中,仔细一点会发现重要的线索:
00457D27 E81CB6FCFF call 00423348 00457D2C 8B45E0 mov eax, [ebp-$20] 00457D2F 8B9318030000 mov edx, [ebx+$0318] * Reference to: [email protected]; | 00457D35 E852BFFAFF call 00403C8C { 比较函数,这必然会是一个关键位置 } 00457D3A 750A jnz 00457D46 00457D3C C7830C0300003E000000 mov dword ptr [ebx+$030C], $0000003E 00457D46 8B830C030000 mov eax, [ebx+$030C] 00457D4C 83C010 add eax, +$10 00457D4F 8983FC020000 mov [ebx+$02FC], eax 00457D55 83C023 add eax, +$23 00457D58 898300030000 mov [ebx+$0300], eax 00457D5E 33F6 xor esi, esi 00457D60 8D55D8 lea edx, [ebp-$28]
strcmp函数啊,OD cTRL+g 过去看:
分析一下程序的流程:
00457D2C |. 8B45 E0 mov eax,[local.8] ; ;name字符串 00457D2F |. 8B93 18030000 mov edx,dword ptr ds:[ebx+0x318] ; ;函数的参数部分 00457D35 |. E8 52BFFAFF call CKme.00403C8C ; ;strcmp函数的位置
看到了serila:
好吧,去试一试,输入name和Serila,然后再点击一下图片的位置,成功了:
看看这个妹子还可以吧...
分析算法:
找到函数的头部下断:在数据段中我们已经看到了,答案的字符串,在联想一下在DeDe中我们看到了茫茫多的strcat
懂了,实际上就是一个字符串的拼接操作,很简单了,不需要再写注册机了,如果不信的话,可以输入不同的name尝试。
以上是关于160个crackme 004 ajj.1的主要内容,如果未能解决你的问题,请参考以下文章