Jxdm 发表于 2018-8-1 21:48

Android Studio之使用连接夜神模拟器分析Smail 【详文】8.7日更正

本帖最后由 Jxdm 于 2018-8-7 09:31 编辑

前言:
想把一个APP去广告,结果发现修改关键代码后出现崩溃,于是就想到了动态调试。由于是第一次使用,百度了N个网页,然后慢慢摸索才知道是怎么使用这个的..一直折腾adb,一直连接不了;
本文只是写出如何连接夜神模拟器的方法,比较详细~大神请飘过~;


准备工具
1.Android Studio;
2.smalidea-0.05( 不要解压);
3.Anroid Killer或者改之理(反编译APK);
3.夜神模拟器

0x0
首先打开Android Studio-点击File,选择Settings


点击Plugin--install plugin from disk,再选择smailidea.zip的路径,选择smailidea.zip--最后点击ok,最后重新打开Android Studio就完成安装了


0x1
把apk拖入Android killer或者改之理中反编译,然后把整个反编译之后的工程目录复制到一个文件夹(目录不能含有中文!!!),我这里复制到了D:\db\src这个目录


0x2
在Android Studio中点击File--New--Import Project--选择0x1的目录--点击ok


然后会弹出窗口,选择第一项,一直点击Next,直到Finish完成导入项目就可以看到smail了

0x3
然后右击db文件夹(就是刚才导入的目录)--mark directory as→Resource root


0x4
回到Android Studio,按截图的方法操作,点那个下拉的小图标就会有这个了


然后点击”+”号--Remote--Port 填 8700--OK


0x5
调试android程序,以下两个条件中的一个就可以了:第一是apk的配置文件内的AndroidManifest.xml的 android:debuggable=”true”,第二就是/default.prop中ro.debuggable=1
下面介绍配置AndroidManifest.xml中的debuggable。
回到AK(Anroid Killer),在需要调试APP的AndroidManifest.xml里面添加android:debuggable="true"(在application后面添加)



然后回编译,拖入夜神模拟器上安装,安装完后点击模拟器上的设置--开发者选项--点击选择调试应用--选你需要调试应用


0x6
然后进入夜神模拟器的文件夹,Shift+右击选中bin目录打开--在此处打开命令窗口--输入:nox_adb.exe connect 127.0.0.1:62001

0x6
然后回到Android Studio--点击图中的安卓机器人就会打开DDMS




0x7
在Android Studio输入以下命令以调试方式打开PS: packageName和ActivityName是你要分析的APP包名和入口
adb shell am start -D -n packageName/ActivityName

例如我的是这个:

所以我要在里面输入:
adb shell am start -D -n soft.kinoko.SilentCamera/soft.kinoko.SilentCamera.app.CameraActivity

当出现这个就说明成功了。如果有其他的提示,就重新连接adb,然后再输入调试模式打开应用的命令
[
若失败请重复上面的步骤:
adb connect 127.0.0.1:62001
adb shell am start -D -n packageName/ActivityName

0x8
最后在你需要调试的smail里面左击下断点--Shift+F9运行--F8单步,F7步入



结言:
终于完成了~如果有错误的地方,请各位指出,我会及时更近的~


Smailidea插件下载:https://bitbucket.org/JesusFreke/smali/downloads/

更正日志:
8.2日:
1.更正了开发者模式的设置,可以不用勾选“等待调试器”这个选项,因为“adb shell am start -D -n ”这个命令就是以调试模式打开应用
2.更正了adb连接失败时需要重新操作的步骤
3.更正了部分图片排序错误,我自己都乱套了。。
8.7日:
1.添加了调试程序的两个条件。(两个满足一个即可)

Jxdm 发表于 2018-8-2 13:22

莫问刀 发表于 2018-8-2 10:39
之前用真机一直失败,不知道为啥,现在按照这个成功了,真的非常感谢,真机提示:无法连接那个adb localhos ...

可能就是端口的问题

debug_cat 发表于 2018-8-2 10:39

之前用真机一直失败,不知道为啥,现在按照这个成功了,真的非常感谢,真机提示:无法连接那个adb localhost,查了很久没解决。

幻象 发表于 2018-8-1 22:06

支持支持

橘生淮北,为枳 发表于 2018-8-1 22:22

感谢,楼主 加油

sufeiy 发表于 2018-8-1 22:49

感谢,楼主,你是好样的。。。

zy1234 发表于 2018-8-1 22:57

DDMS那里新手搞的话,需要多试几次,多看教程说明

cyhcuichao 发表于 2018-8-1 22:59

楼主好厉害

惘墅 发表于 2018-8-1 23:17


楼主好厉害!!!

shenyan1016 发表于 2018-8-2 07:59



楼主好厉害!!!!!!

wordhg 发表于 2018-8-2 08:17

學到了,感謝分享

wuaipjlt 发表于 2018-8-2 08:35

多多支持
页: [1] 2 3 4
查看完整版本: Android Studio之使用连接夜神模拟器分析Smail 【详文】8.7日更正