随笔分类 - C++
摘要:前言 上篇文章介绍了Dll的注入,本篇就直接以上篇实现的``DetourInjector来注入下面的主角DetourD3D9.dll`。 测试效果在x86、x64有通过,工具集Windows 10 企业版 LTSC 1809 + VS2019 16.8.2,依赖库版本信息: detours:x64-
阅读全文
摘要:前言 将代码注入到目标进程的方式有多种,然吾不明之所有,对于代码注入的方式前面有篇博文有做一下介绍,详情请见常见的十种代码注入技术。 这里只对Dll注入和Detours注入方式做一个介绍。 思考:这个需要注入的Dll并不是一定要拦截进程空间的函数的,比如可以是对窗口信息的响应,亦或是对于某些特定会触
阅读全文
摘要:在进程内使用Detours来拦截用户函数 前面写4篇关于Detours的文章,主要是来自官方ReadMe的翻译和少量自己的理解 C++包管理器 用于 Windows、Linux 和 macOS 的 C++ 包管理器 写了比较长时间的C#,已经离不开Nuget这种包管理利器了,当再次使用C/C时,那种
阅读全文
摘要:Detouring 32-bit and 64-bit Processes Detours通常的使用是拦截应该程序中的函数,而不必修改原始应用程序二进制文件。所以用户只需要提供拦截函数并打包在Dll中,然后通过DetourCreateProcessWithDll函数将其注入到应用程序中。从父进程中调
阅读全文
摘要:Payloads and Dll Import Editing 除了拦截目标函数的功能外,Detours还包括用于将任意数据段(称为有效载荷)附加到Windows二进制文件、编辑Dll导入表。Detours中的二进制编辑是完全可恢复的;Detours将恢复信息存在在二进制文件中,以便随时可以恢复原始
阅读全文
摘要:Interception of Binary Functions Detours可以拦截目标函数。拦截代码在运行时动态调用。Detours通过替换目标函数的前几条指令直接跳转到用户提供的函数。来自目标函数的指令保留在Trampoline函数中。从目标函数中删除的指令和到目标函数其余部分的直接跳转部分
阅读全文
摘要:Using Detours 要绕过目标函数,必须具备两个条件:一个是包含目标函数地址的目标指针,另一个是绕过函数。为了正确拦截目标函数、detour函数和目标指针必须具有完全相同的调用签名,包括参数数和调用约定。使用相同的调用约定可以确保适当地保留寄存器,并确保堆栈在detour函数和目标函数之间正
阅读全文
摘要:Conan 安装和应用 创建私有仓库 打包只有头文件的库 打包二进制库 打包chromium-base Vcpkg[推荐] vcpkg Getting Started vcpkg全教程
阅读全文
摘要:设置程序Dlls的搜索路径 1.导入Native函数 /// <summary> /// 设置Dlls的搜索路径 /// </summary> /// <param name="path"></param> /// <returns></returns> [DllImport("kernel32.d
阅读全文
摘要:1.演示环境为windows 10 1903 2.演示代码 1 #include "pch.h" 2 #include <iostream> 3 #include <WinSock2.h> 4 #include <WS2tcpip.h> 5 6 #pragma comment(lib, "ws2_3
阅读全文
摘要:简介:由三个文件构成Pinvo.cs、KeyboardHook.cs、MouseHook.cs Pinvo.cs 是KeyboardHook与MouseHook需要的一些常量消息的定义 KeyboardHook 是实现的一个WH_KEYBOARD_LL类型的全局键盘钩子(SetWindowsHook
阅读全文
摘要:1.下载安装最新版mono,https://www.mono-project.com/ 2.添加头文件路径C:\Program Files\Mono\include\mono-2.0,添加库路径C:\Program Files\Mono\lib,添加依赖项mono-2.0-sgen.lib 3.c#
阅读全文
摘要:摘录于CBE官方文档:https://www.comblockengine.com/docs/1.0/overview/index/ 架构图总览: Switch Fabric:交换机网络,根据网络环境的不同而不同,根据用户自己的情况进行配置,不属于引擎范畴。 运作流程: 1:Client接入我们提供
阅读全文
摘要:python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单,现在我们就简单记下Pybind11的入门操作。 1. pybind11简介与环境安装 pybind
阅读全文
摘要:对于有开发经验的程序员来说,记录程序执行日志是一件必不可少的事情。通过查看和分析日志信息,不仅可以有效地帮助我们调试程序,而且当程序正式发布运行之后,更是可以帮助我们快速、准确地定位问题。在现在这个开源的年代,并不需要我们自己去写一套日志库,开源的版本已经有很多了。然而遗憾的是,在目前开源的C++日
阅读全文
摘要:1.首先从Github-Protobuf下载代码,本文下载的版本号是3.1.0. 2.仔细查看各个README,有相关的资源下载和编译说明. 3.在一个方便的地方创建一个Install类型的文件夹,放置Cmake生成的工程文件相关内容,使用CMake-gui配置,生成visual studio id
阅读全文
摘要:本文为转载,详情请观看原文连接 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Micro
阅读全文
摘要:-优化- /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os 优选代码空间 favor code space /Oa 假设没有别名 assume n
阅读全文
摘要:本文转载于:https://blog.csdn.net/u010875635/article/details/73321066 Windows使用HID通信相对比较简单,HID都是通过PID、VID信息来查找连接的,相比于串口,几乎无变化,连接无需人工选择,十分方便,也不需要驱动。 下面上实例,PI
阅读全文