-
-
[旧帖]
[原创]第一次破解软件
0.00雪花
-
发表于:
2010-1-10 09:44
1663
-
第一次crack,发上来,做个纪念。高手就不用看啦,都是些小技巧而已。
希望和大家一起进步!
注册界面如下:
我注意到序列号只能输入数字,注册码可以是数字也可以是字母。长度都不限。随便输入一个后,
得到注册失败的提示信息如下:
打算以此作为突破点,于是用OD打开主程序:
怀疑是加壳的程序,于是用Peid打开程序查壳:
下了一个针对ASPack2.12的脱壳程序,很容易解决,再次使用OD时没有警告了。
先来查找一下关键的地方,也就是注册成功与否的跳转点,利用前面找的失败提示信息。
在主窗口中右击,找到:超级字符串参考*->1 查找ASCII->在弹出窗口中右击查找,输入“注册失败”找到如下信息:
接下来瞄准005527228这个地址。
直接在此处右击,然后点跟随或回车,跳转到主窗口中对应位置。
然后看到指令前有个红箭头,发现有一个跳转指向这儿,往上找,不远处有如下两条指令:
我分析,00404BE8处的函数应该就是处理注册码是否正确的关键。
为了验证此处就是关键,先关闭OD,用UtrlEdit打开程序,查找0F85 C7000000 A1 BCFA5200,也就是上面图里面JNZ指令对应的两行指令的机器代码,找到后就把85改成JZ指令对应的75,这样如果能让程序在错误的注册时候反而能够通过,则能验证上面的猜测。改过后保存,重新打开程序,注册,没反应,再开,已经是注册版本,说明猜对了!
本来打算分析一下注册算法,写个注册机来的。程序很好写的,但是算法没有分析明白,一直没思路。所以先学习学习加密与解密这本书过段时间再说吧。呵呵。
[QUOTE]
[/QUOTE]
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法