:004D11E2 B974124D00 mov ecx, 004D1274
* Possible StringData Ref from Code Obj ->"注册成功!谢谢您使用本软件!
程序需要重新启动"
~~~~~~~~~~~~~~~~~~~~~~~~~~*****爆破******~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
爆破就是爆着破:-)
看一下我们的分析:
:004D1174 0F8593000000 jne 004D120D 看到了吧!就是从这里我们走向了死亡!
那我们就不走这里了!他jne我们就改成je
*开工!!!!!!!!!!!
*首先,运行ollydbg加载脱壳后的unpacked.exe找到地址004D1174
004D1174 0F85 93000000 JNZ UNPACKED.004D120D
咦!!!!!!!怎么变成jnz了?(我也不知道为什么)但他与爆破无关!我们把他改成jz就能起到一样的效果
1)我们双击这里: JNZ UNPACKED.004D120D是改变它的汇编代码___________________注{
2)我们把他改成JZ 004D120D 点汇编后,他就变红了 再点取消! {
3)然后右键单击JZ 004D120D选择"复制到可执行文件" {双击地址栏是绝对地址和相对地址的转换
4)这时弹出一个窗口最上面就是000D1174 0F84 93000000 JE 000D120D { 例如:我们双击004D1174 就会变成$ ==>
我们再右键单击JE 000D120D选择"保存文件" { 双击机器码栏就是设这个地址为断点
5)输入你设想的文件名就可以了 {例如:双击0F85 93000000我们可以看到变红了
6)运行,呵呵!!已注册! {说明我们已经把004D1174设置为断点再双击就恢复
~~~~~~~~~~~~~~~~~~~~~~~~~***爆破结束***~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
经过上面的过程
如果你觉得不过瘾就到注册表HKEY_LOCAL_MACHINE\software\microsoft\
windows\currentversion\changid
删除该键的键值(如果已注册没注册就不用了)
我们继续这次我们要动态分析了~~
################################动态分析###################################
动态分析的前提就是静态分析,我们回过头看一下静态分析的结果
:004D116B 8B55E4 mov edx, dword ptr [ebp-1C]
:004D116E 58 pop eax
:004D116F E8C42CF3FF call 00403E38 //这个是比较的call
:004D1174 0F8593000000 jne 004D120D
那么我们就在004D116B设置断点吧~~~
F2或者双击机器码栏设置断点---F9(运行)--输入用户名winroot,获取ID,ID号码4835812338,点击注册,
程序被OLLYDBG拦截,
乖乖~~
你猜我们看见了什么!!!!一串数字耶!!!3230027325再往右下看堆栈窗口一行ID号码4835812338,一行3230027325
你看他那张脸,长得都像注册码~~~
退出来试一下~~~你快看我的脸 :-)
呵呵~~~~成功~~~
内存注册机你就自己作吧~锻炼一下!
##################################################################
破的还不过瘾~~~~~~~~!!!
怎么办?
crack的宗旨就是制作出keygen
下面我们就来试一下,
首先还的分析~~通过上面的动态分析我们知道序列号的生成肯定在004D116B上面的某一段程序,
~如何确定只有跟踪,看注册码最新一次是在哪个地方出现!
所以我们再向上看的时候发现了一个循环!非常可疑,下断点跟踪!
(ollydbg会把循环标出来!)
004D10EA
关键词:ollydbg1.08b教学篇