-
-
[旧帖]
[分享]某淘宝第三方软件暴破过程
0.00雪花
-
发表于:
2009-12-30 01:22
1942
-
[旧帖] [分享]某淘宝第三方软件暴破过程
0.00雪花
大家好!这是我第一次写破文,这个软件也是我第一个破解的软件,现拿出来与大家分享一下。
先说明一下,这是一个付费软件,在一些淘宝卖家中还是相当有一些人用的,作者开发个软件也不容易,所以我在这里不上软件界面图,必要的地方用文字描述,我会尽量表示得清楚一些。毕竟破文提供的是破解的思路,跟软件界面关系不是很大。
现在开始:
1.当然是先脱壳,用PEiD查壳,发现是UPX 0.89.6 - 1.02 / 1.05 - 2.90 (Delphi) stub的壳,还是比较常见的,有很多自动脱壳的软件,这里就不用手脱了。我是用PEiD中Unpacker for UPX 2插件脱的壳,得到unpacked.exe文件。
2.先运行软件,试注册一下,发现这款软件是用机器码加在线验证注册码的方式注册的,随便输个注册码注册,提示“非法授权码”。用OllyDBG打开unpacked.exe,查找ASCII,在找到的字符串中并没有找到该字符串,这应该是在网络验证时,从作者网站上返回的错误代码。
先暂时不管,再找找看软件中有没有别的未注册提示信息,发现软件标题上显示“未注册”,任务栏中也有显示“您的电脑未注册”字样,查找同样没找到该字串。
3.重新运行软件,发现软件一开始就会先检测该软件是否已注册,然后在标题和任务栏给出提示,我想这里一定有一段判断语句,如果没注册软件有提示且主要功能不能使用,如已注册则软件正常运行。
4.既然未注册的地方无从下手,于是转变思路,从已注册的地方入手,查找到软件标题显示已注册的地方,向上找发现关键跳转0054B51F(见图),这里我们是要让后面的代码执行,于是把这个语句改为NOP,跳转无效,试运行,软件标题显示“已注册”。
接下来试一下软件的功能,发现按下功能按钮后还是提示“该软件未注册,请联系作者”,正常功能不能使用,于是再查找该字符串,向上找发现关键跳转00549482(见图),这里与上面那段代码不同,我们是不让此后的代码执行,于是把jnz改为jmp,强行跳转。
5.复制到可执行文件-》所有修改,生成新的exe文件,试运行,一切功能正常,破解成功!
破解心得:
1.该软件的破解过程并不是从注册对话框入手,也没有去跟踪注册码的算法,和一般介绍的破解方法有点区别,原理就是跳过所有遇到未注册限制的地方,这应该就是所说的暴力破解吧。
2.判断哪里是关键跳转有个比较快的方法,就是看跳转语句是否完全跳过相应的提示信息,在OD中跳转到哪里都有箭头指示的,请看上面两个图中的绿色箭头。
3.我觉得破文不光是要介绍破解的过程,最主要还是要写出Cracker的思路,是怎么一步一步找到关键点的,这是一个思考的过程,写出来有助于引导新手的思想。
以上是我的一点分析,请各位大侠多多指正。
这属于OllyDBG的应用,在代码区点右键-》超级字符串查寻-》查找ASCII(超级字符串查寻功能是OD的一个插件),会出现一个新的窗口,这里就显示着被反编译软件的所有字符串,可以用查找功能找到你要的字符串,如“该软件未注册,请联系作者”等等,双击找到的字符串就可以转到相应的代码区了,上面那两个截图就是这么来的。
超级字符串查寻插件英文名字叫Ultra String Reference,看雪里是有的,为了大家方便,在这里再发一个吧
下载后放到OD的Plugin文件夹里就可以了
ustrref.rar
PS:大家不用去猜这是什么软件了,这里只是分析破解思路和方法,不提供此软件。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)