NTZ改机原理全公开-- 架构篇

Posted 疯人院的院长大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NTZ改机原理全公开-- 架构篇相关的知识,希望对你有一定的参考价值。

NTZ的鼎盛时代在前几年,那个时候的风控还不够完善,很多厂商的风控也仅限于java层,并没有针对更深层次的指纹进行风控。由于风控技术的迭代,ntz的一些手法已经不完全是用,但是在某些方面还是具有一定的借鉴意义。

本系列专题就和大家抽丝剥茧,将它的实现原理一个呈现给大家。

一个可靠好用的模块,架构就像是基石,打好了框架会让后续的开发工作事倍功半,也会大大提升代码的可读性和维护性。在阅读别人的代码前,也建议先从读懂别人的框架开始,这样才能快速定位到核心代码逻辑,而不是盲人摸象,浪费时间。

NTZ是基于Xposed框架发展而来的的一个插件,也就是说,你想让他能正常工作就需要在具备Hook框架的前提下工作,而对于现如今各大厂对于Xposed以及相关衍生框架的封杀,导致主流的框架变得越来越不可用,主要是因为特征码很容易被检测到,迫于此,大家必须自己去研究Xposed框架和Magisk(Xposed其实也是Magisk的一个插件)。解决这个问题目前主流的有两种思路:1. 通过自己写一个hook框架植入到系统源码编译(目前我采用的方法),2. 通过linux 的字符串搜索替换工具sed -i实现关键词的全局替换(稳定性暂未测试)。

NTZ涉及到的功能模块较多,但由于这里面的模块都是通过hook来实现功能的,因此在设计这个框架的时候采用了注入方式实现模块化。父类只需要配置需要用到的参数即可,这样的好处是让代码模块化很长更高,更好扩展。这种设计模式我以前在写socket框架的时候经常用到。

NTZ模块划分

NTZ的功能做的比较全,涵盖了我们做逆向用到的大部分hoo

以上是关于NTZ改机原理全公开-- 架构篇的主要内容,如果未能解决你的问题,请参考以下文章

腾讯架构师理解的并发编程基石——Thread类的工作原理

系统架构实战:支付平台的架构设计

支付平台的架构设计

阿里巴巴内部:2022年全技术栈PPT分享(架构篇+算法篇+大数据)

Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理

Redis技术专题「高可用技术基础」一同分析一下Redis高可用的“基石”之主从架构的本质原理解析