这教程实际上并不是倡导大伙儿去破解软件然后传播出去以侵犯作者的权益,纯粹是技术分享,如果大伙儿觉得Low了,可立马删除。
sublime text是我非常喜欢的一款编辑器,在ubuntu上,之前用的一直是vim,可是用过vim的都知道,相比sublime,总缺少一种如油般润滑的感觉,并且配置起来也稍点麻烦了一点点(其插件的成熟和数量确实让人欣喜,但是sublime也不差了诶~),虽然现在vim在插件管理方面有vundle等等这类优秀的"manager",但编辑器,怎么配置也没法和成熟的IDE比,所以我自己还是更追求用的时候爽不爽,无意配置成IDE。
大伙儿都知道sublime的作者其实挺好的,并不限制我们正常使用,只是时不时跳出一个框框提示咱们去购买,所以咱们的教程只从这个出发,不让框框跳出来。一来比较简单,二来unregistered这个字样还是没有消失,提醒咱们在昧着良心用着人家辛苦开发出来的作品T_T。好吧,等毕业赚钱了我一定付费。。。
其实这个也不算个教程,只是个方法,毕竟教程这个东西需要条条框框,得讲究个起承转合,但po主并不爱这么来(po主小学语文一直不错的),更愿意把每篇称作“随笔”,毕竟写东西很容易产生“不想写了,明天再写完吧”的想法。。
对于破解,我只是一个门外汉,起初也只是为了破解sublime才买了本看雪论坛出的《加密与解密》翻了翻,这才入了这门,po主本身是CS专业,深知各个领域各有各的水,水有深有浅,不敢造次,也不敢说对逆向有多了解,后面如果说了任何很low的话。。。请一定要原谅。。。すみませ。。。
话不多说,言归正传:工具咱们用的是IDA PRO(也有很多其他工具,只是对于大部分人来说,这个最好用吧),如何获取它,基本用法什么的,自己搜搜吧,有钱最好是买。。。
用IDA PRO打开sublime text的可执行文件。第一件事就是要想想从哪儿开始,因为目的是消灭提示框,所以咱们可以从它引用的字符串出发,这是一般方法中的一种,也有其他方法。我们可以回忆一下,它的提示框里是什么内容,经过询问街坊邻居,我们可以发现它提示的是
Hello!XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
既然发现了“路标”,咱们就去IDA中用灵巧的手指娴熟地按上Alt+T快捷键,然后出现了一个性感的框框。
搜索"Hello"即可,当然了您也可以多输几个字符增加精确性,这里刚好可以搜到,于是就可以看到这般场景:
扫一眼瞧瞧,没跑了,这就是了!然后咱们在 DATA XREF:sub_4C3171 *这里双击,就会到程序的运行context中:
我们不用管这段代码是在干什么,只需要知道它和后面用来显示框框,所以我们需要做的时候知道哪里会调用它,然后在那里下手,不要跳到这里就行了,那么怎么找到那些可以跳到这儿的地方呢?在第一行可以看到 loc_4C3FD6 ,在这里右键,点击jump to xref...,点击其中唯一的一项,它代表只有一个地方会跳到这里:
之后右键点击Graph View,就会清晰地看到调用关系:
我们可以看到有两个路径可以到这里,现在就简单了,修改跳转指令,使条件跳转改为无条件跳转即可,到这里就结束了,再写多了就真是不太好了。这仅仅是个教程。。。如果有条件,请一定要支持正版。