还不完整, 继续整理中
// TestShell.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "PEOperate.h"
/*
以挂起的形式创建进程,
获取Context
*/
#define KEY 0x56
#pragma pack(push...
文章地址:https://zhuanlan.zhihu.com/p/28671064
进程注入是一种广泛应用于恶意软件和无文件攻击中的逃避技术,这需要在另一个进程的地址空间内运行自定义代码。进程注入提高了隐蔽性,一些技术也实现了持久性。 尽管有许多流程注入技术,在本博客中,我提供了十种在现实看到注入另一个进程运行恶意代码的技术。 我还提供了许多这些技术的屏幕截图,以便于逆向工程和恶意软件分析,协助针对这些常见技术进行检测和防御。
1. 经典的DLL注入方式:通过CREATEREMOTETHREAD和LOADLIBRARY进行注入
...
Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载到内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。
直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修复导入表就被拖出来了。
代码自己改吧
#include "stdafx.h"
type...
前言
你可能不希望在发布程序时附带上一个外部的 DLL,因为可能会有些用户在无意中把 DLL 删除了而造成 EXE 不能正确运行,也有可能该 DLL 会被别人拿去使用,也有可能,此 DLL 会成为破解者破解你的程序的突破口。无论出于何种原因,如果你想把一个 DLL 合并到一个 EXE 中的话,本文向你介绍这种方法。
Win32 ...
看视频截取的一张图, 分享下!!
半成品,继续写
// TestShell.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "PEOperate.h"
/*
以挂起的形式创建进程,
获取Context
*/
#define KEY 0x56
LPVOID GetLastSecData(LPSTR lpsz...
半成品,要下班了,记录下
0x1 调用函数
BOOL PackExeFile(HWND hwndDlg)
{
HWND hEditShell = GetDlgItem(hwndDlg,IDC_EDIT_SHELL);
HWND hEditSrc = GetDlgItem(hwndDlg,IDC_EDIT_SRC);
TCHAR shellPath[256]={0};
TCHAR srcPath[256]={0};
GetDlgItemText(hwndDlg,IDC_EDIT_SHELL,shellPath,256);
...
直接上代码吧,写的时候遇到了点问题, 找到根源以后,就搞定了,
注意define的 语法, 错的挺郁闷的
// 20180110_01.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define FileKey 0x86
//加载PE文件到内存中,并获取文件长...
测试进程之间互相读取信息
// 20180106_06.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
TCHAR szFileName[] = "c://ipmsg.exe";
STARTUPINFO si={0};
si.cb = sizeof(STARTUPIN...
主要是两个子进程之间的控制:
0x1 代码一
// 20180106_01.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
//printf("Hello World!\n");
//开启IE
/*
BOOL...
符合墨菲定律, 每一次担心都可能发生, 并且所有的小概率都发生了。。
0x01 进程创建
// 20180104_02.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Windows.h>
/*
BOOL CreateProcess(
LPCTSTR lpApplicationName, // name of executable module
LPTSTR lpCommandLine, // command...
0x1 项目介绍
字母区写上一段字母 大小在50个以内, 可以自己定义,缓冲区每次只能有一个字母, 4个编辑框可以分别吃字母,最后4个吃货的所有字母加起来等于输入的字母和
0x2 难点
多种线程控制的结合使用, 缓冲区的控制, 吃货区的控制
0x3 项目展示
0x4 项目代码
// 20180102_01.cpp : Defines the entry point for the application.
//
#include "stdafx.h...
几天没写代码, 感觉就好久了,要测试一个小项目,总结一下前段时间的学习的多线程的控制
主要分四个
临界区: 解决简单的多线程公用问题, 多个同时使用,注意死锁的问题
互斥体: 解决多开的问题, 可以跨进程,进行多线程的操作
事件:可以跨进程, 同时解决了,进程先后执行的问题
信号量: 可以控制,同时是几个线程执行的情况!
简单的自己的总结, 今天把 一个详细的综合案例放上来!!
记录一下吧.
付完了首付 基本口袋里就空了!!
在襄樊买了房子
最近这里被炒的很火,但是相对上海, 还是 一般般...
7000一平米
不想写太多,, 希望早点还完贷款!!!