1、一些东西你必须要知道的
apktool 将APK转为smail代码,以供审计,其实就是反编译。
jeb 安卓反编译工具,用于逆向工程或审计APK文件,可以提高效率减少许多工程师的分析时间,能将Dalvik字节码反编译为Java源代码
adb 用来操作(调试)android设备(比如android手机)的一套指令集,例如adb shell 可以直接进入手机的命令行界面
drozer 移动端渗透测试框架,模块化的测试APK文件的系统薄弱点
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA,主要用于写APP代码,以及调试,测试
dex2jar 将apk反编译成java源码(classes.dex转化成jar文件) 与jd-gui配套
jd-gui 查看APK中的classes.dex转化成的jar文件,即源码文件
安卓的四大组件:
1、Activity 在屏幕上提供一个区域,提供一个可视化界面供我们点击,访问。
2、Service 服务是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行作业。相当于你在听歌的时候,退出界面后,歌还继续放着,这就是服务的作用
3、content provider 简单的来说就是管理数据的一个程序,除了放在SD卡里的数据,手机原本的或者各个程序之间的数据都是很封闭的,但是他们又不能完全封闭,因此使用内容提供程序进行封装,一般用sqlite进行报存数据。
4、BroadcastReceiver 其实就是广播,它们可以创建状态栏通知,在发生广播事件时提醒用户,就像你手机里时不时会从屏幕上方发来一条推送,这就是这个组件最重要的功能
2、某小程序的一次反编译
其实小程序能够反编译也算一个小漏洞ZzZz
所需工具:夜神模拟器,node.js环境,wxappUnpacker反编译小程序
1/ 下载夜神模拟器
https://www.yeshen.com/
2/ 下载微信,使用夜神模拟器登陆微信,然后打开你想要反编译的小程序(此时小程序会进行缓存下载,我们随意使用这个小程序一会儿,就可以进行反编译了)
3/ 使用夜神模拟器自带的adb功能连接安卓模拟器
4/ 进入微信小程序的安装路径
cd /data/data/com.tencent.mm/MicroMsg/
在这里我们会找到属于自己的一个编号的文件
cd
/data/data/com.tencent.mm/MicroMsg/95e9e771a31d15254263f1ac22748441/appbrand/pkg
在这里我们看到有很多原本安装好的小程序,为了防止错乱,我们使用rm把它们都删掉
我