游戏:咕噜王国大冒险

平台:android

目标:

1. 去除乱七八糟提示(本篇目标)

2. 去除google弹窗

3. 破解“all stages”

破文开始:

  1. 使用APKIDE反编译;搜索字符串“Problem setting up in-app”,看下图

于是来到下图

分析函数要注意:返回值;这里是V,即void;所以向下关注就应该能达到我们的目的,没必要向上关注;这个函数的功能: 拼接目标字符串,然后作为参数传递给待关注函数;

跟踪函数来到下图:

这个函数功能:使用java中的反射调用;即,这个函数使用java的反射机制,调用了 GameApplication 中的 sendToastMsg 函数;继续跟踪来到下图:

这个函数功能:使用java 中的 handle 发送消息,本质就是在传递数据;注意圈出的地方,handle 消息一般都在实现 handle 的那个类中的 handleMessage 中处理,通常 switch 分支 表达式 就是 Message 中的 what 字段;这图中已经圈出了handle sendMessage 的目标是 v0对象,即,GoloRunnerStart 类中的 字段 myHandler; 所以继续跟踪来到下图:

我们需要找到myHandler变量的值到底是谁,就要关注iput-object语句,看是什么值被赋予了这个变量;这张图,的确符合关注的条件,但是,稍微分析,知道这里是<init>V,是构造函数,初始化变量的地方,再看myHandler被赋予v1,而v1=0x0;所以这里不值得关注,继续寻找来到下图:

这里就是值得关注的地方,看到myHandler被赋予了一个有意义的值;这个值是一个实现了handler的类,这个类就是sendMessage的目标;所以跟踪来到下图:

看到handleMessage了吧,还记得前面sendMessage的时候那个what字段被赋予的值是多少吗?知道的话,那就看下图吧,不记得了的话,回头看看再回来;

这里结合what的值,可以知道,前面sendMessage发送过来的消息,使程序执行了::sswitch_c分支;看下图:

还记得sendMessage发送过来的除了what值,还有 什么吗? 还有那个我们第一步搜索的那个字符串经过和另外的字符串拼接之后的字符串,即我们目标图片上显示的那个完整的讨厌的字符串,这个分支就是得到这个字符串,然后 调用包装好的用来显示toast的函数showToast把那个讨厌的提示给我们显示出来;到这里就可以完美的修改代码了,如何修改看下图:

如果就这样结束的话,有人可能会问为什么不继续跟进那个showToast呢? 其实这个showToast函数应该跟进去看看,里面根据toast对象是否存在,选择toast的两中使用方法中的一种(一种是使用Toast对象 ,令一种是 使用toast类的makeTest静态方法);由于这个包装函数showToast函数,可能会被其他地方使用来显示我们不讨厌的提示,所以我不建议在这个包装函数里面改代码;最后给出那个包装函数的截图:

意犹未尽而来的第一篇Android 逆向的更多相关文章

  1. 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(一)

    android 主框架搭建(一) 1.开发环境:Android Studio 相继点击下一步,直接项目建立完毕(如下图) 图片看的效果如果很小,请放大您的浏览器显示百分比  转载请注明http://w ...

  2. Android逆向工程师的黑科技

    你们发现了吗?Android逆向.安全方面的工程师真的越来越"稀有"了. 以腾讯.美团.百度为代表的大厂们,在某招聘网站上居然薪酬高达30-60k. 现在移动端市场越来越火热,AP ...

  3. Android 逆向实战篇(加密数据包破解)

    1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...

  4. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  5. Android基础学习第一篇—Project目录结构

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  6. [转载] Android Metro风格的Launcher开发系列第一篇

    前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用.但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的 ...

  7. Android开源项目第一篇——个性化控件(View)篇

    本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...

  8. Android开发UI之开源项目第一篇——个性化控件(View)篇

    原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍A ...

  9. Android Metro风格的Launcher开发系列第一篇

    前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用.但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的 ...

随机推荐

  1. PureMVC(JS版)源码解析:总结

    PureMVC源码中设计到的11个类已经全部解析完了,回首想想,花了一周的时间做的这点事情还是挺值得的,自己的文字组织表达能力和对pureMVC的理解也在写博客的过程中得到了些提升.我也是第一次写系列 ...

  2. UISenior之数据的本地化持久化

    数据的本地化主要分为两个方面:1.简单数据的本地持久化(NSString.NSArray.NSDictionary.NSData)2.复杂数据的本地持久化(本文以Person类为例) 简单对象的本地化 ...

  3. Beyond REST: How to build a HATEOAS API in Java with Spring MVC, Jersey (JAX-RS) and VRaptor

    http://zeroturnaround.com/rebellabs/beyond-rest-how-to-build-a-hateoas-api-in-java-with-spring-mvc-j ...

  4. Prepare a Nexus Maven private repository

    1. port nat mapping #ssh VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port_5002 ...

  5. commons-fileupload源码学习心得

    commons-fileupload依赖于commons-io包. commons-fileupload的使用方法: 1.创建一个文件项目工厂类DiskFileItemFactory.       D ...

  6. YII中面包屑制作(当前位置:网站首页 >> 会员登陆)

    面包屑制作(当前位置:网站首页 >> 会员登陆) 作用:就是在布局里要显示的信息,但这个信息在不同的页面里显示的内容不一样,例如:网页的title.网页的当前位置等等 1.布局中每个页面t ...

  7. 3dmax使用K帧工具创建一个行走动作

    第一步,创建一个biped骨骼. 这个就不截图了,因为基本都会. 记住一点,先改变了关键点再去修改,不然修改的是前一个关键帧的动作. 第二步,开启自动关键帧,然后给初始位置双脚添加踩踏关键点.设置关键 ...

  8. C#创建自定义配置节点

    转载:http://www.educity.cn/develop/495003.html 在.Net应用程序中我们经常看到VS为我们生成的项目工程中都会含有app.config或者web.connfi ...

  9. action方法不返回

    当被请求的action方法中还有资源没有释放时,请求方法是不会返回的,会一直停留在方法中,即使是最后一行,因为请求方法一旦返回,那方法中的资源,引用就没有位置住了,所以所请求的方法会一直不返回,直到方 ...

  10. 火狐浏览器插件Modify Headers伪造IP地址

    安装插件:先打开火狐浏览器 => 找到下载好的 modify_headers.xpi 插件文件 => 鼠标按住插件文件不放,拖拽到火狐浏览器界面 => 按提示重启浏览器 => ...