随笔分类 - C/C++
摘要:前言 本文记录在 Windows 下使用 GCC/MinGW-w64 编译 Boost 静态库的流程。示例以 Boost 1.88.0 为例,编译目标为 Windows x86_64 和 x86 两种架构。 1. 背景说明 Windows 下常见的 Boost 编译方式有两类: 编译器 典型产物 适
阅读全文
摘要:前言 本文记录使用 Visual Studio 2019 / MSVC v142 编译 Boost Windows ARM64 静态库时遇到的问题与解决过程,目标场景是为 Windows on ARM 设备生成 .lib 静态库。 示例环境: Boost 1.88.0 Visual Studio 2
阅读全文
摘要:前言 本文详细记录如何在 Windows 环境下,借助 MacOSX12.3.sdk 和 LLVM/Clang 工具链,交叉编译适用于 macOS 的 Boost 静态库(.a),并涵盖 x86_64(Intel)和 arm64(Apple Silicon)两种架构的构建方法及后续合并为通用库的操作
阅读全文
摘要:前言 本文记录在 Windows 环境下,使用 android-ndk-r26d 编译 Boost 1.74 Android 静态库的完整过程。 目标 ABI: armeabi-v7a arm64-v8a x86 x86_64 ⚠️ 说明:较新的 NDK 已移除 armeabi ABI,androi
阅读全文
摘要:简介 有时候我们拿到了函数的调用地址,但是需要在call之前做一些判断或者预处理,这时我们就需要封装一个自定义的函数call模板。 代码 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstdint> #incl
阅读全文
摘要:代码 #!/usr/bin/env python # encoding: utf-8 import os import binascii from datetime import datetime, timezone colnum_per_row = 16 file_path = 'demo.sys
阅读全文
摘要:前言 Boost 版本: boost_1_70_0 编译器选择: MSVC 14.41(对应 VS2022) 主要参考文章: https://blog.csdn.net/ljjjjjjjjjjj/article/details/122312270 详细步骤 1. 确认 MSVC 编译器版本与路径 使
阅读全文
摘要:代码 // 单精度转半精度 unsigned short cpu_float2half(float f) { unsigned short ret; unsigned x = *((int*)(void*)(&f)); unsigned u = (x & 0x7fffffff), remainder
阅读全文
摘要:通用工程模板 1. 输出目录:$(ProjectDir)..\output\$(ProjectName)\$(Platform)_$(Configuration)\ 2. 中间目录:$(ProjectDir)..\output\$(ProjectName)\$(Platform)_$(Configu
阅读全文
摘要:正文 将字符串转换成等效int数组 std::vector<uint32_t> convert_wstring_to_int_array(const wchar_t* str) { std::vector<uint32_t> vec; for (size_t i = 0; i < wcslen(st
阅读全文
摘要:前言 本文旨在记录在较新版本的 Visual Studio(2019)中编译 Luabind 这个较为陈旧的 C++/Lua 绑定库时,所需进行的代码兼容性修改与完整流程。由于该库已停止维护,网上参考资料大多基于旧版开发环境,因此将实际可行的步骤整理如下,供参考。 请注意: Luabind 依赖大量
阅读全文
摘要:前言 本文记录在 Windows 平台下,使用 Visual Studio 2019 编译 Google V8 JavaScript 引擎的完整流程。由于项目需要兼容 Windows 7 系统,因此选择了较早的稳定分支 chromium-5414 (10.9-lkgr) 进行编译。 说明 除参考本文
阅读全文
摘要:Visual Studio 2010 授权修改
阅读全文
摘要:下列提出两种获取对象名的方式 通过_OBJECT_TYPE::Name获取对象名称,通过_OBJECT_TYPE::Index获取对象索引; 通过NtQueryObject的方式获取,r0与r3通用,代码如下: #include <cstdio> #include <cstdlib> #includ
阅读全文
摘要:多核处理器同步函数KiIpiGenericCall函数在XP SP3下的寻址方式
阅读全文
摘要:Clang-Format 常用命令 @echo off set CLANG_FORMAT_PATH=..\tools\clang-format\ %CLANG_FORMAT_PATH%clang-format.exe --assume-filename=.clang-format -i src/cl
阅读全文
摘要:简介 此文转载自:https://www.cnblogs.com/gwsbhqt/p/5092390.html 代码
阅读全文
摘要:简介 很多人喜欢在自己写的命令行工具开头加上软件名字的Ascii插画LOGO,这在Python下利用多行字符串还是很容易实现的,但是在C语言下会有很多的复杂转义的问题,而且格式不容易控制,所以笔者写了一个简单的Python脚本来将Python下的多行字符串转换成C语言可用的字符数组,亲测有效~ 代码
阅读全文
摘要:简介 在之前的文章中曾说过利用 CreateRemoteThread 函数进行远线程注入是最经典的一种方式。但是这种方式却无法成功注入系统进程,因为系统进程是处在SESSION0高权限级别的会话层,用户进程在执行CreateRemoteThread函数时会失败。所以经过前辈们的研究发现,Create
阅读全文
摘要:简介 在之前的文章中笔者曾经为大家介绍过使用 CreateRemoteThread 函数来实现远程线程注入( "链接" ),毫无疑问最经典的注入方式,但也因为如此,这种方式到今天已经几乎被所有安全软件所防御。所以今天笔者要介绍的是一种相对比较“另类”的方式,被称作 “APC注入” 。APC(Asyn
阅读全文

浙公网安备 33010602011771号