当红小生的玩具分析过程[一个CrackMe的小分析]
【文章标题】: 对一个CrackMe的小分析【文章作者】: Luck
【作者邮箱】: 466748210@qq.com
【作者QQ号】: 466748210@qq.com
【软件名称】: CrackMe.exe
【下载地址】: http://www.52pojie.cn/thread-38945-1-1.html
【编写语言】: Delphi
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
刚接触这个CrackMe,看体积我以为是易语言的,直接上OD分析字符串。
字符串居然为空?这个是怎么回事?
模拟执行了下代码,发现点按钮之后如果不是真码就会结束
于是想到Bp ExitProcess
“溯洄从之,道阻且长。溯游从之,宛在水中央。”
但是我愣是没回去找到我的伊人……
麻花疼那个洋芋丝啊……
于是冷静下来,按照一般步骤来搞好了!
Peid查壳,Delphi的。
很好~
既然是Delphi的就请出我们的按钮杀手脚本吧!
var Addr
mov Addr,401000
loop:
find Addr,#740E8BD38B83????????FF93????????#
cmp $RESULT,0
je Exit
add $RESULT,0A
bp $RESULT
add $RESULT,1
mov Addr,$RESULT
jmp loop
Exit:
ret
跑脚本以后F9,输入假码
点按钮
呵呵
成功断下了
004309B0 FF93 20010000 call dword ptr ; crackme.004502A0
F7进Call分析吧!
004502C3 E8 54F1FDFF call 0042F41C
004502C8 837D FC 00 cmp dword ptr , 0x0
取机器码里的文本(作者这命名可真……)
004502EB E8 2CF1FDFF call 0042F41C
004502F0 8B45 F4 mov eax, dword ptr
再取
004502FD /75 2E jnz short 0045032D
飞向结束的噩耗,Nop之
0045031A /75 11 jnz short 0045032D
飞向结束的噩耗,Nop之
搞了这俩call,相信正如作者所言,不会有啥麻烦了,放心地按下了F9
程序并未结束
呵呵~
切回程序界面
发现标题已经变成“注册成功”字样了!
人生有时候就是这样~~~~~~
--------------------------------------------------------------------------------
【经验总结】
分析一个程序应该从其语言来考虑,因为每个语言都有其自己的特色,也有独特的分析方法。
经验告诉我们,对于按钮注册,并且没有重启验证的,一般都是下按钮事件断点~
就是这么多了~
顺手写个Loader,演示下自己的代码~
如果编辑框没内容,不会提示成功的。这个小东东就留给各位去搞了吧!
004502E0自己调试下吧
--------------------------------------------------------------------------------
【版权声明】: 本文原创于Luck, 转载请注明作者并保持文章的完整, 谢谢!
2010年02月19日 16:24:22 附件很值的
啥都包含在里面了
黑月为了支持易语言静态的格式
体积稍微大了点
编译个小Loader居然32k
极度的郁闷…… 下载学习下 这个是娱乐的···,提高一下人气。。。 Delphi皮太厚了
开始以为是易语言的静态编译版
郁闷了下…… 动态调用可以减肥的。。偷懒了就。。。 牛人啊!! 支持原创。。新年快乐 谢谢 看过 谢谢分享 仰视中 努力中
页:
[1]
2