安卓逆向设备指纹对抗征求意见书
首先声明这篇帖子属于一篇征求贴,没有一丝的装逼成分,因为本人对逆向和渗透有浓厚的兴趣,碍于自身能力有限,圈子有限,时常感觉对技术这块会有很多的疑问,很多的不确定性。
近日总想着做出一套在Android 逆向方面覆盖面比较全面,内容细节比较丰富的课程,经过和朋友的探讨,结合自己的经验与网络上的分享的知识,整理出了一套自认为完整但远远没有达到完美的应用。
Android 的碎片化众所周知是及其严重,我曾一度的无法忍受这种繁琐带来的苦恼,当然利弊皆有。
正题:
app的开发我已经尽可能多的将安卓设备指纹信息的采集集成进去,这里可能面临的最大问题是 在Android 的正向开发中一个设备信息的获取可能会有几种到十几种方式,我们在做逆向对抗的过程中,每一个目标app的开发者可能会有不同的思路去实现相同的方法结果。这就让对抗者很难在未对app进行逆向分析的情况下能够理解目标开发人员他的实现思路。
我一直认为,每个人都有自己擅长的方面和不擅长的弊端,也有自己熟知的知识沉淀和陌生的未知领域。每个人也常在自己所熟悉的领域圈子里不停地打转但同时又及其渴望吸收未知的知识来补充自己缺失地东西。这让我们每个人与人之间,圈子与圈子之间有了一个壁垒。
可能是因为:知识无价,知识付费的流行,利益,大佬身份等等原因。。。。
这里希望有共享精神的伙伴,一块共同交流分享,因为我这里有你不知道的东西,你哪里也有我不知道的内容。
视频介绍:
逆向入门内容,是从安卓设备指纹的检测角度出发,从正向开发出发,由简单的api调用到后期自实现的过程,逐渐了解安卓设备检测的方方面面的实现,源码均采用一鲁到底的开发方式,后面会集成各种java层和native层加密算法的开发。
逆向对抗的内容,会逐一的对app进行对抗,对抗前期会实现一个框架,框架内将最终集成魔改XPosed或frida,inlinehook 相关框架 ,ebpf模块等等。
功能:
java层hook常规api(包含了所有设备指纹获取的相关api)
native层hook(libc.so,libart.so,liblinker.so,和任意指定so文件) 常规api ,
内核层hook(主要为了防止目标app自实现代码去检测设备信息)。
细节功能:
框架集成源码开发学习分析
java层检测饶过和数据修改,
jni层函数调用方法参数打印,
内存指令检查饶过,
IO重定向,
用户态数据返回值的修改,
内核层系统调用方法参数打印,
内核层用户访问数据的返回数据修改,
任意文件隐藏,
所有内容围绕着aosp源码进行检测对抗饶过。
不足或遗漏之处还望大神前来指点,共同交流。
其实最简单的方法,直接使用Magisk相关的插件,但是遇到一些特殊情况的时候,你会懂得,万能的工具只有知识。
视频大纲
