由于工作需要,今天接触了Android逆向。为了完成工作任务作为小白的我开始了smali调试之旅,在网上找了很多文章都没有实现,经过不断地尝试不断地搜索同类型的博客终于实现了,下面是调试过程。
android反编译详情见这位老哥的文章:https://blog.csdn.net/jiangguangchao/article/details/85158500
环境准备:
1、安装Android Sdk、Android Studio、Android Killer、雷电模拟器、adb工具
2、将smalidea插件下载到电脑后,到android Studio里面安装插件
android sdk下载地址:
https://android-sdk.en.softonic.com/?ex=THD-324.0
android studio下载地址:
https://developer.android.google.cn/studio/
smali idea插件 下载地址:
https://github.com/JesusFreke/smalidea
部分工具下载地址和安装步骤见这位老哥的博客:
https://blog.csdn.net/aa464971/article/details/83346953
本次调试使用的是android5、android studio4.1.2 、smalidea0.06
本次使用的测试项目是youku6.8.1
smali调试步骤:
1、打开ddms (位置:D:\androidSdk\tools)
2、打开雷电模拟器,之后打开要测试的app
注:1、2两个步骤顺序不能调换,当完成第二个步骤后就会在ddms中看到与要测试app相对应的进程(例如: com.youku.phone),记下该 进程的pid(pid位置:第三列)
3、把第二步获得pid放到android studio——>run——>edit configurations——>+——>remote——>port
4、cmd进入命令行界面,输入:
adb shell am start -D -n com.youku.phone/.ActivityWelcome
注:com.youku.phone
:程序入口smali文件的报名,ActivityWelcome
:程序入口smali文件的文件名
5、此时模拟器中app会出现提示,点击继续
6、进入app后ddms会出现变化,再次出现进程com.youku.phone,将该进程新的pid放到android studio ——>run——>edit configurations——>+——>remote——>port
7、在对应位置打下断点,点击android studio 中的debug的左边那只虫,
8、操作模拟器中的app,到对应位置后会进入断点
程序入口的获得(有时不需要知道入口):
利用Android killer工具
把apk文件拖入到工具中,该工具会对apk文件反编译并且解析出程序的入口文件
本人在这方面完全是小白,如果有幸被哪位大佬看到这边文章,不足之处还请多多指教。