吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7730|回复: 8
收起左侧

[Android 原创] 安卓5.0oat文件原生逆向浅析视频教程

  [复制链接]
xiaoxin520 发表于 2016-2-18 20:52
大家好,我是七少月,安卓5.0系统已成常态,而大部分朋友的思维依然在Davlik阶段,本例就是一个简单的使用oatdump工具逆向安卓5.0特征文件oat文件的一个演示。目前,对于oat文件逆向和oatdump工具大多教程为图文,此为视频,仅供参考,希望提出宝贵意见。

oatdump文件在/system/bin路径下,
该文件只能在手机连接下使用
命令:
adb shell oatdump --oat-file=/data/dalvik-cache/arm64/data@app@com.example.helloworld1-1@base.apk@classes.dex

这是我手机里的情况,如有时/dalvik-cache/arm64路径是/dalvik-cache/arm,
自己修改。另外,这个文件路径一般不要改动,虽然理论上没问题,但实际会
出现Unknown的问题,当然你可以试试在su下情况。

现象:与安卓4.4以前版本不同,原本/data/app/包名.apk,现在为/data/app/包名/base.apk,当我们对base.apk进行替换,替换为另一个修改过的base.apk,那么当打开软件是,是被替换过的APK运行情况。而当你替换=/data/dalvik-cache/arm64/data@app@com.example.helloworld1-1@base.apk@classes.dex这个文件时,则依然以原APK方式运行,此时这个dex文件实则是OAT文件。

结论:
1.在安卓5.0系统及其以上,打不打开一个APK并不重要,重要的是APK在安装时;
2.dex2oat,也就是APK的DEX文件是在安装时编译为oat文件的;
3.即使oat文件出现错误或被删除,依然可以正常运行,用的就是原davlik虚拟机模式,所以才发生上述的现象。

技巧:
简化你的APP:由于cmd窗口容量有限,如果不进行简化,根本看不到我们关心的smali及其方法。我们把R.SAMLI等全部删掉,发现APK依然可以成功运行。这样我们就只保留关键的mainactivity.smali,可以完全看到该smali的原生情况。
另外,APK能不能打开也不重要,因为即使APK不能打开,它安装时就会生成oat文件,丝毫不影响我们去分析oat文件。这与原davlik必须打开才生成相应的DEX文件有根本区别。

下载链接:http://pan.baidu.com/s/1nus8EYd

免费评分

参与人数 2热心值 +2 收起 理由
ai枫 + 1 谢谢@Thanks!
Dicker + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LeoSky 发表于 2016-2-18 20:54
占坑,以后备用,多谢楼主分享。
Dicker 发表于 2016-2-18 20:57
哇哦 !七少月 ,看你的公开课视频 学的 Android 逆向!不知道 是不是你? 这是你吾爱的ID? 顶一下你拉!
xiaomi1991 发表于 2016-4-6 08:53
学姐的笑 发表于 2016-4-6 10:05
感谢楼主分享
kali-cc 发表于 2016-8-18 13:42
膜拜膜拜
kali-cc 发表于 2016-8-24 10:56
谢谢分享
lawlier 发表于 2016-11-13 19:15
感谢分享。
Leo_Y 发表于 2016-11-13 19:23
感谢楼主分享,学习了。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表