1.入口分析 androidManifest.xml(AM文件)中的权限、Receiver中的action、Service中的action,但凡遇到比较敏感的权限、动作,要优先关注相应的组件
例如:敏感权限
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
敏感动作:启动完成
<receiver android:name="cn.mmyhgfrtsent.BootReceiver">
<intent-filter android:priority="2147483647">
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
发送和接受短信
<receiver android:name="cn.mmyhgfrtsent.XReceiver" android:permission="android.permission.BROADCAST_SMS">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>
2.找到入口Activity,跟踪运行流程,进行行为分析
3.行为分析中值得一提的是,跟踪行为可能会忽略很多重要的动作,因为很多动作是被某个具体事件触发后才发生的,比如上例中接收到短信后触发了XReceiver
4.借助JEB这样的工具软件,初学可以先看反编译的JAVA文件,便于理解。另外,JEB支持注释,对部分轻微混淆的(各个类的名字是a,b,c,d…)进行重命名。
5.可以借助AVD、DDMS等工具,看运行效果,结合运行效果分析。其中AVD是Android Virtual Devices,DDMS可以用来向AVD发短信、打电话,查看LOG等重要功能。
//*作者:守静居士
//*转载请注明出处:
http://blog.csdn.net/csp277/article/details/45672185
//*时间:20150520