零基础逆向2d手游
本帖最后由 Dragons·宇 于 2018-1-15 12:00 编辑声明:以下内容仅供学习参考
我算是第一次在吾爱发帖子,此篇文章毫无技术含量,大牛请绕道。
这次用来逆向的游戏名叫《风云天下OL》,我当初也是这游戏的重度玩家,后来由于太过氪金而退游。
一开始为了能肛过土豪玩家,开始尝试逆向这款游戏,希望能从中获利来称霸全服。于是,一个零基础的萌新开始了逆向之路。
1、首先解压apk文件,根据解压出来的文件来看,我大胆推测,这可能是个cocos2dx的游戏
游戏的业务逻辑代码是存放在script目录下的lua文件
2、但是点开发现文件全部是乱码,当时一脸懵逼的我只好在论坛上疯狂寻找lua相关的帖子,不过当时的我再怎么不懂也知道这是加密了。
终于,功夫不负有心人,还是再论坛里面找到了解密的方法,xxtea,也找到了相关工具。不过当时那篇帖子没有讲怎么找密钥,这个是后来我在其他帖子找到的。
//查找签名和密钥的方法,用ida打开libcocos2dcpp.so,按快捷键Alt+T搜索字符串
签名:ya
密钥:mango
好了,既然签名和密钥都有了,那就开始解密吧,用某大佬写的工具
先拿main.lua试试水
//解密成功
........
淦,这特么不还是乱码么
但是好像已经能模模糊糊的看到代码了,虽然不知道是啥
好吧,不能放弃,继续逛论坛
后来知道了lua脚本是可以编译的,也就是说,这可能是编译过后的文件,需要进行反编译才能看到源码
于是乎我又在论坛逛啊逛,一下就找到了反编译lua的反编译工具(原谅我只会用大佬写的工具,我真的是萌新)
好吧,开始反编译
//反编译
成功,奈斯
怎么样,是不是很简单呢,游戏的源码在你面前一览无余
其实我就是想表达,不管你有没有技术,有没有相关基础,都不重要,重要的是你要动手去做,
事情肯定是有转机的。而且以上内容,不需要任何相关的专业技术,所有用到的工具和思路,
均可以在论坛找到,这里就不附上链接了,这点动手能力还是要有的。
当然,你要是想改游戏代码,还是需要一点点的语法基础的。
不过看似一篇短短的文章,我当初还是到处碰壁,比起这里的大部分人,我还是菜的抠脚。
这篇文章真的没有什么技术含量,所以各位高手轻喷。
如有违规,请版主删帖。
以上所使用的工具均收集于论坛,ida可自行下载。这里还是提供一下相关工具吧,
这样方便大家,也方便我。链接里面有解密和反编译工具。
另外,我提供了用于修改过后,重新进行加密的Python脚本,收集于网络。
编译的话随便一个新手教程应该就能学到,官网也有相关工具下载。
最后,再附上一个我自己写的文字转换工具。
链接: https://pan.baidu.com/s/1smpl7EP 密码: 72w5
悄悄地告诉你们,这个方法适用于该游戏公司旗下多数游戏 大毛孩 发表于 2018-1-14 23:00
厉害厉害,大佬解释一下lua文件到底是个什么文件,我接触的都是别人分享GG脚本(lua),和你apk编译出来的 ...
.lua就是lua语言写的文件,就跟java写的.java文件一个性质,不同的是lua是脚本语言,java是编译语言 xisaez 发表于 2018-1-14 22:26
@Dragons·宇你说的二进制文件,是以so为结尾的文件吗?你觉得不是那个吧。我这个游戏,app解压缩以后。 ...
是这样的,我说的二进制文件意思是lua在反编译之前是二进制文件,是回答你在评分里面的问题。至于你说没有lua脚本,这个我也不太清楚,我确实是个新手,反编译过的游戏也就一两个,没有太多的经验。另外这个目录不一定是script,文件格式也不一定是lua,这个你可以问问论坛里其他大牛。 很不错,功夫不负苦心人,只要肯下功夫,锲而不舍,目的一定会达到!
谢谢分享,收藏了。 有需求 真的才会有动力 {:301_1009:} 向你学习,这种精神值得肯定 ZVesper 发表于 2018-1-14 17:15
有需求 真的才会有动力
哈哈,这个说得对。贫穷使我强大。 勤学还是很好的~~~` 不错,很有启发,收藏了 老哥稳,值得学习 为什么我正在研究的手游戏也是cocos2dx的游戏,里面没有lua脚本?