会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
第七子007
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
5
6
7
8
9
10
11
12
13
···
22
下一页
2022年3月25日
linux源码解读(三十三):android下boringSSL核心源码解析&x音防抓包证书校验原理
摘要: 1、去年逆向x音15.5.0版本时,可以直接用fiddler抓包。后来貌似升级到17版本时fiddler就抓不到包了,看雪有大佬破解了x音防抓包的功能,原理并不复杂:boringssl源码中有个SSL_CTX_set_custom_verify函数,定义如下: void SSL_CTX_set_cu
阅读全文
posted @ 2022-03-25 16:08 第七子007
阅读(4991)
评论(1)
推荐(1)
2022年3月24日
linux源码解读(三十二):dpdk核心源码解析(二)
摘要: dpdk是intel主导开发的网络编程框架, 有这么多的优点,都是怎么实现的了? 1、UIO原理:dpdk绕过了操作系统内核,直接接管网卡,用户程序可以直接在3环读写网卡的数据,这就涉及到两个关键技术点了: 地址映射:3环的程序是怎么定位到网卡数据存放在哪的了? 拦截硬件中断:传统数据处理流程是网卡
阅读全文
posted @ 2022-03-24 11:21 第七子007
阅读(3392)
评论(1)
推荐(1)
2022年3月21日
linux源码解读(三十二):dpdk原理概述(一)
摘要: 1、操作系统、计算机网络诞生已经几十年了,部分功能不再能满足现在的业务需求。如果对操作系统做更改,成本非常高,所以部分问题是在应用层想办法解决的,比如前面介绍的协程、quic等,都是在应用层重新开发的框架,简单回顾如下: 协程:server多线程通信时,如果每连接一个客户端就要生成一个线程去处理,对
阅读全文
posted @ 2022-03-21 21:52 第七子007
阅读(2153)
评论(0)
推荐(1)
2022年3月16日
linux源码解读(三十一):quic核心源码分析(二)
摘要: quic协议最早是google提出来的,所以狗家的源码肯定是最“正宗”的!google把quic协议的源码放在了chromium里面,所以要看quic的源码原则上需要下载chromium源码!但是这份源码体积很大,并且还需要FQ,所以多年前就有好心人把quic源码剥离出来单独放github了,在文章
阅读全文
posted @ 2022-03-16 21:47 第七子007
阅读(2673)
评论(0)
推荐(1)
2022年3月13日
linux源码解读(三十):quic协议分析(一)
摘要: 1、网络通信时,为了确保数据不丢包,早在几十年前就发明了tcp协议!然而此一时非彼一时,随着技术进步和业务需求增多,tcp也暴露了部分比较明显的缺陷,比如: 建立连接的3次握手延迟大; TLS需要至少需要2个RTT,延迟也大 协议缺陷可能导致syn反射类的DDOS攻击 tcp协议紧耦合到了操作系统,
阅读全文
posted @ 2022-03-13 21:34 第七子007
阅读(2494)
评论(0)
推荐(1)
2022年3月9日
linux源码解读(二十九):android线程通信机制handler&java对象实例布局
摘要: 1、为了在进程间通信,linux推出了信号量、共享内存、消息队列、管道、信号等IPC的方式;为了提高IPC效率,android又进一步优化共享内存,推处了binder机制(本质就是把不同进程的虚拟内存映射到同一块物理内存)。进程间通信的问题解决了,线程间也需要通信,android是怎么解决的了?回顾
阅读全文
posted @ 2022-03-09 21:26 第七子007
阅读(284)
评论(0)
推荐(0)
2022年3月6日
linux源码解读(二十八):通过epoll实现协程(二)
摘要: 1、协程只是一种思路,并且没有操作系统层面的参与,所以全靠3环的应用开发人员自己实现。市面上有各种协程框架,这里以微信的libco库为例,看看协程到底是怎么落地实现的!libco 是微信后台开发和使用的协程库,号称可以调度千万级协程;从使用上来说,libco 不仅提供了一套类 pthread 的协程
阅读全文
posted @ 2022-03-06 21:34 第七子007
阅读(867)
评论(0)
推荐(0)
2022年3月3日
linux源码解读(二十七):协程原理和背景(一)& java的协程实现
摘要: 1、协程原理阐述 (1)为了提升数据处理的效率,用户的应用程序通常采用多线程的形式,典型的就是生产者-消费者模型:生产者往共享内存块写数据,消费者从共享内存块读数据后处理!这种经典的模型具体落地实现时有两点需要特别注意: 多线程之间的互斥/同步:一般情况下共享内存块同时只能有1个线程写,写线程之间必
阅读全文
posted @ 2022-03-03 12:25 第七子007
阅读(779)
评论(0)
推荐(0)
2022年2月25日
linux源码解读(二十六):android binder原理和实现方式
摘要: 1、linux提供了好几种IPC的机制:共享内存、管道、消息队列、信号量等,所有IPC机制的核心或本质就是在内核开辟一块空间,通信双方都从这块空间读写数据,整个流程图示如下: 这种通信方式天生的缺陷看出来了么? A进程把数据拷贝到内核,B进程从内核再拷贝走,同一份数据可能在内存存放了3份,同时还复制
阅读全文
posted @ 2022-02-25 11:08 第七子007
阅读(1520)
评论(0)
推荐(0)
2022年2月23日
linux源码解读(二十五):mmap原理和实现方式
摘要: 众所周知,linux的理念是万物皆文件,自然少不了对文件的各种操作,常见的诸如open、read、write等,都是大家耳熟能详的操作。除了这些常规操作外,还有一个不常规的操作:mmap,其在file_operations结构体中的定义如下: 这个函数的作用是什么了? 1、对于读写文件,传统经典的a
阅读全文
posted @ 2022-02-23 16:47 第七子007
阅读(7740)
评论(2)
推荐(2)
上一页
1
···
5
6
7
8
9
10
11
12
13
···
22
下一页
公告