2.1 PE结构:文件映射进内存

PE结构是`Windows`系统下最常用的可执行文件格式,理解PE文件格式不仅可以理解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,在任何一款操作系统中,可执行程序在被装入内存之前都是以文件的形式存放在磁盘中的,在早期DOS操作系统中,是以COM文件的格式存储的,该文件格式限制了只能使用代码段,堆栈寻址也被限制在了64KB的段中,由于PC芯片的快速发展这种文件格式极大的制

2.2 PE结构:文件头详细解析

PE结构是`Windows`系统下最常用的可执行文件格式,理解PE文件格式不仅可以理解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,DOS头是PE文件开头的一个固定长度的结构体,这个结构体的大小为64字节(0x40)。DOS头包含了很多有用的信息,该信息可以让Windows操作系统使用正确的方式加载可执行文件。从DOS文件头`IMAGE_DOS_HEADER`的`e_lf

1.5 为x64dbg编写插件

任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,`x64dbg`也不例外其可通过开发插件的方式扩展其自身功能,`x64dbg`提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,`x64dbg`还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以`C/

DTT年度收官圆桌π,华为云8位技术专家的年末盘点

摘要:收下这份DTT年度收官圆桌π总结,在新的一年心想事成,技术上更上一层楼。 本文分享自华为云社区《DTT年度收官圆桌π,华为云8位技术专家的年末盘点》,作者:华为云社区精选 。 在2022年的年末,华为云DTSE Tech Talk迎来了年度收官圆桌π直播活动(👉 点击回看),8位DTSE技术

云图说 | Workflow:流水线工具,助您高效完成AI开发

摘要:Workflow是将ML Ops(机器学习和DevOps的组合实践)应用于ModelArts平台,可以让您更高效的完成AI开发。 本文分享自华为云社区《云图说 | 第263期 Workflow流水线工具,助您高效完成AI开发~》,作者:阅识风云。 Workflow(也称工作流)本质是开发者基于

全域Serverless+AI,华为云加速大模型应用开发

华为云FunctionGraph技术极大的优化了AI应用的开发过程,让AI团队可以更关注业务实现,而无需关注底层技术细节。

4大焕新,华为云CCE带你感受容器化上云体验

在容器化日益成为中大型企业上云主流选择的情况下,容器服务如何能帮助用户更简单快捷的上云、高效可信赖的运维?

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包

Jenkins Pipeline 流水线 步骤 拉取SVN代码 -> Maven 构建 -> Docker 编译 -> 发布至阿里云仓库 -> K8S 更新 Jenkins插件安装 Localization: Chinese (Simplified) Subversion 【2.16.0】 --从S

Avalonia项目在OpenKylin运行踩坑

# Avalonia项目在OpenKylin运行踩坑 本篇博客记录OpenKylin开源操作系统中运行Avalonia项目遇到的各种问题,会一直更新,最新的内容请点击文末的链接跳转到我的[博客原文地址](https://www.raokun.top/archives/avalonia-xiang-m

我在京东做研发第五期:京东云自研服务器,如何将开发成本降低 60% 的同时还更低碳环保?

随着互联网的不断发展,各类技术工程对cpu算力的需求持续飙高,这不仅带来了技术上的压力,对电力能耗的需求也越来越大。为在有限的电力内达到最佳的效果,京东云自研服务器围绕三大主轴,提升性能效率、降低整体成本,让地球环境可以永续经营。

Spring源码系列:核心概念解析

Spring框架中有许多关键组件,理解这些组件的作用和关系可以帮助我们更好地阅读和理解Spring源码。BeanDefinition是Spring中重要的概念,定义了一个Bean的基本属性和行为,是Spring容器管理Bean的基础。我们可以通过注解或编程方式定义BeanDefinition,然后将其注册到Spring容器中。BeanDefinitionReader是读取和操作BeanDefini

规则引擎调研及初步使用

生产过程中,线上的业务规则内嵌在系统的各处代码中,每次策略的调整都需要更新线上系统,进行从需求->设计->编码->测试->上线这种长周期的流程,满足不了业务规则的快速变化以及低成本的更新试错迭代。因此需要有一种解决方案将商业决策逻辑和应用开发者的技术决策分离开,在系统运行时能去更新管理业务规则。

一种新的告警收敛方式“先知预警”,为您的系统健康护航

通过这个预警系统,我们能够提前发现并主动处理对账事后异常,其技术难度并不高, 更多的讲究的是一个方法。对此方法起了一个名字叫"先知预警",也希望此理论能对您的系统有所帮助。

利用CI机制管控jar依赖树

你还记得你排查jar冲突的付出么?为了有效控制jar包更新带来的未知jar引入和变动,我们经常使用dependency-tree来查看依赖关系排查问题,通常是出现问题再被动分析和排查,此时人力成本是巨大的,同时系统已出问题,没有后悔药。

Java 21 新特性:Unnamed Classes and Instance Main Methods

Java 21引入了两个语言核心功能: 未命名的Java类你说 新的启动协议:该协议允许更简单地运行Java类,并且无需太多样板 下面一起来看个例子。通常,我们初学Java的时候,都会写类似下面这样的 Hello World 程序: public class HelloWorld { public

向量化实现矩阵运算优化(一)

xsimd简介 xsimd是C++的一个开源simd库,实现了对常见simd指令的封装,从而使得simd的操作更为简单。接下来先从两个简单的例子来入门xsimd。 void average(const std::vector& v1, const std::vector

Java 21 新特性:虚拟线程(Virtual Threads)

在Java 21中,引入了虚拟线程(Virtual Threads)来简化和增强并发性,这使得在Java中编程并发程序更容易、更高效。 虚拟线程,也称为“用户模式线程(user-mode threads)”或“纤程(fibers)”。该功能旨在简化并发编程并提供更好的可扩展性。虚拟线程是轻量级的,这

秋招上岸“我”都做对了哪些事?

这两年的就业情况大家是有目共睹的,特别是作为双非院校的学生,更能感觉到其中的寒意。 然而,作为学生的小张(花名),竟然在国庆之前,拿到了两份 Java 研发的工作: 深信服 Java 研发岗工作,薪资 17K*15。 金证科技 Java 研发岗工作,薪资预计 15K。 口说无凭,直接上图: 那他都作

Python函数式编程之map/filter/reduce/sorted

Python函数式编程之map/filter/reduce/sorted 关于函数式编程 函数式编程Functional Programming,其思想更接近数学计算 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定

万物皆可集成系列:低代码通过Web API对接百度AI服务

数据录入在应用中是最常见也是最繁重的一项工作,而对于基础数据的维护更是要保证其准确性。比如需要录入身份证信息时,手工输入的效率低还容易出错;报销填发票时,要从一张一张的发票中找到金额、开票日期等一堆信息,一直重复着复杂的工作,类似的场景数不胜数。但现在,我们可以完全通过百度AI文字识别功能解决以上问