android软件反编译的简单应用
来源:互联网 发布:python内置函数怎么用 编辑:程序博客网 时间:2024/05/01 10:03
本文所写仅限于技术性研究,请勿用于任何不当用途,否则后果自负哈。
植物大战僵尸2昨天出android版的了,玩了下,没钱买金币真难,好吧,那只能用屌丝最喜欢的办法了,修改。。。。。
先把下载的apk用apktool之类的反编译工具反编译成smali文件,结构如图:
移动游戏基地的sdk包名以cn.cmgame开头的,所以直接找到它。用过移动游戏基地的人应该都知道,它用了个回调函数来通知程序付费成功与否(没用过的自己去下一个看看),所以我们就直接去反编译的到的smali文件中找对应的付费成功失败的函数名,成功的就无所谓了,找失败的(onbillingFail),最后发现,所有的onbillingfail调用都在cn.cmgame.billing.ui.b$1.smali文件中,那接下来就超级简单了,把所有onbillingfail全部替换成onbillingsuccess。不知道怎么写smali文件中那种格式的代码无所谓,去找下当前文件中onbillingsuccess调用是怎么写的,复制过来替换上就行了。
将上图所示的都替换成下图这样,其实就是把所有Fail改成Success就行了。
当然,
用户取消也要改成成功的。到这里,付费的破解基本就完成了,反正不管是付费失败还是付费成功,都是回调游戏中成功的函数,不过为了防止某些比较笨的用户硬是要去点确认支付的按钮,那我们把确认支付的按钮都给隐藏掉去,顺便把String.xml里面的一些说明文字改一下,告诉用户其实不会扣费等等。。。。
按钮吧,肯定在cn.cmgame.billing.ui里面的,那就一个文件一个文件找找吧,这个比较麻烦点,反正慢慢找,一共就那么多文件。最后发现在b.smali里面有个button比较像,
这里的addView大家一看就应该知道怎么回事了,一删了事。(其实你也可以保留按钮,把按钮的点击事件替换掉,但是smali文件里面的代码太乱了,像onclicklistener这些内部类会被分散到比如b$1.smali之类的文件中,找起来太麻烦了)。然后重新打包签名运行下试试,就会发现确认付费按钮已经消失了,直接取消付费就成功购买到东西了,另外,这个修改其实对所有用移动计费的都是通用的,下次别的游戏直接用这次修改的替换文件就可以直接打包了,省的去一个个找。
- android软件反编译的简单应用
- Android反编译的软件是Android Killer
- 我是如何使用Android反编译软件的?
- Android反编译分析软件
- Android反编译软件
- Android应用apk文件的反编译
- Android 如何进行简单的反编译
- Android简单的反编译嵌入例子
- Android 混淆与反编译的简单记录
- android 反编译其他应用
- 反编译Android应用
- 反编译Android应用
- 反编译Android应用
- 反编译Android应用
- android简单反编译
- 别人的Android的软件反编译后图片不全
- 一个三年Android开发的总结 - Android应用的反编译
- android反编译软件合集
- C#中timer定时器的用法演示
- 关于多态的代码理解
- 分布式核心技术
- 【Android 应用开发】Android游戏音效实现
- android如何实现开机自动启动Service或app
- android软件反编译的简单应用
- [002] Android系统简介 .
- CSS框架-SASS 用法指南
- I/O performance in Python - Python Performance 5 of n
- 合并byte数组
- 英文论文中“such as, for example, e.g., i.e., etc., et al. ”的用法分析
- ecshop二次发开必备_函数汇总(一…
- Linux命令大全
- 浏览器显示服务器时间