找Android程序登录按钮事件

前言

2015年10月10日 18:02:14
各位小伙伴们好.
这篇文章将讲诉我玩转Android后接到的第一个任务.以及完成它的过程.
我在想是否能如之前一般高频的写文章.答案是不可以.没有足够的时间,精力供写作.另一个原因是没有值得分享的点.我希望跟着我的博客学习的人能够少走弯路,早入行所以我会坚持记录自身在技术上的发展历程.

任务

为逆向某通讯软件协议的师父提供帮助(打酱油).
在我再三请求下,师父终于给我安排了一份任务:
找到X软件的登陆按钮事件.

前期准备

关注我的学习计划的小伙伴知道我在国庆七天开启了学习模式,通过学习和实践《第一行代码》一书的内容,让我具有了一定的开发基础.具体来说就是了解了控件的基本用法和部分常用方法的作用.

但是,前提欲图用eclipse动态调试一个应用程序的时候出现问题.今天解决了这个问题,通过直接使用实体手机.
eclipse动态调试没有源码的Android应用程序的方法在这里,http://bbs.pediy.com/showthread.php?t=189610

这里提供一下原文缺失的签名工具.

计划

如何找到按钮事件呢?
1. 使用IDA-import直接找
2. 使用按钮名称或者提示信息进行回溯
3. 人眼从第一个动态调试设置的断点进行查找.
4. 3号的升级版用N个断点去找.

直接用IDA找onClick是最好的办法.但是onClick有点多,超过数十个.我的天.总不能一个一个进去看吧,即使进去看又能看到什么呢?或者直接在所有的目标程序中设置断点.我去,没有相应工具实在不便.

按钮名称倒是能找到,回溯有一定难度.毕竟对这些控件的调用机制不了解,谁知道它位于哪一层呢.所以这个方案暂时告吹.

突然想起自己在神书-《Android软件安全与逆向分析》-P247中看到过,Android调试中的类似于windows 调试工具 OD中trace功能的 Method Profiling.你甚至可以定制在指定范围还是所有范围内记录所有调用的方法以及其性能参数.
我倒是想自定义范围呢,一则是不知道具体范围,二则是如果要修改Android程序又得修改签名一番(好累的说).发现可以手工选择指定的进程(整个OS的方法调用,我可受不了.).
跟踪了一个整个的打开应用点击登陆的流程,发现结果有近7k条记录.找了找果断找不到.再次跟踪只跟踪点击的瞬间.虽然我手慢,算不上”瞬间”,这次结果只剩下2.4k.按照书上的方法,立马找到了onClick.(为什么不用搜索?因为eclipse的搜索功能貌似有点问题,哀伤).

图示

后语

但我们已经找到它了.好了.周末放假,本想好好专研一下工作上的东西.又有一堆纠结的事干扰的我的工作.ZHENAI 此外第一次拿到工资.低到任凭谁都难以猜中,但我的选择我快乐..Bye.

统计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值