破解明宇报表开发工具全程记录

用了这么多报表工具,明宇报表平心而论是目前市面上稍好用的报表工具。公司选择明宇报表之初,该报表并不能实现公司所有需求,甚至主要需求也无法满足,后来公司与深圳明宇公司合作,明宇公司给我们公司定制了一个报表工具。但是无奈明宇使用了加密狗,必须要用key才能使用,而这个开发key好几万一个,不得不说这个明宇公司够黑的。由于公司业务越来越多,key经常都是几个人轮着用,有时客户催的紧,key又被别人急用着,焦头烂额之际,我想何不把他破解了,于是我开始寻思着如何下手。具体的分析过程不做累述。接下来开始上主菜吧。

要key才能使用


经过分析发现,这个工具是用dephi开发,并且是加了壳的,是UPX壳。加了壳的软件,通常我们找不到主程序入口,那么很简单,首先我们要脱壳。

1、将程序载入OD,按F8开始单步调试,当左边寄存器窗口的ESP和EIP红了就停。

 

2、选中ESP后面的地址,右键-》数据窗口中跟随

3、选中地址打上断点


4、重新开始,按F9让程序执行到断点处,然后F8单步到


这里的Jnz是一个像上跳转,我们选中下面一条,然后按F4直接跳过这一步,此时里程序的OEP(程序真正的入口)已经不远了

5、然后按两次F8,就到了程序的真正入口了,我们可以开始脱壳了

6、右键-》用OD脱壳调试进程



什么都别改,直接点击脱壳。保存,脱壳完成。

接下来开始破解加密key了,我们将脱了壳的程序载入OD

1、  按F9运行起来,到程序弹出“未找到加密锁”的提示框,按F12跟踪,点击K,来到

 

2、  选中,右键,选择在显示调用


3、  在段首处设下断点


4、  重新运行,到达断点的时候,右下角会出现返回到xxxxxx到xxxxxxx,选中00404B3C右键.选择反汇编窗口中跟随,找到他的汇编代码

6、jnz在汇编语言中的意思是当结果不为零的时候跳转,没有key的情况一定返回了0,所以我们将jnz改为无条件跳转的调用,也就是将jnz改为jmp,相当于if(1==1),程序就会继续往下执行

 

保存一下,我保存在了桌面,文件为b.exe,然后打开看看

这个时候程序已经不再提示“未找到加密锁”,说明加密锁成功。但是又提示个这个玩意,没关系,一样的道理,重复上诉步骤,在反汇编跟随的时候,上面遇到的是jnz,jge的意思是有符号大于等于则跳转,也是一个判断,同样把jge改为无条件跳转。

改完之后保存为文件c.exe,打开


妈蛋还有提示,无奈再次重复上述步骤

功夫不负有心人啊,历经九九八十一难终于取得西经。大多数加密狗的破解方法都是类似的,大家可以举一反三<><>

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页