代码注入——c++代码注入

本文详细介绍了C++代码注入的过程,包括与DLL注入的区别、编写注入代码的方法,以及如何利用OD进行代码注入的调试。通过实例展示了如何对目标程序进行代码注入,并解释了注入代码如何在内存中执行并消失。
摘要由CSDN通过智能技术生成

代码注入之——c++代码注入

0x00  代码注入和DLL注入的区别

  1. DLL注入后DLL会通过线程常驻在某个process中,而代码注入完成之后立即消失。
  2. 代码注入体积小,不占内存

0x01  通过c++编写注入代码

1)编写注入程序

代码如下:

// CodeInjection.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//

 

#include "pch.h"

#include <iostream>

#include<stdio.h>

#include<Windows.h>

using namespace std;

 

//Thrad Parameter

typedef struct _THREAD_PARAM

{

FARPROC pFunc[2];               // LoadLibraryA(), GetProcAddress()

char    szBuf[4][128];          // "user32.dll", "MessageBoxA", "www.reversecore.com", "ReverseCore"

} THREAD_PARAM, *PTHREAD_PARAM;

//LoadLibrary

typedef HMODULE(WINAPI *PFLOADLIBRARYA)

(

LPCSTR lpLibFileName

);

//GetProcessAddress

typedef HMODULE(WINAPI *PFGETPROCADDRESS)

(HMODULE hModule,LPCSTR lpProNmae );

 

//MessageBoxA()

typedef int (WINAPI *PFMESSAGEBOXA)

(

HWND hWnd,

LPCSTR lpText,

LPCSTR lpCaption,

UINT uType

);

 

 

//Thread Procedure

 

DWORD WINAPI ThreadProc(LPVOID lParam)

{

PTHREAD_PARAM   pParam = (PTHREAD_PARAM)lParam;

HMODULE         hMod = NULL;

FARPROC         pFunc = NULL;

 

// LoadLibrary()

hMod = ((PFLOADLIBRARYA)pParam->pFunc[0])(

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值