微信HOOK 协议接口 实战开发篇 2.好友列表与二叉树

news2024/12/24 8:36:56

前言:由于篇幅所限,文章无法详细到每个步骤,仅能写出关键的HOOK思路


好友列表

好友和群列表在汇编代码中有固定的常量保存
在这里插入图片描述
如图示,找到常量,回车进入
入口地址结构为
在这里插入图片描述
其指针内部便是我们需要的数据

群列表

搜索ChatRoom
在这里插入图片描述
如图,也是比较简单即可找到目标地址

二叉树

一般来说,内存中的会有使用二叉树进行保存数据的情况
我们要找的两个列表,也是通过这种方法进行保存的
深入了解汇编,学习二叉树是必要的

在这里插入图片描述
这里我使用的先序遍历
从左子树开始,一直读取到左子树直到尾部。也就是0-1-3-7,此时左子树7已到达尾部
返回上一级,也就是3处,读取右子树8,0-1-3-7-8
3处全部读取完毕,返回至1,读右子树4,以此类推,直到遍历完毕

二叉树相关代码已经有很多文章深入探讨了,也有对应语言的例程,这里就不再赘述了
有兴趣可以自行寻找所学语言的例程学习

交流学习可打开个人简介

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/114063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux中的进程状态

目录 一、冯诺伊曼体系结构​编辑 关于冯诺依曼,必须强调几点: 二、操作系统 1、概念 2、操作系统的作用 3、本质 4、总结 5、系统调用和库函数概念 三、进程 1、基本概念 2、描述进程 3、task_struct 4、查看进程 5、通过系统调用获取进程…

第19章 随机变量

第19章 随机变量 19.1随机变量示例 定义19.1.1:概率空间上的随机变量R是域等于样本空间的全函数。 R的陪域可以是任何东西,但通常是实数的一个子集。 例: 例如,假设我们抛三个独立的、公平的硬币。令C表示正面朝上的次数。如…

js中的JSON的简单用法

目录 1.JSON说明 2.JSON.stringify 3.JSON.parse 4.示例 1.JSON说明 当数据在浏览器与服务器之间进行交换时,这些数据只能是文本,JSON 属于文本并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。我们也能把从服…

最强docker部署模板

00.背景 最近学校让一个小组做一个web项目最后部署到linux服务器上,项目本身并不难就是简单的增删改查,但是我想借着这个机会写一个docker部署的模板,方便自己以后用,也希望可以帮助到大家。 01.docker简介 docker可以快捷 轻量…

Redis原理篇—网络模型

Redis原理篇—网络模型 笔记整理自 b站_黑马程序员Redis入门到实战教程 用户空间和内核态空间 服务器大多都采用 Linux 系统,这里我们以 Linux 为例来讲解: ubuntu 和 Centos 都是 Linux 的发行版,发行版可以看成对 Linux 包了一层壳,任何 …

第八章:数据库编程

一、嵌入式、过程化SQL、存储过程和函数 1、【单选题】 下表为oracle数据库表cj.temp_20221106的数据。建立存储过程: CREATE OR REPLACE PROCEDURE proc_temp_20221106(i INT) IS CURSOR c_temp IS SELECT * FROM cj.temp_20221106; ROW_NR c_temp%ROWTYPE; i_count …

【Linux】基础IO——系统文件IOfd重定向理解

文章目录一、回顾C文件接口1.打开和关闭2.读写文件3.细节二、系统文件I/O 1.open和closeumask小细节2.read和write1.write2.read3.小总结三、理解文件四、文件描述符fd1.引入2.理解3.分配规则4.close(1)问题五、重定向1.重定向2.接口3.追加重定向4.输入重定向六、Linux一切皆文…

信息技术 定义内涵

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…

Java框架精品项目【用于个人学习】

难度系数说明: 难度系数用来说明项目本身进行分析设计的难度 难度系数大于1的项目可用作参赛作品、大作业、计算机毕业设计等需求 前言 大家好,我是二哈喇子,此博文整理了各种项目需求,用于博主自己学习,当做个人笔记…

黑烟车识别抓拍系统 python

黑烟车识别抓拍系统利用Python基于YOLOv5通过道路已有卡口相机对现场画面中包括黑烟车、车牌信息、车头车尾照片、林格曼黑度等级数据回传给后台。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可…

IMX6ULL学习笔记(14)——GPIO接口使用【C语言方式】

一、GPIO简介 i.MX6ULL 芯片的 GPIO 被分成 5 组,并且每组 GPIO 的数量不尽相同,例如 GPIO1 拥有 32 个引脚, GPIO2 拥有 22 个引脚, 其他 GPIO 分组的数量以及每个 GPIO 的功能请参考 《i.MX 6UltraLite Applications Processor Reference M…

【魔法圣诞树】代码实现详解 --多种实战编程技巧倾情打造

一、前言 本文会基于C# GDI技术 从零到一 实现一颗 魔法圣诞树!源码和素材在文末全部都有! 二、魔法圣诞树 对于用代码画圣诞树,网上各种编程语言像python、css、java、c/c我们都有见到过了,那么在绘图方面,还有一位…

从刘润的商业简史,预测互联网与能源的未来,辉煌的人生需要顺势而为

所有理所当然的现在,都是曾经看起来不可能的未来。 所有现在看起来不可想象的未来,可能都是明天理所当然的现在。 未来已来,只是尚未流行。 “一切历史都是当代史。”学习历史的目的,正是为了从中总结规律,然后用这些…

第四章:数据库安全性

一、数据库安全概述和控制 1、【单选题】TCSEC/TDI安全级别划分中,C1级需要实现的安全策略为: 我的答案:A 2、【单选题】能够对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、审计等安全机…

绿盟SecXOps安全智能分析技术白皮书 工作流运行

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…

【关于时间序列的ML】项目 10 :用机器学习预测降雨

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

浅谈会话技术:Cookie,Session、Token

◼️ 什么是会话 会话: 数据交互的过程,在web中指 浏览器从发出一个请求到浏览器关闭,这个过程就是一个会话。在这个过程中,需要有很多的状态和数据需要我们关注,记录,这个就是我们要研究的会话 ◼️ 什么…

基于主从博弈的社区综合能源系统分布式协同优化运行策略(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

源码系列 之 HashMap

简介 HashMap可能是Java程序员最常用的集合之一了,面试也是常考题之一。那么我们平时了解到的特性都是怎么来的呢,什么一会儿是链表,一会儿又是红黑树。八股文选手现在已经像高中背《滕王阁序》一样,肌肉反应似的在脑子背过一遍了…

Github一夜爆火,不愧是阿里、字节高级架构师联合创作的Netty核心原理手册

讲到这里,你可能要问了:如果我的工作中涉及网络编程的内容并不多,那我是否还有必要花精力学习 Netty 呢?其实在互联网大厂(阿里、腾讯、美团等)的中高级 Java 开发面试中,经常会问到涉及到 Nett…