资源简介
c++ 透明代理(hookproxy)
代码片段和文件信息
//////////////////////////////////////////////////////////////////////////
//#define ENV_APPLICATION
#include “stdafx.h“
#include “detour.h“
#define DBG_OUT
enum
{
mod_offset_dynamic = 0x1u
mod_offset_address = 0x2u
mod_offset_noenlarge = 0x4u
mod_offset_sib = 0x10u
mod_offset_notsib = 0x0fu
};
typedef struct instruction_copy_params
{
byte is_16bit_operand;
byte is_16bit_address;
pbyte* target_pptr;
long* extra_ptr;
long scratch_extra;
pbyte scratch_target;
byte scratch_dst[64];
} icp;
struct instruction_copy_entry;
typedef const struct instruction_copy_entry *ref_ice;
typedef pbyte (__stdcall * instruction_copy_func)(ref_ice entry
pbyte dst
pbyte src
icp* cp);
typedef struct instruction_copy_entry
{
ulong op_code : 8; // Opcode
ulong fix_size : 3; // Fixed size of opcode
ulong fix_size16 : 3; // Fixed size when 16 bit operand
ulong mod_offset : 3; // Offset to mod/rm byte (0=none)
long rel_offset : 3; // Offset to relative target.
ulong flags : 4; // Flags for mod_offset_dynamic etc.
instruction_copy_func copy_fun; // Function pointer.
} ice ;
//////////////////////////////////////////////////////////////////////////
pbyte __stdcall adjust_target(pbyte dst pbyte src long op long target_offset icp* cp);
pbyte __stdcall copy_invalid(ref_ice entry pbyte dst pbyte src icp* cp);
pbyte __stdcall copy_bytes(ref_ice entry pbyte dst pbyte src icp* cp);
pbyte __stdcall copy_bytes_prefix(ref_ice entry pbyte dst pbyte src icp *cp);
////////////////////////////////////////////////////// Individual Bytes Codes.
pbyte __stdcall copy_0f(ref_ice entry pbyte dst pbyte src icp *cp);
pbyte __stdcall copy_66(ref_ice entry pbyte dst pbyte src icp *cp);
pbyte __stdcall copy_67(ref_ice entry pbyte dst pbyte src icp *cp);
pbyte __stdcall copy_F6(ref_ice entry pbyte dst pbyte src icp *cp);
pbyte __stdcall copy_F7(ref_ice entry pbyte dst pbyte src icp * cp);
pbyte __stdcall copy_FF(ref_ice entry pbyte dst pbyte src icp * cp);
//////////////////////////////////////////////////////////////////////////
#define entry_copy_bytes1 1 1 0 0 0 copy_bytes
#define entry_copy_bytes1_dynamic 1 1 0 0 mod_offset_dynamiccopy_bytes
#define entry_copy_bytes2 2 2 0 0 0 copy_bytes
#define entry_copy_bytes2_jump 2 2 0 1 0 copy_bytes
#define entry_copy_bytes2_cant_jump 2 2 0 1 mod_offset_noenlarge copy_bytes
#define entry_copy_bytes2_dynamic 2 2 0 0 mod_offset_dynamic copy_bytes
#define entry_copy_bytes3 3 3 0 0 0 copy_bytes
#define entry_copy_bytes3_dynamic 3 3 0 0 mod_offset_dynamiccopy_bytes
#define entry_copy_bytes3_or_5 5 3 0 0 0 copy_bytes
#define entry_copy_bytes3_or_5targ
- 上一篇:卡尔曼定位程序
- 下一篇:c++ 邮件多附件群发
相关资源
- MFC界面美化
- MFC透明Edit
- 简单HTTP代理服务器-源码c++
- MFC 绘图 键盘控制图片移动
- 异形窗口加局部透明
- MFC的CStatic子类化,解决背景透明,文
- MFC 绘制半透明文字并保存为背景透明
- 《MFC游戏开发》笔记三 透明贴图 配套
- MFC 之 CButton 控件重绘GDI+篇
- 异形窗体的win32 API实现
- win sockket全局代理驱动(c++ spi)
- png格式透明MFC自绘按钮
- VC++穿透sock5代理访问防火墙以外的程
- 高效 C++ 屏幕找图 屏幕搜索 透明找
- C++ 高效 屏幕找图 函数源码 终极版
- c++写的OpenGL程序透明金字塔有加上光
- MFC BUTTON按钮控件,设置按钮透明,按
- c++ 本地代理服务器源码
- mfc做的一个非常漂亮的登陆界面透明
- C++异形窗口+WEB控件+关闭按钮 完美实
- HTTP代理 VPN
- C++实战源码-文本背景的透明处理
- C++实战源码-半透明显示窗体
- MFC透明按钮
- MFC透明窗口
- 很经典的,透明窗体
- gdi+绘制png透明按钮
- vc++编写的基于socket5的代理服务器源代
- VC++的HTTP代理服务器.rar
- 简单的VC++代理服务器源程序
评论
共有 条评论