发布于:2018-6-29 14:34 | 171638次阅读 作者: 外部投稿 | 原作者: l1nk
常用工具下载链接: http://www.androiddevtools.cn/ 本文主要用到的工具:MT管理器 思路: 拿到一个游戏一定要先进行试玩 看看有没有什么关键的字符串 并观察布局特征 当破解没有思路的时候 可以adb连接 打印log进行分析 DDMS也很好用 适合于快速定位 APK文件结构分析 实际上可以算作一个zip压缩包 解压后会得到 AndroidMainifest.xml 配置清单(二进制格式) res 资源库目录 一般存放xml布局文件和图标 classes.dex 安卓系统上的可执行文件,也是我们逆向的主要的文件,源码都被编译在里面,如有多个是因为每个dex里最多存放65535个方法,而项目的方法数超出了这个数量,所以被分成多个保存 resources.arsc 资源索引文件,包含语言包,汉化的话一般是反编译这个文件
首先要知道一些关键词: 内购关键词: 和游戏搜索方法名 onResult,onchinabilling,resulton,Paycenter,Callback 联通游戏搜索方法名 OnPayResult,PyaResulton,Activity,result,callback 电信爱游戏搜索方法名 paySuccess成功,payCancel取消,payFailed失败 移动mm搜索方法名 onBillingFinish,Billing,CallBack 支付宝和银行卡方法名 handle,message 支付宝搜索字符:9000 360支付 onfinishedon,Activityresult 发送短信上限:android.permission.SEND_SMS 发送短信锁定支付式关建字符串
运营商网络特征码备注 中国移动46000、46002、46007、46020return 0 getMobileType 中国联通46001、46006、46010return 2 getOperatorType 中国电信46003、46005、46011return 1 getSimType
举例分析: if-eqz v6 :label_104 意思是判断v6是否等于0 如果等于0就跳转到 label_104 所以当label_104对应为失败代码时 直接删除该跳转语句也就是if-eqz v6 :label_104 if-nez v3 :label_86 意思是如果v3不等于0就跳转到label_86 而他的代码是 label_86: return_void 所以是正确代码 必须让他直接跳转到这里来 所以将if-nez v3 :label_86改为goto :label_86 如果有取消支付选项 可以将该选项加入最后的*switch中 move v1 v6意思是将v1的值传给v6 const/4 v1 1意思是将v1设置为1
4399游戏破解攻略http://a.4399.cn/(4399手机游戏官网) 1. 搜索两次单机(方法名) 2. 搜索两次侵权(方法名 有的游戏不需要) 3. 签名 (1) 街机大富翁 直接修改初始金币和经验 字符常量池直接过滤gold 找到player_gold 直接搜索 进入get_gold Const/16 v2 0x64 保存后再看发现变成了负数(因为超过了最大范围) 所以直接改进制 去掉/16 将升级所需的经验值该小 进入assets资源文件夹 进入data 找到相应文件 以文本编辑器打开
其他游戏关键词: 1. 如果游戏是咪咕游戏http://g.10086.cn/(官网),就用onresult (1)格斗三国志 如果看着不太对 没有正确错误什么的,就找路径 三网锁定 把if都删了 (2)猪猪侠之传奇射击 进入之后发现啥都没有 可以搜索一下字符串 看看正常不 有没有什么.so文件之类的 看看classes.dex文件大不大 700多kb就算大 一般可能会加密而不会是加壳 直接搜payrSuccess 想弹窗题诗就直接吧paySuccess里边的代码全部粘贴到payFaile里 把方法路径改一下 (3)火柴人联盟 盗版验证弹窗 按钮事件 1就代表成功 0失败 2取消 常量搜索setPositiveButton 按钮事件触发check 看代码最后调用的是 popKuangInfo 直接搜索他 让其他调用他的直接return_void 去除短信权限 进入字符常量池 过滤sms 将android.permission.SEND_SMS删去 (4)3D狂野飞车3-极速前进官方 发现有作弊应用某修改器 弹窗提示让我们卸载
2. 如果游戏是爱游戏http://www.play.cn/(官网),就用paysuccess
3. 如果游戏是mm游戏http://mm.10086.cn/(官网),就有 onbillingfinish
4. 百度手机助手 天天格斗 搜索onresult 发现没有支付相关的代码 接着搜索paysucess 后边带有listen的是说明 将成功的代码分别粘贴到取消和失败哪里 接着去掉短信权限 签名后安装购买道具还是会显示支付失败!!! 接着搜索paysucess代码里最后调用的那个方法名 5. 脑电波 支付宝内购 搜索9000 删除某跳转 微信内购 搜索onresp
新手必读背部分语法的意思(必背): “if-**”条件判定
“goto :label_**”直接跳转到:label_**
"label:**"用于跳转的,就是执行它下面的一串代码
"if-eq vA, vB, :label_**" 如果vA等于vB则跳转到:label_**
"if-ne vA, vB, :label_**" 如果vA不等于vB则跳转到:label_**
"if-lt vA, vB, :label_**" 如果vA小于vB则跳转到:label_**
"if-ge vA, vB, :label_**" 如果vA大于等于vB则跳转到:label_**
"if-gt vA, vB, :label_**" 如果vA大于vB则跳转到:label_**
"if-le vA, vB, :label_**" 如果vA小于等于vB则跳转到:label_**
"if-eqz vA, :label_**" 如果vA等于0则跳转到:label_**
"if-nez vA, :label_**" 如果vA不等于0则跳转到:label_**
"if-ltz vA, :label_**" 如果vA小于0则跳转到:label_**
"if-gez vA, :label_**" 如果vA大于等于0则跳转到:label_**
"if-gtz vA, :label_**" 如果vA大于0则跳转到:label_**
"if-lez vA, :label_**" 如果vA小于等于0则转到:label_**
A,B指数字,**也是指数字
代码就这么多,要想学好破解一定要熟记每一个代码并知道其中的含义
一些常用的代码 弹窗的关键词: oncreate
这个是在文件里面搜索的代码:no_propriate_pay_method 来源:l1nk-邮件投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
|
最新评论
发表评论