Embedded Wizard 的完全破解(目前最高到5.10版本)

     感觉天涯不适合发技术文章,发来这里了:)

     最近为这个事忙活了整整两个星期,今天无事,在此做个记录吧。

      Embedded Wizard(简称EW) 是一个做OSD的工具,在嵌入式平台的界面编辑中用得还是比较多的,很多开发电视的厂商(如brocom,zoran等)都有在用它,最近我们公司由于开发上的需要也在使用,但是此软件的加密狗很贵,一个就需要几千美金,无奈之下,只好自己动手破解,只为自己学习,并不提供给公司使用,毕竟软件是有版权的。

     就说说大概思路吧。

     在分析过程中走了一些弯路,比如说,这个软件里面有隐含的anti-debug,开始时候并不知情,跟了很长一段时间的无用代码。排除anti后,考虑是否直接在提示需要加密狗的时候把这个提示对话框消掉,结果证明不行,明显加密狗有提供一些软件需要的信息,而并不是只检测是否存在加密狗那么简单。因此,破解这个软件唯一的途径就是找出其读加密狗并检测加密狗数据的地方。

      经过IDA和OD的反复调试,发现代码中有一个地方readfile,每次检测加密狗的时候都会经过这个函数,但是很可惜,每次程序去写入和读取加密狗的值都是随机的,找不到任何规律(规律肯定有,只是我没找到,呵呵),因此,通过分析软件与加密狗通信协议的方法也失败了。   继续让下跟,发现软件把从加密狗读出来的数据(固定为320 BYTE)经过一系列运算,最终把运算值传递出去。发现不管读进什么值,这里的运算结果(也为320 BYTE)都为同一个值,借来一个可用的加密狗,果然!问题的关键点找到了,从加密狗读取进来的值是加密的,但是经过一系列运算解密后的值却是固定的,幸运!!

      接下来的问题就简单多了,用硬件中断的方法来打补丁,每次程序一运行到这里的时候,就把这边的运算结果更改为正确的值。

      经测试,加密狗完全破解,软件运行良好!

      题外话:感觉Embedded Wizard做得还是非常好的,在很多平台移植都没有问题,ARM,MIPS工作得都很优雅,设计这款软件的公司实在是应该赞一下,希望大家也支持他们。

     本人联系QQ:21054012

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值