破解也是会上瘾的
公司内部开发了一个软件,是把某高精尖设备采集的数据用各种花样显示出来,还搞了一个注册系统,分普通用户,中高级用户等若干级。俺们这种闲散人员自然只有普通用户的帐号,一直相安无事,直到前几天软件过期了,打电话给开发者结果他出差了暂时不能再发注册号。自己琢磨开了,谁让俺办法多啊。
1)先拿UltraEdit在exe文件里搜索了一下公司名和其它一些文字,都没有,知道是加壳的。
2)拿脱壳机脱了一下,2MB的exe变成6MB多了,这下能找到公司名字了,还有delphi的一些特征,就知道是拿delphi开发的
3)拿了一个修改exe资源的程序 resource tuner去RC Data里找,发现提示过期的界面上实际还有一个“继续试用”的按钮隐身了,把它的Visible和Enabled属性都改成True, 保存完运行,果然可以从这个试用的按钮进入软件界面,但是许多功能如“设置”一点击又弹出那个过期的界面,应该是什么地方有个标志位。
4)拿调试器加载这个exe文件,提示不能在调试器里运行就退出了。查文献知道windows有个IsDebuggerPresented之类的调用,用UltraEdit把它改掉,就能进调试器运行了,可是俺是不怎么懂汇编的,所以玩调试器之类只能装个样子,进行不下去。
5)俺琢磨着继续拿资源修改器去找隐蔽的按钮改特性,果然又出来一些功能,可是都有些问题,比如说计算的数据中间缺几行,可能是缺少必要的初始化吧
6)下面祭出重量级的DeDe反编译程序,把exe反编译成一堆pas文件,进去一看还是汇编语言,不过许多过程的名字很一目了然,那个encrypt()和decrypt()显然就是数据加解密的,还有一个叫LimitProgram明显就是限制程序的功能嘛,进去一看果然按某种算法把用户分为低中高级,但是怎么分的怎么限制的看不懂。
7)灵机一动,看不懂不要紧,俺把LimitProgram里第一句就改成"C3"(RET), 不执行就是了。
8)保存一下,运行果然出来一大堆原本被隐藏的菜单,有些功能很让人惊讶啊。但是某些功能还是有问题,可能还是因为漏掉某些初始化了。
9)这时候开发者把普通用户注册码发来了,注册了一下运行,那些菜单又消失了,但是看了看文件时间俺知道它把注册码放在某一个文件里了,而不是注册表里。
10)看来现在只要用调试器跟踪一下它验证注册码的步骤,就可能把自己设为超级用户。
学习有动力了,哈哈
**别泄给外国人啊,应该有一点这样的常识。 这个技术高啊,农民我表示看不懂{:3_101:} 吼。。。。。。。懂的就看明白。。。。。。。。。俺是菜鸟 看不懂的路过 看不懂的路过 继续努力 路过{:1_296:} 略有一点懂。。。基本不懂的路过。。。 很久沒玩這了~{:1_303:} 新手看不懂路过 这个是有点复杂。 完全不懂路过 太高深了 学习了 LZ是高手 俺是一窍不通。 LZ把我们都说晕了~~ 简单来说就是拨开衣服切了包|皮然后一晚7次还能6点钟上班做到晚上5点, 楼主包皮环切手术很成功。。。。。。 太牛掰了,佩服!