测试代码可行, 推荐给大家 #pragma once #include <windows.h> #include <TlHelp32.h> #include "stdio.h" //线程参数结构体定义 typedef struct _RemoteParam { char szMsg[12]; //MessageBox函数中显示的字符提示 DWORD dwMessageBox;//MessageBox函数的入口地址 } RemoteParam, * PRemoteParam; ...

阅读全文>>

0x01 主要功能, 加载一个exe到 一个内存中, 并运行这块内存 0x02 有限制条件, EXE必须具有重定位表, 否则运行失败!! 截图 pid模块还没写完 想把进程移植到指定的 PID中运行! 0x03 关键代码 (有参考价值的代码,  重定位表的修复,  导入表的修复) // 20180118_20.cpp : Defines the entry point for the ap...

阅读全文>>

修复; 点击 开始 运行 输入 cmd 右键,选择“粘贴”以下代码;敲下回车就哦了! taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local  del iconcache.db /a  start explorer.exe  exit 

阅读全文>>

修改一个程序的过程如下:1、获得进程的句柄 2、以一定的权限打开进程 3、调用ReadProcessMemory读取内存,WriteProcessMemory修改内存,这也是内存补丁的实现过程。下面贴出的是调用ReadProcessMemory的例程 #include <windows.h> #include <tlhelp32.h> BOOL CALLBACK EnumChildWindowProc(HWND hWnd,LPARAM lParam);//枚举记事本中的子窗口 char mess[999999]; int WIN...

阅读全文>>

因为测试源码的失败,这里写一下原理和贴图 0x01 控制进程上下文 GetCurrentThread GetThreadContex 0x02 获取汇编的地址位置,修改Context memcpy [ctx.Ebx+8]内存处存的是外壳进程的加载基址,ctx.Eax存放有外壳进程的入口地址 0x03 __asm{     jmp  addr }

阅读全文>>

测试VirtualAlloc 的函数 一直提示 487 错误  无法解决!! 为了加深对PE文件结构的理解,写了个简单的模拟PE文件加载过程的程序,不过程序有些地方没处理好(资源节处),也存在这些小bug写的分四个文件写的,如下: ReadFile.h : 代码: #include <stdio.h> #include <windows.h> #include <assert.h> HANDLE OpenFile(char *name); int ReadFile(HANDLE ...

阅读全文>>

驱动文章类: https://blog.csdn.net/zuishikonghuan https://blog.csdn.net/qq1841370452/article/category/6402114 IDABook http://www.idabook.com/ http://www.cnblogs.com/mydomain/category/264964.html 推荐的php集成环境 http://www.upu...

阅读全文>>

一.废话 最近因为公司的项目需要,顺带的学习了一点和PELoader相关的东西,恰见网上正在沸沸扬扬的谈论虚拟脱壳。本人不才,实在是没能力也没精力去写一个真正意义上的虚拟机,因此尝试做了一个简单而偷懒的PE加载器。 这个PE加载器也可以看做是VM的前身吧。我想它可以成为一个简易脱壳工具或者用户态的进程内调试器基础。 二.做这个东西干嘛? 1.公司的项目需要实现但进程内多插件并发运行,也就是说,1个PID需要同时给n个进程使用,这牵扯到更麻烦的进程内内存切换工作。 2.实现反向进程注入,隐藏进程,这样做的RK更不容易被发现。 3.自从离开了安全的伤心地之后,一直堕落于做IM软件的Server,...

阅读全文>>

一.Windows消息钩取:SetWindowsHookEx HHOOK SetWindowsHookEx( intidHook,// hook type 就是HOOK的消息种类,如WH_KEYBOARD,WH_MOUSE....见MSDN HOOKPROClpfn,// hook procedure 钩子过程,安装消息钩子时候,钩子过程一定要位于某个DLL内部 HINSTANCEhMod,// handle to application instance 钩子过程的DLL句柄(为NULL则是局部钩子) ...

阅读全文>>

0x01 项目说明 实现在内存中对dll的加载和卸载 0x02 软件展示 0x03 代码展示 // TestInjectProcess.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #include <Windows.h> #include <Tlhelp32.h> #include <assert.h> #include &...

阅读全文>>

一、DLL注入 DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位于一个DLL中,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如Explorer.exe)中运行。 这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发现了也很难清除,因为只要病毒寄生的进程不终止运行,那么这个DLL就不会在内存中卸载, 用户也就无法在资源管理器中删除这个DLL文件,真可谓一箭双雕哉。记得2003年QQ尾巴病毒肆虐的时候,就已经有些尾巴病毒的变种在使用这种技术了。 到了2004年初,我曾经尝试着仿真了一个QQ尾巴病毒,但独是跳过了DL...

阅读全文>>

一、远程线程注入基本原理 远程线程注入——相信对Windows底层编程和系统安全熟悉的人并不陌生,其主要核心在于一个Windows API函数CreateRemoteThread,通过它可以在另外一个进程中注入一个线程并执行。在提供便利的同时,正是因为如此,使得系统内部出现了安全隐患。常用的注入手段有两种:一种是远程的dll的注入,另一种是远程代码的注入。后者相对起来更加隐蔽,也更难被杀软检测。本文具体实现这两种操作,在介绍相关API使用的同时,也会解决由此引发的一些问题。 顾名思义,远程线程注入就是在非本地进程中创建一个新的线程。相比而言,本地创建线程的方法很简单,系...

阅读全文>>

简单测试基址 1 --- EAX=0000000B EBX=00097E68 ECX=00000000 EDX=0000000B ESI=00058338 EDI=005DF300 EBP=0160F768 ESP=0160F730 EIP=00425EBF Probable base pointer =00058338 00425EB2 - mov eax,00000FA0 00425EB7 - call Tutorial-i386.exe+E6F0 ---------00425EBC - mov [esi+18],eax 004...

阅读全文>>