山寨windows
我的目标是能够运行windows 下的大部分PE格式的程序,这一点通过实验已经证明完全是可行的。
PE格式主要有exe dll sys等文件,这三个文件可以用相同的函数解析,
主要有以下段组成,
1、文件头,包含DOS文件头、PE文件头、段信息等
2、.text区段:包含可执行代码,也称为代码区段。
3、.data区段:包含已初始化的全局和静态变量。
4、.rdata区段:包含只读数据,如常量、字符串等。
5、.bss区段:包含未初始化的全局和静态变量,该区段在文件中不占用空间,只在内存中分配。
6、.idata区段:包含导入表,用于存储程序运行时需要动态链接的外部函数和库的信息。
7、.rsrc区段:包含资源数据,如图标、位图、字符串等。
exe、dll、sys区别主要是入口函数不用,其他基本一样。
因此只需要将文件分段加载至内存,再处理好导入表,还有一些重定位等需要处理,就可以正常运行。
ntoskrnl.exe hal.exe 以及sys加载至内核
ntdll.dll kernel32.dll user32.dll gdi32.dll等加载到用户进程。他们之间做api处理相应调用
用户进程与内核用kiFastSystemCall 调用 ,sysenter_entry 接收内核的调用,并返回用户态。
以上过程均已通过代码实验成功。
现在要处理是驱动程序 sys的加载与调用,主要是内核api的资料比较少,还在试验当中。
相关文章:
山寨windows
我的目标是能够运行windows 下的大部分PE格式的程序,这一点通过实验已经证明完全是可行的。 PE格式主要有exe dll sys等文件,这三个文件可以用相同的函数解析, 主要有以下段组成, 1、文件头,包含DOS文件头、PE文件头…...
unity工程输出的log在哪里?
在编辑器里进行活动输出的log位置: C:\Users\username\AppData\Local\Unity\Editor\Editor.log ------------------------------------ 已经打包完成,形成的exe运行后的log位置: C:\Users\xxx用户\AppData\LocalLow\xx公司\xx项目...
【力扣】7. 整数反转
7. 整数反转 题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 …...
Android Apk签名算法使用SHA256
Android apk签名算法使用SHA256 本文不介绍复杂的签名过程,说一下Android签名算法使用SHA256。 但是SHA1不是相对安全签名算法,SHA256更加安全一些。 一般大公司才会有这种细致的安全要求。 如何查看apk签名是否是SHA1还是SHA256 1、拿到apk文件&…...
2024.3.13力扣每日一题——最大二进制奇数
2024.3.13 题目来源我的题解方法一 贪心 题目来源 力扣每日一题;题序:2864 我的题解 方法一 贪心 统计1的个数,满足要求的字符串的末尾一位一定是1,所以需要将一位1放到末尾,然后将剩余的1从最高位开始放࿰…...
2024.4.1力扣每日一题——故障键盘
2024.4.1 题目来源我的题解方法一 直接利用StringBuilder的反转函数方法二 字符数组 题目来源 力扣每日一题;题序:2810 我的题解 方法一 直接利用StringBuilder的反转函数 使用StringBuilder构造结果,并利用其反转函数进行翻转 时间复杂度…...
第十四届蓝桥杯C/C++大学B组题解(一)
1、日期统计 #include <bits/stdc.h> using namespace std; int main() {int array[100] {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6,…...
4.网络编程-websocket(golang)
目录 什么是websocket golang中使用websocket Server端 Client端 什么是websocket WebSocket是一种在互联网上提供全双工通信的协议,即允许服务器和客户端之间进行双向实时通信的网络技术。它是作为HTML5的一部分标准化的,旨在解决传统HTTP协议在实…...
docker安装部署mysql后忘记root密码
应用场景是:用docker安装完mysql后,使用安装时候设置的密码登录不上MySQL; 1、修改docker映射出mysql的配置文件:my.cnf 在mysqld最下方添加skip-grant-tables进入安全模式(随意一个密码即可登录mysql) [m…...
c++的学习之路:14、list(1)
本章讲一下如何使用list,代码在文章末 目录 一、list介绍 二、增 三、删 四、查和改 五、交换 六、代码 一、list介绍 首先还是看一看官方文档的介绍如下图,如下方五点: 1. list是可以在常数范围内在任意位置进行插入和删除的序列式…...
huawei 华为交换机 配置 VLAN 聚合示例
组网需求 某公司拥有多个部门且位于同一网段,为了提升业务安全性,将不同部门的用户划分到不同VLAN 中,如 图 5-7 所示, VLAN2 和 VLAN3 属于不同部门。各部门均有访问Internet需求,同时由于业务需要,不同部…...
【QT+QGIS跨平台编译】056:【pdal-dimbuilder+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
点击查看专栏目录 文章目录 一、pdal介绍二、dimbuilder介绍三、pdal下载四、文件分析五、pro文件六、编译实践七、生成Dimension.hpp八、生成pdal_features.hpp一、pdal介绍 PDAL(Point Data Abstraction Library)是一个开源库,用于处理点云数据的获取、过滤、转换、分析和…...
【Python】探索Python中的aiohttp:构建高效并发爬虫
后来 我总算学会了 如何去爱 可惜你 早已远去 消失在人海 后来 终于在眼泪中明白 有些人 一旦错过就不再 🎵 HouZ/杨晓雨TuTu《后来》 在数据密集和网络密集的任务中,提高程序的执行效率是非常重要的。Python作为一门强大的编程语言…...
创建真实项目vue2项目
1. 创建 vue create 项目名 2. 选择自定义 3. 勾选以下必备选项 4.选择使用vue2 5. 选择哈希模式(n); css选择Less 6. ESLint校验 选择 7. 保存(按照默认) 8. 在哪里添加ESLint文件 9. 要不要把这个改成将来的预设&am…...
【大数据】安装hive-3.1.2
1、上传HIVE包到/opt/software目录并解压到/opt/modules/ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/modules/ 2、修改路径 mv /opt/modules/apache-hive-3.1.2-bin/ /opt/modules/hive 3、将hIVE下的bin目录加入到/etc/profile中 export HIVE_HOME/opt/module…...
STM32工程 如何设置堆栈大小(Heap和Stack)
方法1:通过CubeMX、CubeIDE 配置 方法2:直接在启动文件中修改 (适合所有Keil工程) Heap、Stack的值大小,不管使用哪种开发环境,它俩都肯定在启动文件中。 可以通过CtrlF,搜索: Heap࿰…...
光纤资源运维管理升级方案,让您的网络资产价值倍增!
光纤资源管理的现状与风险 1. 管理现状 ▌▶ 排查难 ▌▶ 跟踪难 2. 潜在风险 故障隐患 资源丢失 增加业务中断时长 纤心占用不清 障排查复杂 运维压力巨大 基于数字孪生物联网技术的数字化管理升级方案 1. 快速创建光纤资源数字孪生空间 市级 区级 街道 光缆 机房 机柜 2…...
【深度学习】最强算法之:深度Q网络(DQN)
深度Q网络 1、引言2、深度Q网络2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.5 代码示例 3、总结 1、引言 小屌丝:鱼哥, 马上清明小长假了, 你这准备去哪里玩啊? 小鱼:哪也不去,在家待着 小屌丝:…...
微软文本转语音和语音转文本功能更新,效果显著!
今天我要和大家分享一个新功能更新——微软的文本转语音和语音转文本功能。最近,微软对其AI语音识别和语音合成技术进行了重大升级,效果非常好,现在我将分别为大家介绍这两个功能。 先来听下这个效果吧 微软文本转语音和语音转文本功能更新 …...
充场拉新工作室保证金靠谱吗?找一手渠道是否免费?
在当前的互联网经济中,充场拉新工作室作为一种新兴的创业项目,吸引了众多创业者的关注。然而,关于是否需要支付保证金、加盟费,以及如何寻找免费的充场拉新一手渠道,许多人仍然存在疑问。 本文将为您提供专业的解答&a…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
