Android逆向基础笔记—巧用蓝叠和Android Studio进行动态调试
本帖最后由 牵走天涯 于 2016-9-1 10:45 编辑不好意思,昨晚太晚,把类分错了
之前我搜了,也有大神发过类似的帖子,但是感觉不是太详细,不是太适合新手。正好最近我有了新思路,我整理了一下,就很详细很详细的写了出来。走过路过,热心给起来。这么大晚上了,我还在写帖子,就多多给点吧,不知版主大神可否考虑申请一波加精呢,让我高兴几天,对这几天的辛苦学习有个盼头。{:301_1004:}{:301_1004:}{:301_1004:}
蓝叠是除了手机之外我发现最快的了,所以就用蓝叠试试了。
我们知道很多apk光是静态调试时远远满足不了我们对apk的分析,这个时候,我们就需要来一波静态调试。此处为个人笔记,也为入门小白引路,这里就不看结果了,主要是教大家怎么结合调试。起因是昨天刚看了动态调试的方法,我就想来试试。结果电脑上只有Android studio。好吧,那我就百度了Android studio的调试。然后用模拟器,结果那个模拟器太恼火了,慢死人,还卡。(学生党,只能苦逼用低配笔记本)然后身边唯一一根数据线居然罢工。没办法,后来突然想起来,蓝叠模拟器很快了,可不可以试试。于是就有了下文。好了,不废话了,进入正题。
一、工具毫无疑问:Android studio(附带SDK,这个不多说)蓝叠然后有个大家可能大家不知道的东西smalidea这个百度一大堆。我就不多说了,自己去下一个就是了然后一个反编译的工具 jeb apkIDE AndroidKiller等等,都可以我用的是jeb
二、环境1.java那些环境我想这个不应该说了,然后就是adb的环境,最好是加到环境配置中去,方便,省事。
http://img.blog.csdn.net/20160831213525667?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
2.smalidea这个是配置到Android studio的,配置了才能看smali文件具体步骤:
http://img.blog.csdn.net/20160831214232454?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Centerhttp://img.blog.csdn.net/20160831214237939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
http://img.blog.csdn.net/20160831214321892?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
然后选择你本地smalidea文件,这里说一句,最好不要有中文路径。也行不一定会出问题,但是不一定不会出问题。
http://img.blog.csdn.net/20160831214620487?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
http://img.blog.csdn.net/20160831214632086?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
这个样子就是OK了一般会重启一下Android studio三、准备这部分是反编译出文件,然后导入到Android studio中去。我这里用的jeb反编译的,各位请用自己喜欢的,都可以哈。http://img.blog.csdn.net/20160831215122817?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
看到反编译成功,我们就去把文件提取出来这里最好是也是不要放中文路径最好接来下比较重要,一步一步操作。
http://img.blog.csdn.net/20160831215458176?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
然后选择我们放进去的反编译的文件夹
http://img.blog.csdn.net/20160831215517989?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
然后点那个三角
http://img.blog.csdn.net/20160831220024711?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
http://img.blog.csdn.net/20160831220036262?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
添加一个remote名字随便取,端口号为8700
http://img.blog.csdn.net/20160831220127889?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
之后我们打开cmd。进行adb的安装adb install -r apk的位置\apk全名
http://img.blog.csdn.net/20160831220452019?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
看到succe就知道成功了,蓝叠也会有提示的(一直默认蓝叠是开启的,没开的我就无语了)然后进去调试状态adb shell am start -D -n packageName/ActivityName
http://img.blog.csdn.net/20160831220902650?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
http://img.blog.csdn.net/20160831221203905?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
蓝叠也会这样显示
http://img.blog.csdn.net/20160831221239622?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
说明进入了调试状态,这个时候千万不要去点Force Close
四、进入调试进入调试之前我们还需要去monitor看看我们是否端口号给正确了。
http://img.blog.csdn.net/20160831222336673?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
http://img.blog.csdn.net/20160831222416408?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
点击我们需要调试的apk包名,把8700端口给它然后我们就可以调试了这个时候我们需要去源码看看我们在哪里下断点了。这里就不多说了我直接点断点了。在这行代码前面点一下,就断好了http://img.blog.csdn.net/20160831222806272?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
然后点上面那个就可以进行调试了
http://img.blog.csdn.net/20160831222846441?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
下面是我们的信息地方,我们可以点加,进行添加寄存器
http://img.blog.csdn.net/20160831223013161?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
最后就可以进行调试,看看寄存器的值的变化了。F7是进入方法,F8是单步。
前面步骤都做完了,为什么我在DDMS中看不见正在运行的程序啊?而且点击调试运行也会报错? maoxuechuen 发表于 2017-12-11 21:17
前面步骤都做完了,为什么我在DDMS中看不见正在运行的程序啊?而且点击调试运行也会报错?
对 我也是这种i情况 为什么啊 明天开学前学习一波,专业点的文章都是深夜发帖么?{:301_1001:} 一直用eclipse。。。看楼主的样子,android studio还不错,蓝叠不是那个blue什么的吗。。有区别吗 楼主能不能破解一下 博学宝和悟空拼音 英语 识字 数学 软件哦{:1_893:} 感谢分享支持楼主! 夜神模拟器也可以啊 学习收藏了了。 不错了,必须学习一下了。 可以可以!支持一下!!!