首页 > 智能手机 > 浅谈Symbian塞班软件的破解

浅谈Symbian塞班软件的破解

这两天在论坛上发现很多兄弟转了一些S60软件的破解教程,可见有不少人对S60的破解还是比较感兴趣的,可惜Symbian的破解研究不像PC软件那样公开化,基本上现在的破解组织都喜欢把这点破事遮着掩着,这也是其不能正常发展的原因。 俺投身symbian软件的破解事业也算有一段时间了,偶尔运气好也破解过几个软件,略有心得,拿出来与和我一样的菜鸟们分享!请注意本文只是一些心得体会,并不涉及具体软件的破解过程。个人水平有限,不妥之处在所难免,敬请高手赐教!
开门见山,我们为啥要破解?(为啥?这不废话嘛,我就是要破解,没有为啥!)OKOK,俺要说的是,破解是一种爱好,一种技术。曾经有人要和俺合作,让俺破解了国外的软件包装成他们的,给他们卖,俺给回绝了。犯法啊,兄弟姐妹们。咱自己不舍得买,破解一个自己用倒也说得过去,拿出去卖那是不是就…
以上是废话。
    当我们拿到一个软件,我们为了要正常使用它的全部功能,而又不愿意支付高额的注册费用,我们就需要将软件的限制去掉,这里的限制在Symbian软件里,就我所遇到的,大致有以下几类,总结不足的大家指正:
1.时间限制
这种软件可以用,但是只能用一段时间,典型的如SmartphoneWare公司的所有软件,都是提供了15天的trial版本。这里要提一下,所谓的trial版本是指的试用,它理论上是功能齐全的程序,只是因为需要注册而增加了一些限制。与之相对的是Demo版本,即演示版本,这种版本大多功能不全,破之何用?
2.注册限制
     这种软件比较狠,不注册就不让用,装了也要赶紧删了,除非..XX!!
3.关卡、难度、选项限制
这类软件提供了部分关卡,难度的试玩,只有注册了以后才能够玩全部的难度或者关卡。也比较变态,不注册就不让你继续玩,气死你啊气死你..nnd!
4.在线验证
     这是最狠的一类,也是比较少见的,曾经碰到过一个,没仔细研究,如果让你碰到了,哈哈,赶紧买彩票去吧。
不管软件有何种限制,我们的目的都是一个,把限制消灭掉! OK,那如何实现呢?
     我们知道,目前手机软件的注册基本上都是根据手机的串号即IMEI来计算serial注册码的,那么好吧,无论你是怎么计算出的注册码,到最后,你总要把我输入的和你软件自己算出来的进行比较吧?比较结果一样就注册通过,不一样?那就sorry了..
   由此,我们可以想到破解的第一种思路,找到他的比较语句,让他比较结果无论是不是一样,都把它改成一样,这就是普遍用到的强制跳转。举个例子:
CMP   R0, #0 ==== 比较 R0 和 0的关系
BEQ   xxxxxx ==== 如果相等就跳转到xxxxxx
B       yyyyyy ==== 直接跳转到yyyyyy
从这三条语句我们可以假设,在这里,程序对R0 和0进行了比较,BEQ的含义就是如果相等就跳转,根据上面提到的,如果相等就是注册成功,显然我们任意输入的注册码是不可能相等的,这样我们把BEQ修改成B直接跳转,这样的话,我管你是不是相等,程序就都认为是相等了。
与之对应,还有一种情况,BNE不相等时跳转,显然这里跳转过去是因为我们的输入和注册码不相符,那咋办呢?我们这时就不需要它跳转了,所以把BNE改为NOP,nop的意义就是no operation,啥也不干,废话一句。
      这可以说是最常规最常规的一种思路,但是目前大多软件公司已近不再这么单纯了,所以说,人心复杂了,日子不好混了啊。。于是乎我就有必要提到一个函数了—Compare__xxxxxxxxxx,这个函数是用的非常多的比较函数,当你熟悉了ARM的汇编以后,对它特别关注一下,也许会有意想不到的收获,在此不多介绍。
 对于第1种情况和第3种情况,我能想到的还有一种方法,就是直接搜索它所提供的数字,比如14天的试用,如果你够幸运,能够搜索到一个14,恰好是他用来判断天数的,那么,你可以把它改成999、9999..反正你想用多少天就看着办吧。我曾经遇到过一个游戏,试玩前10关,过了第十关自动退出,我搜索了一下10,还真找到了几个,全部改成99,OK,顺利进入了11关,所以还是马克思主义的那句老话:具体问题具体分析,没有万能的破解方法。
     对于第4种情况,俺目前解决不了,期待达人出来提供一下思路吧。
     以上只是可能用到的一些思路,并不能帮助我们完成某一个软件的破解,但是相信会给毫无头绪的菜鸟一点思路,下面是我总结的一些破解Symbian软件原则。
1.ARM汇编指令要了解,没必要背过
2.破解是一种过程而不是结果
3.不要一开始就用工具分析软件,先安装到手机上试运行一下,看一下它有什么限制,如何注册?

4.分析它的注册代码的位置,记下他的一些可疑的跳转。如果有能力,画出自己能看懂的程序注册部分的流程图。
5.多问问自己,如果我是这个软件的作者,我会怎么设计注册?
6.细心、耐心、信心!相信自己能成功。
7.在国产软件上右键单击选“删除(D)”
8.写总结,无论破解成功与否,体会比获得的知识更重要。

    顺便提议一下,以前看到过一些教程,如果你作为一名老鸟,或许感到很多事是必然的,但对我等菜鸟就不是那么明确了。你说跳转到这里就跳到这里?为啥啊?你当时是怎么想的啊?有没有想到建设和谐社会、八荣八耻啊?一篇好破解文章不单单是过程的记录(比如突然冒出一个来到这里),最好还能是一种思想的启示(为什么你要来这里,怎么使你来这里),这也正是我想告诉大家的。
  还有就是加上破解的时间,这是我看别人提的,确实,一篇文章,看起来那么 几百字,感觉像3、5分钟就破完一个程序一样,给初学者信心比较大的打击:“怎么我破了整天都没有搞定呢?”。但是如果加上时间,大家就可以看出差距了:“原来××牛人都用了半天,我还不太蠢^_^
     罗嗦了半天,没有别的目的,希望能够使你在看完了这篇文章之后会有这样一种信心:其实破解不是什么神秘的事情,搞个破解也是不只有牛X的人才行的,只要你心中默念”我能破解你!我能破解你!”,相信倒在你面前的软件公司将不仅仅是一家两家……

原创文章,转载请注明: 转载自感叹忽然的部落格

本文链接地址: 浅谈Symbian塞班软件的破解

  1. 还没有评论
评论提交中, 请稍候...

留言

您需要登录之后才能发表评论,如果您还没有账号,请先注册
可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks