全站共计4名贡献者


全站共发布文章 12 篇

全站共计4名贡献者


全站共发布文章 12 篇
2026
2025
2026-03-13 1 contributions
2026-03-12 1 contributions
2026-03-10 1 contributions
2026-01-28 1 contributions
2026-01-02 1 contributions
2026
2025

2026

03月

脱壳【一】

本文介绍了软件脱壳的核心技术及工具。主要工具包括Die查壳、IDA Pro/xDbg/Windbg调试器、ImportRE导入表修复工具及Scylla内存转储工具。脱壳基本原则是定位原始入口点(OEP)并修复导入地址表(IAT),成功标志为程序能正常运行。定位OEP的两种核心方法:1)ESP栈平衡法,适用于壳程序保存寄存器且不覆盖硬件断点的情况,通过在push指令后设置ESP硬件断点跟踪至大跳转处;2)最后一次异常法,针对利用SEH异常机制的壳,需统计异常次数并在最后一次异常前拦截,通过接管SEH链单步跟踪至OEP。文中以UPX壳和tElock壳为例演示了完整脱壳流程,强调dump后需脱离调试状态修复IAT。

0
7

leetcode每日一题

本文介绍LeetCode第50题Pow(x, n)的实现方法。题目要求计算x的整数n次幂函数。方法一采用暴力解法,通过for循环直接连乘x,时间复杂度为O(n),但效率较低。方法二使用快速幂算法:递归版本分治计算,先求x^(n/2),再根据n的奇偶性返回结果,时间复杂度O(log n),空间复杂度O(log n);迭代版本通过二进制拆分优化,时间复杂度O(log n),空间复杂度O(1)。文章强调快速幂的递归和迭代思想更重要,因其高效性。

0
13

leetcode热门代码题

LeetCode是一个免费的在线编程学习平台,资源丰富,非常适合初学者准备互联网行业面试中的手撕代码题,注册仅需电话号码且支持中国地区,访问便捷。文章重点介绍了一个热门矩阵填充题,要求生成n×n螺旋矩阵,元素按顺时针顺序填充。解题核心是分层模拟:将矩阵视为多层,从外层开始顺时针填充元素,具体包括上侧从左到右、右侧从上到下、下侧从右到左、左侧从下到上,完成后调整边界递进内层,直至所有元素填充完毕。提供了C++代码实现,时间复杂度为O(n²),空间复杂度为O(1),展示了高效的算法思路。

0
11

01月

Excel建表技巧+规范

Excel建表技巧+规范

该文章提供了表格设计的实用建议。边框应选择所有框线,以加强每个单元格的独立性,使数据更清晰。字体推荐使用仿宋,营造正式专业的视觉效果。说明部分通常采用斜体和红色标出,以突出重要信息。列宽建议设为20或25,行高为25,确保尺寸统一。表头可以加粗并添加背景色,以增强标题的可见性。这些设计原则旨在提升表格的可读性和美观度,并配有示例图进行说明,适用于文档或报告中的表格制作。

一个合适的周报系统应该具备的素质

一个合适的周报系统应该具备的素质

该系统确保数据私密,不会泄露信息。员工填报体验极简,只需填写工作内容,系统自动记录账户和时间。强制格式统一,保证数据一致性。支持数据汇总与可视化,自动生成表格并支持导出。兼容PC端和移动端,方便多设备使用。具备筛选、分组、绩效记录等功能。严格的权限控制:员工仅能查看自己的周报,管理员可访问总表。其他功能待补充。参照nocodb设计。

字符编码体系全景解析:从 ASCII 到 UTF-8 的演进

本文旨在提供一份关于字符编码技术的深度全景指南。文章首先追溯编码技术的演变历史,从早期的 ASCII 到东亚双字节编码(DBCS),再到 Unicode 标准的统一及其各种实现(UTF-8/16/32)。本文深入剖析了每种编码的内部机制、优缺点及字节序问题,并针对特定的测试用例(包含 ASCII、CJK 字符及 Emoji)进行了逐字节的十六进制分析。最后,本文针对 C++ 开发环境(特别是 Windows 平台)提出了基于 UTF-8 Everywhere 宣言的现代化最佳实践,批判了 `wchar_t` 的设计缺陷,并提供了跨平台兼容的正确代码实现。

0
72

大端序 VS 小端序

字节序描述多字节数据在内存中的存储顺序。大端序将高位字节存于低地址,低位字节在高地址,符合人类阅读习惯,常用于网络协议(网络字节序)和文件格式如PNG、JPEG。小端序将低位字节存于低地址,高位字节在高地址,贴近CPU硬件设计,x86/x64架构采用。词源源自《格列佛游记》的比喻。判断字节序可通过代码检查整数1的存储。网络编程需使用转换函数如htonl、ntohl进行字节序转换。比特序描述字节内部比特排列,应用于串行通信如UART。实际应用中,网络传输统一用大端序,跨平台开发需注意转换。字节序只影响多字节数据,单字节数据如char不受影响。

1
47

2025

12月

Linux-云服务器初始配置

本文介绍云服务器初始配置的核心步骤:首先配置SSH密钥登录,通过ssh-keygen生成密钥对,将公钥上传服务器后,禁用密码登录和root直接登录以提升安全性。随后提供服务器信息查看命令:uname查看内核信息,free查看内存使用,df检查磁盘空间,netstat/ss监控网络端口,id获取用户权限。最后强调系统服务管理(如systemctl)和用户权限配置的重要性。整体流程旨在实现安全、高效的远程服务器管理。

1
80

DNS 解析:记录类型、添加规则、冲突与排障

本文系统介绍了DNS的核心概念与实际应用。DNS通过域名解析将人类可读地址转换为IP地址,涉及权威DNS、递归解析器及缓存三层协作。关键记录类型包括:A/AAAA记录指向IPv4/IPv6地址,CNAME实现域名别名指向(但不可与其他记录共存),MX记录指定邮件服务器,TXT用于验证与安全策略。主域名(apex)配置CNAME会与MX等记录冲突,因此行业通用方案为:主域名配置A/AAAA记录及MX邮箱解析,子域名www通过CNAME接入CDN,并设置301跳转至www。解析冲突可通过表格查询,实际生效可用`dig`或`nslookup`命令检测。

1
85

为什么 C++ 的类/结构体/联合体/枚举 的`}`后面要写`;`,而函数定义不用?

文章探讨了C++中类、结构体、联合体定义后需要分号的常见编译错误,如“expected ';' after class definition”。原因源于C语言继承,因为在C中,结构体定义后可立即声明对象(如struct { int x; } s1;),作为简单声明的一部分,以分号结尾,类似于int a = 1;。在早期C版本中,省略分号可能导致函数隐式返回结构体类型。而在Java和C#中,类声明不需要尾随分号。语法上,class、struct等属于简单声明,必须以分号结束;函数定义以函数体结尾,不需要分号。理解此规则有助于避免编译错误。

1
48
1 2

欢迎来到云游记

12 文章数
5 分类数
5 评论数
8标签数
最近评论
zeus

zeus


真的c

zeus

zeus


so easy

zeus

zeus


这文章真的招