摘要:
1、古人云:没有规矩,不成方圆!任何组织要想正常运作,肯定需要有一系列的规章制度来约束参与其中的每个个体,否则每个个体都是各干各的,从全盘来看就是一群做着布朗运动的散沙!IT技术也一样,最典型的就是计算机网络了:为了确保整个网络能正常收发数据包,早在几十年前就制定了一整套计算机网络的通信协议,这就是 阅读全文
摘要:
1、AES也是一种非常成熟的对称加密算法了,整个流程如下: 可以看到流程比较复杂,步骤很多,很多初学者光是看这个流程就晕菜了。这么多步骤,每个步骤都是干啥了?分别都有啥用了?理解了每个步骤的原理和作用,才能更好的魔改和识别魔改! (1)先回到加密算法最核心的作用或本质: 让明文和密文之间没有明显的统 阅读全文
摘要:
1、MD5是业界非常成熟的hash算法了,原理不再赘述,这里介绍一下可以魔改的地方! (1)MD5默认输出是128bit,怎么改变这个长度了?MD5的结果是由4个32bit的ABCD组成的,原始取值如下: unsigned int A = 0x67452301; unsigned int B = 0 阅读全文
摘要:
搞逆向,hook是必备的基本技能之一,常见的hook工具有xpose、frida等。这些hook框架出来的时间都有好多年了,历史悠久,用的人也多,影响范围非常大,导致app开发商也会重点检测和防御。现在规模稍微大一点的开发商都会针对xpose、frida做各种防护,导致部分场景下使用xpose、fr 阅读全文
摘要:
1、万丈高楼平地起,正常人都知道高楼大厦地基的重要性!现代产业链的成熟,让产业分工越来越明细,很少有公司或团队能完整地提供产业链上每个环节的产品,很多都是基于某个厂家上游的产品继续做下游的开发,典型的如应用app开发,肯定要基于操作系统提供的api接口;同理,操作系统的开发需要基于cpu提供的汇编指 阅读全文
摘要:
低版本x音client会验证server的证书,所以把抓包软件的证书安装在android系统后就可以冒充server欺骗client抓包了;但是后来的高版本libttboringssl.so中调用了SSL_CTX_set_custom_verify来设置server对client的验证,这下抓包软件 阅读全文
摘要:
1、去年逆向x音15.5.0版本时,可以直接用fiddler抓包。后来貌似升级到17版本时fiddler就抓不到包了,看雪有大佬破解了x音防抓包的功能,原理并不复杂:boringssl源码中有个SSL_CTX_set_custom_verify函数,定义如下: void SSL_CTX_set_cu 阅读全文
摘要:
dpdk是intel主导开发的网络编程框架, 有这么多的优点,都是怎么实现的了? 1、UIO原理:dpdk绕过了操作系统内核,直接接管网卡,用户程序可以直接在3环读写网卡的数据,这就涉及到两个关键技术点了: 地址映射:3环的程序是怎么定位到网卡数据存放在哪的了? 拦截硬件中断:传统数据处理流程是网卡 阅读全文
摘要:
1、操作系统、计算机网络诞生已经几十年了,部分功能不再能满足现在的业务需求。如果对操作系统做更改,成本非常高,所以部分问题是在应用层想办法解决的,比如前面介绍的协程、quic等,都是在应用层重新开发的框架,简单回顾如下: 协程:server多线程通信时,如果每连接一个客户端就要生成一个线程去处理,对 阅读全文
摘要:
quic协议最早是google提出来的,所以狗家的源码肯定是最“正宗”的!google把quic协议的源码放在了chromium里面,所以要看quic的源码原则上需要下载chromium源码!但是这份源码体积很大,并且还需要FQ,所以多年前就有好心人把quic源码剥离出来单独放github了,在文章 阅读全文