初探谷歌内购之火柴人鬼:忍者战士(全程解析)
本帖最后由 痞孑 于 2018-2-9 21:58 编辑1.基础套路解析举个例子:火柴人鬼:忍者战士这个游戏把游戏的dll解压到桌面接着打开Dnspy然后把dll添加到Dnspy
接着我们进游戏的商店内看下已知金币数量,那么就好办了接着在Dnspy搜索字符串7000看看有没有收获
搜索字符串得到两个结果可以看到Inapp Controller这个类我们双击进去看看
进来之后我们可以很清楚的看到有一个BuySuccess类(购买成功)之后我们把这个类里边代码复制一下
从同路径下的Buy打开这个类右键编辑代码,把我们刚复制的代码粘贴
粘贴之后,乍眼一看,哇~各种蛇皮错误如出现红色字体就代表这些都是无效代码下面会讲如何处理这些无效代码
未处理如下
if (inAppID != null) {
if (!(inAppID == "com.unimob.stickman.ghost.ninja.warrior.7000golds"))
{
if (!(inAppID == "com.unimob.stickman.ghost.ninja.warrior.40000golds"))
{
if (!(inAppID == "com.unimob.stickman.ghost.ninja.warrior.90000golds"))
{
if (!(inAppID == "com.unimob.stickman.ghost.ninja.warrior.200000golds"))
{
if (!(inAppID == "com.unimob.stickman.ghost.ninja.warrior.450000golds"))
{
if (inAppID == "com.unimob.stickman.ghost.ninja.warrior.fairy")
2. 处理无效代码如if (inAppID != null)需替换成productId这里说一下为什么用productId替换大概意思也就是一个商品一个ID是商店内展示的金币解锁等等,可以看到 处理过后完美解决
处理之后如下
if (productId != null)
{
if (!(productId == "com.unimob.stickman.ghost.ninja.warrior.7000golds"))
{
if (!(productId == "com.unimob.stickman.ghost.ninja.warrior.40000golds"))
{
if (!(productId == "com.unimob.stickman.ghost.ninja.warrior.90000golds"))
{
if (!(productId == "com.unimob.stickman.ghost.ninja.warrior.200000golds"))
{
if (!(productId == "com.unimob.stickman.ghost.ninja.warrior.450000golds"))
{
if (productId == "com.unimob.stickman.ghost.ninja.warrior.fairy")
之后我看一下能否保存结果是完全是可以保存的
后续保存成功的话基本上就算完成内购了保存修改后的dll 替换原dll 之后签名安装发送到模拟器或者手机测试就ojbk了Dnspy工具下载链接https://www.52pojie.cn/thread-459888-1-1.html总结1.把购买失败内的代码替换成购买成功2.处理无效代码
常见问题解答1.保存时报错应该怎么处理
答:警告可以不管它,在红色字的清除后,带x的一般是因为某些符号或是关系没理清,双击下带×的行,删除或添加符号,理清关系,还是可以保存成功的
2.获得商品代码添加不进去怎么办
答:用以上方法还是无法成功,不如去随便找个触发条件,实际游戏中每个按键都可以作为触发条件,只要想办法把商品直接得到就行了,需要比较深厚(熟练)的自定义dll功底
3.找不到获得商品代码怎么办
答:有的谷歌游戏就是坑爹就是晃点你,他只是画了个商店却不给商品,本来就不存在内购。有的存在却因为功底不足没耐心找不到,实在没办法,搞点简单的破解可否?不要一棵树上吊死。
附件(供大家练手)链接:https://pan.baidu.com/s/1dGLUKu 密码:r3t4 夏雨微凉 发表于 2018-2-9 22:05
这个网盘60k/s恶心的一匹
用论坛发的P……忘了,小的应该不会被封号,我自己是这样… 试一下 感谢 {:1_921:} 感谢教程分享,学习了 这个网盘60k/s恶心的一匹 感谢教程分享 可惜我网盘用不了 下载了自己玩去了 谢谢楼主的教程 厉害,学习了