【文章标题】: 【原创】破解的另类思路-本来投【X档案】的,他们总是拒绝
【文章作者】: iokou
【作者邮箱】: iokou@163.com
【作者QQ号】: 16551576
【软件名称】: 多个
【下载地址】: 自己搜索下载
【保护方式】: 无
【使用工具】: peid/W32DASM/Hedit
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
本文的目的,只是与同是菜菜的初学者共同探讨破解的另类思路,同时,希望榕哥不要生气,呵呵,按说也不能。
某日,需要忘了自己压缩包的密码了,急需破解,于是下了一个专破RAR文件密码的软件,可是又发现没有合适的字典文件;
唉,下个字典生成的软件吧,谁让网络如此发达呢?
于是就下了小榕(别人这么叫,实际上该叫人家榕哥了)的字典UltraDict,可是,居然需要注册,不注册的话,智能傻瓜式的生成,"选项"、
"高级选项"不能设置.
注册不收费,注册的目的呢,榕哥说的也很明白:"本软件试免费的,注册的目的只是我想知道有多少人在使用它."
可是,要注册的话,用E-mail来来回回的,太晚啦,我可是急用啊,还好下载的软件包里有个破解的说明:"OllyDbg,断点...云云,"
断点?好麻烦啊,刚接触破解,看到下断点就头疼,我还是自己看看吧.
应该说,榕哥根本没有加密处理,所以呢,省了脱壳了,要不,光是脱些难的壳也够我脱会儿的--我也等不得啊.
用W32dsm反汇编,查找"注册名或注册码不正确!",如下:
------------------------------------------------------------------------------------------------------------------------
* Possible StringData Ref from Data Obj ->"C:\regbanyet.dat"
|
:00401D0B 68F4704300 push 004370F4
:00401D10 8D4C2418 lea ecx, dword ptr [esp+18]
:00401D14 E88FEF0100 call 00420CA8
:00401D19 8D7C2420 lea edi, dword ptr [esp+20]
:00401D1D 83C9FF or ecx, FFFFFFFF
:00401D20 33C0 xor eax, eax
:00401D22 B20D mov dl, 0D
:00401D24 F2 repnz
……………………………………
* Possible StringData Ref from Data Obj ->"非常感谢您的支持,注册成功!"
|
:00401DB0 68D8704300 push 004370D8
:00401DB5 8D8C24EC000000 lea ecx, dword ptr [esp+000000EC]
:00401DBC E8AF010000 call 00401F70
:00401DC1 8D4C2410 lea ecx, dword ptr [esp+10]
:00401DC5 889C24B4010000 mov byte ptr [esp+000001B4], bl
:00401DCC E877EF0100 call 00420D48
:00401DD1 8BCD mov ecx, ebp
:00401DD3 E844B50100 call 0041D31C
:00401DD8 C78424B401000003000000 mov dword ptr [esp+000001B4], 00000003
:00401DE3 EB1C jmp 00401E01
* Possible StringData Ref from Data Obj ->"注册名或注册码不正确!"
|
:00401DE5 68C0704300 push 004370C0
:00401DEA 8D8C24EC000000 lea ecx, dword ptr [esp+000000EC]
:00401DF1 E87A010000 call 00401F70
:00401DF6 C78424B401000002000000 mov dword ptr [esp+000001B4], 00000002
------------------------------------------------------------------------------------------------------------------------
正准备也象包里说的那样暴破呢,一时猴急,忽然发现“* Possible StringData Ref from Data Obj ->"C:\regbanyet.dat"”的字样.
我的E文不是很好,这个“C:\regbanyet.dat”,中的reg,不是注册的意思么,那么这个"regbanyet.dat"文件在那里呢,程序的文件夹里没有,
C盘下也没有,嘿嘿,是不是跟注册有关的调用文件呢?
于是,用UE(记事本也行)编辑一个内容为"1"(不含引号)的文件,保存的名字为:regbanyet.dat.
然后,将编辑好的regbanyet.dat文件拷贝到C:\下,运行…"UltraDict.exe",所有的功能都可以使用了!
附:《刀剑××录-上古××》也有类似的情况:
((游戏装在台式机上,机器又在我的家里,我家离我工作的地方足足有700多里地,所以当时的工作记录都拿不到了,一些程序的名称也都忘记了,请谅解))
本来,我是直接从别人硬盘里拷的,玩的时候也正常,没有提示什么序列号之类的,有天好奇,进了游戏目录,点了一个EXE文件,结果,
跳出输入序列号的界面--我没盘啊!
先分析游戏目录的文件:发现一个没有图标的名为:“game.exe”的文件,双击,呃~还是要序列号--这个应该是主文件了,原先运行游戏时,
倒是直接运行一个刀剑图标的文件,看来是调用的。
接着:测壳--→有则脱之--→反汇编--→串式参考:查找序列号填错时的信息提示(忘了)--→双击,来到代码处--→向上查找,发现其判断过
程调用一个名称带“pixel”的文件,大家都知道,这个游戏的制作商是像素,那么这个是什么敏感信息呢?
在游戏的安装目录,查找,一个含“pixel”字眼的文件夹下有个“pixel”字眼的文件,大小才1K,用UE打开,发现只有一个数字“0”,试试?
试试!改为“1”,然后设置只读,运行“game.exe”,哈哈,不提示序列号,直接进入游戏;
试着运行刀剑图标的EXE文件,晕,又要序列号,回头查看那个“pixel”字眼的文件,内容又被写为“0”了,呵呵,看来只有凑合着用没有图标的
“game.exe”了。
--------------------------------------------------------------------------------
【经验总结】
总结:可能这两个都是特例,但是也可以为大家提供一个新的思路,希望与同道们共同进步。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年09月30日 下午 01:55:14
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!