admin 管理员组文章数量: 887021
如何深扒一个Android应用
- 1.手机上安装了一个app,如何得到它的包名?
- 2.如何得到app安装路径?
- 3. 如何得到安装包?
- 4.如何反编译一个安装包?
- 1)apktool的使用
- 2)dex2jar的使用
- 3)jd-gui的使用
- 5.如何抓包分析其网络请求?
1.手机上安装了一个app,如何得到它的包名?
手机连接USB调试,打开该app,windows命令行下敲 adb 命令:
adb shell dumpsys activity | findstr ResumedActivity
linux下,把findstr换成grep即可。
如下图效果,不但可以看到包名,还可以看到当前Activity名。
2.如何得到app安装路径?
如果还不知道包名,那先通过第一步获取包名。
然后通过包名得到安装目录也是两行命令的事:
- 进入shell:
adb shell
- pm命令得到安装路径
pm list packages -f | grep 包名
如下图效果:
3. 如何得到安装包?
如果不知道安装路径,先按上面的两步骤得到安装路径。
然后按如下用命令把文件复制出来即可。
如果当前还是在shell环境下,则先退出shell环境:
exit
然后adb pull 安装包路径 保存路径,比如
adb pull /data/app/com.test.demo/base.apk .
注意最后有个点号,表示保存到当前目录。
如下图:
4.如何反编译一个安装包?
老牌反编译工具:apktool、dex2jar、jd-gui。
apktool:得到资源文件等。
下载地址:https://ibotpeaches.github.io/Apktool/
dex2jar:把dex文件转换成jar包。
下载地址:https://sourceforge/projects/dex2jar/
jd-gui:查看Jar包代码。
下载地址:http://java-decompiler.github.io/
官网下载太慢。如果不想一个个下载,可以点这里,一次下载这三个工具包。
下面是反编译实践:
1)apktool的使用
把想要反编译的apk放到apktool同级目录,然后文件管理器地址栏输入cmd回车打开命令行,输入以下命令:
apktool d apk名字
这样稍等片刻,此目录下就会生成一个apk同名目录。里面的文件就是反编译出来的资源文件等了。
2)dex2jar的使用
先把apk文件后缀改为.rar或者.zip,然后解压,得到dex文件。(当然不改后缀也可以解压。改后缀只是为了让系统识别出它是个压缩包。)
这样得到的这几个文件,跟上面通过apktool反编译得到的文件目录还是很类似的。
接下来,我们将通过dex2jar工具,把dex文件转换成jar包。首先将dex文件放到dex2jar目录下,如下:
然后地址栏输入cmd打开命令行,输入以下命令;
d2j-dex2jar.bat classes.dex
然后就会看到目录下多了个文件:
这就是已经转换好的jar包了。
3)jd-gui的使用
这个工具使用很简单,直接双击打开exe文件,然后用它打开刚才得到的jar包即可。
效果如下:
当然这个apk没有做好混淆,所以代码看的比较清楚。如果混淆过的话,看到的代码都是abc之类不知所云的。所以我们开发Android做好混淆很重要。
5.如何抓包分析其网络请求?
抓包工具有很多,在这里我们使用Charles。下载地址:https://www.charlesproxy/download/
如果打开后提示激活,可以填如下激活信息,我试了是可以用的:
Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4
Charles的使用:
首先确保手机和电脑处于同一局域网内。如果不确定的话,手机和电脑连接到同一个WiFi即可。
1.查看电脑的ip地址
命令行输入命令 ipconfig,回车:
如图红框里的就是我们想要的电脑IP地址。
2.修改手机网络,使用代理。
手机的WiFi列表里,长按正在连接的WiFi,修改网络 -> 代理改为手动,然后服务器主机名填入电脑IP地址,服务器端口填8888(Charles默认),然后连接。
这样就成功设置了代理,可以用charles抓包了。
3.操作手机APP,发起网络请求,然后在Charles上查看数据:
注意这种基本抓包操作只能看到Http请求的数据,如果是HTTPS的请求,抓到的数据看起来是乱码。
版权声明:本文标题:如何研究Android手机上已安装的一个app 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726387557h950487.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论