本帖最后由 牵走天涯 于 2016-9-1 10:45 编辑
不好意思,昨晚太晚,把类分错了
之前我搜了,也有大神发过类似的帖子,但是感觉不是太详细,不是太适合新手。正好最近我有了新思路,我整理了一下,就很详细很详细的写了出来。走过路过,热心给起来。这么大晚上了,我还在写帖子,就多多给点吧,不知版主大神可否考虑申请一波加精呢,让我高兴几天,对这几天的辛苦学习有个盼头。
蓝叠是除了手机之外我发现最快的了,所以就用蓝叠试试了。
我们知道很多apk光是静态调试时远远满足不了我们对apk的分析,这个时候,我们就需要来一波静态调试。 此处为个人笔记,也为入门小白引路,这里就不看结果了,主要是教大家怎么结合调试。 起因是昨天刚看了动态调试的方法,我就想来试试。结果电脑上只有Android studio。好吧,那我就百度了Android studio的调试。然后用模拟器,结果那个模拟器太恼火了,慢死人,还卡。(学生党,只能苦逼用低配笔记本)然后身边唯一一根数据线居然罢工。没办法,后来突然想起来,蓝叠模拟器很快了,可不可以试试。于是就有了下文。好了,不废话了,进入正题。
一、工具 毫无疑问:Android studio(附带SDK,这个不多说) 蓝叠 然后有个大家可能大家不知道的东西 smalidea 这个百度一大堆。我就不多说了,自己去下一个就是了 然后一个反编译的工具 jeb apkIDE AndroidKiller等等,都可以 我用的是jeb
二、环境 1.java那些环境我想这个不应该说了,然后就是adb的环境,最好是加到环境配置中去,方便,省事。
2.smalidea 这个是配置到Android studio的,配置了才能看smali文件 具体步骤:
然后选择你本地smalidea文件,这里说一句,最好不要有中文路径。也行不一定会出问题,但是不一定不会出问题。
这个样子就是OK了 一般会重启一下Android studio 三、准备 这部分是反编译出文件,然后导入到Android studio中去。 我这里用的jeb反编译的,各位请用自己喜欢的,都可以哈。
看到反编译成功,我们就去把文件提取出来 这里最好是也是不要放中文路径最好 接来下比较重要,一步一步操作。
然后选择我们放进去的反编译的文件夹
然后点那个三角
添加一个remote 名字随便取,端口号为8700
之后我们打开cmd。进行adb的安装 adb install -r apk的位置\apk全名
看到succe就知道成功了,蓝叠也会有提示的(一直默认蓝叠是开启的,没开的我就无语了) 然后进去调试状态 adb shell am start -D -n packageName/ActivityName
蓝叠也会这样显示
说明进入了调试状态,这个时候千万不要去点Force Close
四、进入调试 进入调试之前我们还需要去monitor看看我们是否端口号给正确了。
点击我们需要调试的apk包名,把8700端口给它 然后我们就可以调试了 这个时候我们需要去源码看看我们在哪里下断点了。这里就不多说了 我直接点断点了。在这行代码前面点一下,就断好了
然后点上面那个就可以进行调试了
下面是我们的信息地方,我们可以点加,进行添加寄存器
最后就可以进行调试,看看寄存器的值的变化了。F7是进入方法,F8是单步。
|