发新帖

Android逆向工程——初识Handler机制

  [复制链接]
165713 219
本帖最后由 Mitjavaz 于 2015-8-19 23:31 编辑

大家好,今天本新人又带来了新手教程,希望各位勿喷。

本教程依然是低级(即:新手级)教程,目的是为众零基础而又对这方面感兴趣的朋友所写。


※    此次教程的目的:


找付费项目地址,实施有效爆破。


※    本次教程的知识点:


初步认识Handler机制,或者说,建立对Handler机制的一个认识概念。


线程安全和线程不安全。


此次教程所使用的工具:


pd521【逆向未来论坛】所提供的:Android Killer v1.2 正式版


此次教程所使用的案例:


名称:消灭星星道具版

下载地址:http://www.eoemarket.com/game/708029.html

好了,下面开始进入此次教程的主题

我们还是按照万年不变的步骤,用模拟器或手机安装应用程序,并进入软件里面,寻找相关【关键词】或【关键按钮】等等。

结果一进入里面,就把人吓到了,直接一次性跳出三个窗口:


在此,会觉得很人性化,似乎对方来欢迎别人逆向一样,专门主动出门迎接来了。

由于本人比较懒的缘故,就将词选得比较大,选了如下几个词作为后面搜索用的关键词:

图一选择:付费      图二选择:失败

好了,前期准备工作做好了,现在开始,将游戏的apk用Android Killer打开,并且通过字符串搜索:付费、失败两个关键词。

付费:

失败:

通过这两个词搜索出来的字符串,我们第一眼,甚至我们条件反射下,定位的是【失败】这个关键词搜索出来的结果。

PS:因为有支付失败嘛,正好符合我们图二的要求。

将支付失败这个词出现的类全部打开。

然后接着是将两个文件的JAVA源码弄出来,方便分析。

看到JAVA源码,大家是不是很兴奋。

但是这里,改那个IF条件里的条件语句:paramInt == 9000 改成 paramInt != 9000 没效果。虽然最后会跳出文本框出来,说支付成功,但是测试时,依然没效果。

那么,这时候,会有一个想法:这种现象,是因为里面只有文本输出,并没有实际支付成功后的函数调用,因此,没效果。

那换第二个图的时候,一目了然,很简单,把支付失败那个类的源码全部改成支付成功的源码,即:

原来的源码:

  public void onZhangPayBuyProductFaild(String paramString1, String paramString2)

  {

    Log.d("支付失败:", "支付失败!响应码:" + paramString2 + ",计费id:" + paramString1);

    this.val$paramIOnPaymentCallback.onBuyProductFailed(this.val$paramVo_Pay);

  }


  public void onZhangPayBuyProductOK(String paramString1, String paramString2)

  {

    UMGameAgent.pay(10.0D, 1000.0D, 26);

    this.val$paramIOnPaymentCallback.onBuyProductOK(this.val$paramVo_Pay);

  }

修改后的源码:

  public void onZhangPayBuyProductFaild(String paramString1, String paramString2)

  {

    UMGameAgent.pay(10.0D, 1000.0D, 26);

    this.val$paramIOnPaymentCallback.onBuyProductOK(this.val$paramVo_Pay);

  }


  public void onZhangPayBuyProductOK(String paramString1, String paramString2)

  {

    UMGameAgent.pay(10.0D, 1000.0D, 26);

    this.val$paramIOnPaymentCallback.onBuyProductOK(this.val$paramVo_Pay);


  }

但是,依然没效果,真是到此时,估计很多新人就跟我这个新人一样,第一次遇到,总会慌神,这是怎么回事儿?


下面开始进入真正的主题


游客,如果您要查看本帖隐藏内容请回复


致谢:逆向未来论坛


PS one:本人新人一枚,所学肤浅,还请各位勿喷。对于Handler机制,我真心不是很能体会出来作用。此篇写得不好!若有误人子弟之处,还请多多原谅,多多包涵。




PS two:给跟我同样是新人的一个建议,就是有时间,多找android开发的一些组件函数之类的看下,不求自己能运用,但求逆向之时,遇到了也能知道它啥意思。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
已有8人评分 威望 NB 贡献 荣获致谢 理由
likang + 1 + 1 小伙子思路不错哟
Greed + 1 很给力!
molice + 1 很给力!
jxc6698 + 1 + 1 很给力!
OMG + 1 + 1 很给力!
小范 + 1 很给力!
水波摇曳 + 1 + 2 + 1 厉害 赞一个
听鬼哥说故事 + 2 + 3 + 1 + 1 很给力!

查看全部评分 总评分: 威望 +3  NB +9  贡献 +2  荣获致谢 +6 

举报 使用道具

回复

精彩评论219

guangz    发表于 2015-8-19 23:39:43 | 显示全部楼层
我才是新人

举报 使用道具

回复 支持 反对
A00    发表于 2015-8-19 23:50:28 | 显示全部楼层
支持原创,分析不错

举报 使用道具

回复 支持 反对
angellball    发表于 2015-8-20 00:23:18 | 显示全部楼层
来学习了

举报 使用道具

回复
Super817    发表于 2015-8-20 00:44:20 | 显示全部楼层
新手教程学习了

举报 使用道具

回复 支持 反对
lies2014    发表于 2015-8-20 01:49:20 | 显示全部楼层
谢谢,学习了,角度比较新颖

举报 使用道具

回复 支持 反对
峰浩宇    发表于 2015-8-20 05:25:52 来自手机  | 显示全部楼层
进来学习

举报 使用道具

回复
hzn201    发表于 2015-8-20 09:44:01 | 显示全部楼层
不错。。。 顶

举报 使用道具

回复
wruih    发表于 2015-8-21 13:02:12 | 显示全部楼层
感谢楼主分享

举报 使用道具

回复 支持 反对
pp17    发表于 2015-9-30 01:56:35 来自手机  | 显示全部楼层
学习学习

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表