• 标 题:初学者作品(6) (1千字)
  • 作 者:liutong
  • 时 间:2000-5-4 13:05:33
  • 链 接:http://bbs.pediy.com

Magic Note Desktop utility V2.6b的破解

该软件是在计算机中加便条的小工具.
破解使用工具:SoftIce 3.23
软件注册需要输入名字和注册号
任意输入后,CTRL+D进入SICE设置中断点:bpx hmemcpy
回到Magic Note按OK,被中断后按F12键12次(第13次出现错误信息)
然后若干次按F10后,找到下面的语句:
call ...
test ax,ax
jnz ....
进入CALL查看,软件是比较了两个码后,根据结果对ax置位或复位
其中一个代码是由注册号生成的,而另一个代码猜测是由名字
生成的,于是重复上面的操作,找到生成这个代码的CALL,
发现了该代码的生成过程(见下面).
到此再找到另一个代码生成的过程,这个软件就彻底被破解了.
于是追踪由注册号产生代码的过程,可惜本人水平有限,未查出来(后来发现其实很简单)
但是不能气馁,继续想办法:
因为我已经知道比较代码的位置,所以我在那儿下了断点.
然后任意输入注册码,然后比较生成的代码,希望找到一些线索.
我在注册码中只输入一个数字,然后按OK,被中断下来后发现,代码是输入数字的HEX格式
Haha...好象被我找到了,赶紧把刚才记录的数据找出来,比较,果然.
在我努力的结果下,该软件被破解了.
由名字生成代码的过程如下:
第一个字母的ASCII码左移四位,与第二个字母的ASCII码相加,结果左移四位,再与第三个
字母的ASCII码相加,以此类推.最后的结果再与0FF0FFF0相与,再转为十进制即是注册号.
举例说明:
输入名字:Killer (ASCII码为:4B 69 6C 6C 65 72)
4B0
69
5190
  6C
51FC0
  6C
5202C0
    65
5203250
    72
52032C2

52032C2 & 0FF0FFF0 =52032C0

(52032C0)HEX=(85996224)Decimal
注册号: 85996224

知道了整个过程,编写注册机就很简单了.
本人刚刚学习破解,此软件是作品第六号
网上太多的注册码,经验和教程太少.
liutongwu@yahoo.com