吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6238|回复: 13
收起左侧

[Android 原创] Android逆向-Android基础逆向(2-3补充篇)

  [复制链接]
BubblePig 发表于 2018-1-30 13:46

0x00 前言

不知所以然,请看

Android逆向-Android基础逆向(1)

Android逆向-Android基础逆向(2)

Android逆向-Android基础逆向(2-2)

以及java系列:

Android逆向-java代码基础(1)

Android逆向-java代码基础(2)

Android逆向-java代码基础(3)

Android逆向-java代码基础(4)

Android逆向-java代码基础(5)

Android逆向-java代码基础(6)

Android逆向-java代码基础(7)

Android逆向-java代码基础(8)

学习内容

(1)APK文件伪加密 √

(2)资源文件防反编译 √

(3)apk打包流程 √

(4)apk反编译流程 √

(5)apk回编译流程 √

说明

由于篇幅问题所以将这个系列分成了好几个块来进行学习。

0x01  资源文件防反编译

上一个主题里说说明了xml文件的一些机构问题。这次来进行简单的手动加固尝试与理论分析。

1.理论说明

在apk安装的过程中,并不会对一些Android本身没有的内容进行识别,但是在Android killer进行反编译的时候就会对这些文件进行处理。因为没有相对应的模块所以就会进行报错。可能是因为Android killer 少了一个过滤的模块吧。

2.实践。

这里参考了http://www.cnblogs.com/wanyuanchun/p/4084292.html。
加固思路就是添加一些没有用的名称索引以及一些假的索引,用来针对反编译软件进行加固。这里不进行了。之后如果有时间的话就再回来做尝试。

如果进行反编译,哪里报错修改哪里,然后把出错的地方进行修改就可以了。

0x02 APK打包流程

说明

APK打包流程,这里只是做一个简单的了解。
首先来看一张图
这里写图片描述
打包一共分为7步,我们分为7个模块然后一个一个进行讲解。

1.第一步,打包资源文件

第一步就是打包资源文件,生成R.java文件
使用工具 aapt
二进制文件采取字符串池进行保存,通过索引来进行缩小文件的大小。
具体可参考:http://blog.csdn.net/luoshengyang/article/details/8744683

2.第二步,处理AIDL文件

处理AIDL文件,生成对应的,java文件。
使用工具:aidl

3.第三步,编译java文件

编译java文件,生成对应的.class文件
使用工具 javac 这个工具我们应该使用了很多次了吧,但是主要还是使用的是最基本的工具。

4.第四步,把.class文件转化.dex文件

这一步是不是也很熟悉呢,是不是也在之前见过一些呢。我们在之前练习smali文件的时候见过这些操作。如果想要具体了解,请查看java系列。

5.第五步,生成未签名的apk文件

使用apkbuilder工具,生成未签名的apk文件。

6.第六步,签名

工具:jarsigner进行软件的签名工作。

7.对其整理

对签名后的.apk文件进行对其整理,如果不整理是不能发布到Google Market的。
使用工具:zipalign工具。

结束语

以上就是一个apk进行的简单的流程了。

0x03 反编译流程

第一步,解压apk,等到dex,和其他资源文件

这里的资源文件我们只是自己分析了一个axmld格式,虽然可能代码没有其他大神写的那么好,但是都是为了能够理解到axml格式的含义,自己能写代码,就会加深理解度。

第二步,使用apktool工具进行反编译apk

这里的apktool工具是开元的。我们可以自己更改代码也可以针对apktool工具进行漏洞分析。

结束语

这里是一些反编译软件的源码地址:
apktool:https://github.com/iBotPeaches/Apktool
Jadx-gui:https://github.com/skylot/jadx

0x4回编译

回编译使用apktool工具,也可以使用aapt工具,和之前的生成apk非常相似,其实过程原理一样。

免费评分

参与人数 9吾爱币 +18 热心值 +9 收起 理由
debug_cat + 1 + 1 这个打包流程理解比以前多了
爱学习的小仙女 + 2 + 1 用心讨论,共获提升!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
chanjin5219 + 1 + 1 谢谢@Thanks!
蟠桃居士 + 1 + 1 热心回复!
yhxi1714 + 1 + 1 用心讨论,共获提升!
小小白/X + 1 + 1 加油,总有天一会认真看!
羽翼 + 1 + 1 每天给大神评分,祝好。其实有个视频教程也蛮好的
Andy0214 + 1 + 1 用心讨论,共获提升!

查看全部评分

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

末主体缘 发表于 2018-8-6 16:36
大大,你的
Android逆向-Android基础逆向(2)

Android逆向-Android基础逆向(2-2)
都不能跳转成功
mayl8822 发表于 2018-1-30 14:14
yiwai2012 发表于 2018-1-30 16:44
yiwai2012 发表于 2018-1-30 16:45
不晓得怎么回事
MMAKI 发表于 2018-1-30 17:05 来自手机
又有新货,谢谢楼主
shian1988 发表于 2018-1-30 21:07
很不错的Android逆向教程,谢谢楼主辛苦分享。。
imtom123 发表于 2018-1-31 00:05
優質好文 學習了 謝謝
阿沛 发表于 2018-1-31 00:57
很不错的Android逆向教程,谢谢楼主辛苦分享
蟠桃居士 发表于 2018-1-31 17:58
此教程非常好,收藏学习了
wangvsshen 发表于 2018-1-31 20:12
好东西值得收藏
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 23:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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