安卓逆向-——实现内购以及HOOK法干掉签名校验
本帖最后由 xkang 于 2018-8-9 09:31 编辑哈喽发现论坛的PC端逆向层出不穷很活跃Android方面好像比较少Hmmm{:6_219:}
也不知道说啥了其实是最近悬赏E盾的少了 没处挣HB 了{:6_218:} 遂寻思来Android挣点
这个APP 贼坑就知道赚我们祖国花朵的钱我们可是祖国的未来啊怎么忍心的比TXWY都坑钱 过分!!!!!!!!{:6_223:}
哈哈 会不会被打 瑟瑟发抖本来准备简单找一个APP捏了就算了 木有壳 木有校验 木有混淆的那种不会防止二次打包 {:6_197:}
谁料想童年害人不浅 寻思着找啥呢 喜羊羊。。。hmmm好像没看到 那。。。熊大,光头强又来偷砍树啦{:6_199:}
遂找了一个熊出没拖进AK(Android Killer)里一顿乱射发现内购思路简单就是有点点别的东西防止二次打包(签名校验)
开始改完反编译打包运行心想美滋滋去游戏里奔放 然后看到熊 下一刻闪退了{:6_204:} 这下吓着我了 难道。。。改错地方了导致软件崩了
冷静分析不是一开始崩的所以排除代码错误 那可能就是校验了于是重新反编译一份不改任何东西安装运行 闪退 OK 确定问题签名校验
那么签名校验肯定离不开signatures这个变量先了解一下验证大致过程吧 不知怎么贴出代码我就直接贴了 可能很难看 莫在意啦
**** Hidden Message *****
{:6_195:}好多啊于是冷静想一下这种校验肯定得调用PackageManager,大费周章得去找还不如让他返回我们的签名
人懒 总要多想想 稀里哗啦一顿乱搞之后形成了一下效果图3
接下来替换实现关键代码图4
之后只要替换掉代码里面的字符串即可生气HOOK不一定非得死在Xposed上!!!!!!!!有些时候读读源码也是好的看东西不要只看表象就像学习一样
HOOK思路:通过传入的Context变量,利用反射机制替换服务的Binder对象,然后动态DL对象,拦截获取签名信息的方法,替换正确的签名信息
(加粗加红免得一眼带过)
接着在App的Application的attachBaseContext()函数中调用这行smali代码即可,smali:
invoke-static {}, Lcom/yc/pm/SignatureKill;->kill()V如图5
这样校验就算过了接下来就是逆向内购了没啥亮点看图说话哈哈哈游戏选择充值会提示充值失败 图6
那么简单了直接去AK 搜索字符串直接搜字符串支付失败没没找到。。。换Unicode找到了图7
他有失败那肯定有成功啊于是往下翻看到了图8
在往下可以看到switch体如图9
根据上面的图8可以得到如果跳转都跳成功即switch0就可以支付成功管他是失败还是取消都跳成功OJBK{:6_209:}
大概流程就是这样了妈耶发现还是视频教程讲的快图文花了三个小时累。。。。。。不管了恒大说图文容易精华 晓得我的意思吧精华{:6_200:}
最后如果有什么不对的的地方请各位大佬赐教既然成功了 怎么能不晒图呢是吧哼不给我传了上限了不晒了教程中用到的HOOK代码和APK 会打包上传
用到的工具请移步逆向资源区本人已和百度达成合作所以请尽情百度不花你一分钱
最后那个啥评分走一走以后你们都是逆向界的大佬 爱你们{:6_225:}
**** Hidden Message *****
就目前来讲,吾爱汇编论坛对于安卓教程不是那么多,所以详细的安卓图文也更少。这篇已经在目前论坛内的安卓教程中算详细易懂的了。所以给予精华,感谢分享技术!期待更多详细图文 Shark恒 发表于 2018-8-2 20:18
就目前来讲,吾爱汇编论坛对于安卓教程不是那么多,所以详细的安装图文也更少。这篇已经在目前论坛内的安卓教 ...
{:6_209:}哈哈哈谢谢恒大
这是文能上马破E盾,武能下马撸安卓啊。膜拜。 学习下谢谢 看看学习一下.教程. 新手学习下 这个贴不错啊,正想看怎么干掉签名校验的方法 好复杂的说,膜拜一下. 看看学习一下