低调(d-iao) 发表于 2021-7-25 15:53

【原木文章】Android改造者之路-01.初识Apk体质的形成

本帖最后由 低调(d-iao) 于 2021-7-30 22:30 编辑

在一个漆黑风高的夜晚,一款名为android的系统诞生于世。
它以开源的方式及不懈的努力短短几年就打开了属于自己的市场,并在全球受到不少企业家的喜爱。不仅让企业家们混得风生水起,更成为人们生活中的一部分。

它是续symbian os之后,可以更自由的安装第三方应用。
小小的铁盒,却有着大千世界的宏观,聚各武学于一身。
不再仅仅只是沟通的工具,更有着让全民便利的用途。
所以吸引了不少开发者的关注,纷纷来到这全新的舞台展示着自己的独门绝技,并留下跟随时代进步的印记。

然而每个世界都有它的规矩与秩序,android的世界也不例外,在它的世界里,只认同拥有apk后缀的程序进入。
随着越来越多的开发者入驻扎营,也引起了另一派人的关注,那就是改造者。他们擅长于改造技术,将android世界里他人的apk程序改造成符合自己需求的模式后重新活动于android世界里。

后来又出现了另一派人,称之为神造者,他们企图改变android世界的秩序,让apk程序拥有神一样的视角与权限,并命名为root的世界。

从此android有了2个世界观,名为root与unroot的世界。也因为root的出现,又多了另一派人,他们是潜伏者,潜伏于android世界里,进行伪装,盗窃,病毒,破坏等各种非法交易。

可是渐渐的潜伏者发现他们制造的程序很容易被人们肉眼所识别,心生一计决定与改造者同行,进化成潜造者,他们将病毒代码依附在正常的apk程序里,以让人无法察觉,悄悄的继续进行着各种非法活动,这些称之为后门,尾巴。

世界是需要平衡的,如果只是一面倒的崩坏,最后只会变成弱肉强食的世界,又何以让开发者们继续生存?开发者们自然也不示弱,决定与改造者合作,重新创建出新的一派,名为保卫者,他们的工作如同其名,保护着android世界的平衡,打击非法活动,捕抓不当行为,确保每一位使用者都能获得最大的利益保障。

从此android世界进入了新的次元,攻与防的世界,一个适者生存的世界。就像现今的社会,疫情侵袭全球,病毒之所以会频密异变,其中原因之一就是攻防战里战胜了疫苗,提升了实力进化成新病种,这就是达尔文的进化论里的生存斗争,适者生存。

在android的世界里,改造者是唯一中立的存在,同时他所需要接触的知识范围更广,最终会变成什么样子,都是取决你自己最终的决定。
                                                            
想成为一名合格的改造者,就必须对apk的体质熟悉与了解,才能有效率的去改造,去投放于android世界里。

apk 全称 Android Package.
它属于压缩类型,只要在电脑上将apk后缀改为rar即可解压。

初学改造,首先并非是学习如何去改造,而是要先去了解apk的体质结构,才能更好的去处理每一步。
所谓知己知彼,百战百胜。
所有高超技术,都是从基础知识衍生而来。
只有基本功扎实,才能以不变应万变。

改造者是以逆向为主心法,逆道而行,逆向而生。
所以他们不仅要学会往前走,更要学会如何往后退,能屈能伸,方为大丈夫。

编程是学习过程中必不可少的一门心法,因为在改造的世界里,会面对着不同的开发者投放进来的apk程序。如果不知道开发过程使用了何种招式,就无法更好的去化解。只有了解对方的出招方式,才能有效的找出化解方式。

然而世界上编程里包含的武学繁多,在android世界里同样的也有很多编程武学套路,常见的有 java,kotlin,c/c++/c#,js,h5,lua等等。
至于对于初学者,可以从java,kotlin开始,只有学会了编程相关功法,才能更好理解apk的机制。

apk与人体一样,都是由五脏六府,骨骼经脉,血液肉体而形成,顺时运作,由上至下,循环往复。

接下来进入剧情模式。。。

=================剧情片段=================
导演: 全世界准备
助理: 快快快。。各就各位。
助理: 3 2 1。。。action
旁白: 以下是apk文件结构+介绍


assets-大家好,我是宝藏君,初次见面,在apk里我是存储宝藏的地方,我可以存放各种各类物品,同时我还可以进行分类存放,存在在我这里的物品无需登记,只要你拥有名为AssetManager的钥匙,你就可以随时取出使用,往后请多多指教,如果喜欢我请记得给我点赞。

lib-大家好,我是知识君,我的洋名叫library,聚理论与实践为一身,偶尔还是有感性的一面,可是如果感性了就会导致程序崩溃。在apk里是藏书阁般的存在,存储着各式各样的知识库,但是我只能识别后缀为so的文件,so文件是由c/c++编译而成,我一共有7个分派,分别是armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64,以对应不同cpu的设备,如果apk里没有我,一般则表示这个apk不需要。
以下有关于我分派的解释
-armeabi-v7a 基本通用所有android设备
-arm64-v8a 只适用于64位的android设备
-x86 常见用于android模拟器
-mips 一般基本用不到
无论apk里包含多少分派,我都会依据设备cpu提供最适配的so库。
有时候改造者喜欢往我这里翻,修改我的指令,达成他们的目的。

META-INF-大家好,我是拦路君,想进入android世界,必须从我这里取得签名印章。如果一个apk不包含我的签名印章,是无法进入到android世界的。每位开发者都有属于自己的签名印章,改造者是无法捏造的,即使改造者使用了签名印章,都无法与原版的一模一样,所以平常开发者喜欢用我去判断apk程序是否被修改过。

res-大家好,我是布局君,作为一名设计师,绝对必须要有一个洋名,我的洋名叫resource,是不是又洋气又帅气,偷偷告诉你,library帮我取的。至于在apk里,我负责布局,apk长什么样子我说了算。所谓排兵布阵一步错步步错,所以凡是在我这里使用的物品都需要登记id,凡没有登记过的物品,是无法被取出使用的。

AndroidMainfest-大家好,我是在座各位的老大,我叫指挥君,apk里我主要负责指挥,所有需要发出的指令,权限,都需要在我这里进行配置,不然程序是无法启动的。

classes.dex-大家好,我是执行君,聚Java武学于一身,所有招式都是从我这里出招,在apk里负责程序的运作,经脉的贯通。平常改造者最喜欢给我修改招式,明明只想打出苍龙无悔,却每次都让我打出降龙十八掌,这是想累死我的节奏吗?

resources.arsc-大家好,我是账本君,我是布局君的得力助手,在apk里平日主要负责布局的进出记录,所有物品id都会记录在这里,绝对不会被鱼目混珠。
改造者偶而喜欢从我这里翻查信息,id来对执行君体内的脉络进行定位。


呼~终于介绍完了。。。
布局君: 还没!!! 身为主角的我,戏份怎么可以那么少,导演我要加戏!
(明明是小丑)
导演: 片长还有吗?
助力: 还有一些。
导演: 行吧,那让它加一场吧。
助力: 3 2 1。。。action

嘿嘿,各位,我布局君又来了,给大家介绍介绍我的设计结构。


anim-这是我的映画厅,程序界面会动的图片都是由这里负责。

color-这里是我的配色坊,程序界面的颜色,线条,样式都是由这里负责。

drawable-这里是我的图片库,程序界面的所有图片都是由这里负责。

layout-这里是我的设计室,程序界面高矮胖瘦都是由这里决定。

mipmap-这里是我的形象展,一个好的程序都必须要有一个好的商标,程序图标由这里负责。

raw-这里是我的杂物仓,其它类型的物品都由这里负责。

xml-这里是我的修饰房,程序自定义布局基本由这里负责。

导演: cut!! 干得不错 一遍过。
布局君: (得意)那导演下次是不是可以再给我加多几场?
导演: 。。。
                                                
=================剧情片段=================


其实光了解apk的形成,还无法成为改造者。
没有招式,没有武功,没有器具,又如何去战?
所以。。。是时候学习武功了。。。

未完待续。。。
(注: 有空再更新。。。)

长图高清版:


下一篇:
Android改造者之路-02.初探smali功法

低调(d-iao) 发表于 2021-7-25 18:25

king09009 发表于 2021-7-25 17:44
写得很不错,通俗易懂并且很幽默的代入了各种理念,让新人更有学习的欲望,感谢

谢谢你喜欢这样的方式

正己 发表于 2021-7-28 11:28

低调(d-iao) 发表于 2021-7-27 00:33
不是教程 只是说故事
那这故事很有意思,又生动形象,请多多益善{:17_1068:}

Peter19 发表于 2021-7-25 16:00

很详细,学习了,感谢感谢~

qc123 发表于 2021-7-25 16:06

META-INF的台词换种颜色吧,看不清哦

偶尔平凡 发表于 2021-7-25 16:10

快乐的鸡蛋黄 发表于 2021-7-25 16:47

写的不错,很像之前读过的Java帝国成长史

lyj996 发表于 2021-7-25 16:51

不错,支持一下

eskyboy 发表于 2021-7-25 16:59

不错,学习了

Sc118421 发表于 2021-7-25 17:05

不错,不错,前来学习学习哈

flynong 发表于 2021-7-25 17:15

学习中,多谢

bailabi 发表于 2021-7-25 17:18

就需要这样的教程!
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 【原木文章】Android改造者之路-01.初识Apk体质的形成