文件加壳实现(四) —— VirtualAllocEx

流沙 | C/C++ | 2018-01-15
早上起来忙了两个小时, 主要参考的红色病毒的代码,一直在更改中 还有四步才能实现 帖一下半成品的代码 // TestShell.cpp : Defines the entry point for the application. // #include "stdafx.h" #include <windows.h> #include <stdio.h> #include <stdlib.h> #include "PEOperate.h" /* 以挂起的形式创建进程, 获取Conte...

阅读全文>>

ė222次浏览 60条评论 0

文件加壳实现(三) —— ZwUnmapViewOfSection

流沙 | C/C++ | 2018-01-14
还不完整, 继续整理中 // 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...

阅读全文>>

ė196次浏览 60条评论 0

十种注入技巧 | 通用性进程注入技巧研究

流沙 | C/C++ | 2018-01-14
文章地址:https://zhuanlan.zhihu.com/p/28671064 进程注入是一种广泛应用于恶意软件和无文件攻击中的逃避技术,这需要在另一个进程的地址空间内运行自定义代码。进程注入提高了隐蔽性,一些技术也实现了持久性。 尽管有许多流程注入技术,在本博客中,我提供了十种在现实看到注入另一个进程运行恶意代码的技术。 我还提供了许多这些技术的屏幕截图,以便于逆向工程和恶意软件分析,协助针对这些常见技术进行检测和防御。 1. 经典的DLL注入方式:通过CREATEREMOTETHREAD和LOADLIBRARY进行注入 ...

阅读全文>>

ė185次浏览 60条评论 0

【转贴】直接运行内存中的程序

流沙 | C/C++ | 2018-01-14
 Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载到内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。     直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修复导入表就被拖出来了。 代码自己改吧 #include "stdafx.h" type...

阅读全文>>

ė172次浏览 60条评论 0

【转贴】直接载入内存中的DLL

流沙 | C/C++ | 2018-01-14
前言      你可能不希望在发布程序时附带上一个外部的 DLL,因为可能会有些用户在无意中把 DLL 删除了而造成 EXE 不能正确运行,也有可能该 DLL 会被别人拿去使用,也有可能,此 DLL 会成为破解者破解你的程序的突破口。无论出于何种原因,如果你想把一个 DLL 合并到一个 EXE 中的话,本文向你介绍这种方法。   Win32 ...

阅读全文>>

ė208次浏览 60条评论 0

齐天大圣,美图分享

流沙 | 随笔 | 2018-01-12
看视频截取的一张图, 分享下!!

阅读全文>>

ė179次浏览 60条评论 0

文件加壳实现(二) —— 读取数据并解密

流沙 | C/C++ | 2018-01-11
半成品,继续写 // 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...

阅读全文>>

ė201次浏览 60条评论 0

文件加壳实现(一)—— 添加进文件并加密

流沙 | C/C++ | 2018-01-10
半成品,要下班了,记录下   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); ...

阅读全文>>

ė198次浏览 60条评论 0

异或文件加密测试

流沙 | C/C++ | 2018-01-10
直接上代码吧,写的时候遇到了点问题, 找到根源以后,就搞定了, 注意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文件到内存中,并获取文件长...

阅读全文>>

ė215次浏览 60条评论 0

ReadProcessMemory

流沙 | C/C++ | 2018-01-06
测试进程之间互相读取信息 // 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...

阅读全文>>

ė218次浏览 60条评论 0

进程继承操作的传递控制

流沙 | C/C++ | 2018-01-06
主要是两个子进程之间的控制: 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...

阅读全文>>

ė209次浏览 60条评论 0

斗地主遇到鬼了。。。

流沙 | 随笔 | 2018-01-05
符合墨菲定律, 每一次担心都可能发生, 并且所有的小概率都发生了。。

阅读全文>>

ė195次浏览 60条评论 0

进程操作测试

流沙 | C/C++ | 2018-01-04
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...

阅读全文>>

ė162次浏览 60条评论 0

复杂线程测试

流沙 | C/C++ | 2018-01-03
0x1 项目介绍 字母区写上一段字母 大小在50个以内, 可以自己定义,缓冲区每次只能有一个字母, 4个编辑框可以分别吃字母,最后4个吃货的所有字母加起来等于输入的字母和 0x2 难点 多种线程控制的结合使用, 缓冲区的控制, 吃货区的控制 0x3 项目展示 0x4 项目代码 // 20180102_01.cpp : Defines the entry point for the application. // #include "stdafx.h...

阅读全文>>

ė189次浏览 60条评论 0

多线程编程 - 总结

流沙 | C/C++ | 2018-01-02
几天没写代码, 感觉就好久了,要测试一个小项目,总结一下前段时间的学习的多线程的控制 主要分四个 临界区: 解决简单的多线程公用问题, 多个同时使用,注意死锁的问题 互斥体: 解决多开的问题, 可以跨进程,进行多线程的操作 事件:可以跨进程, 同时解决了,进程先后执行的问题 信号量: 可以控制,同时是几个线程执行的情况! 简单的自己的总结, 今天把 一个详细的综合案例放上来!!

阅读全文>>

ė201次浏览 60条评论 0

买房了

流沙 | 随笔 | 2017-12-31
记录一下吧. 付完了首付  基本口袋里就空了!! 在襄樊买了房子 最近这里被炒的很火,但是相对上海, 还是 一般般... 7000一平米 不想写太多,, 希望早点还完贷款!!!

阅读全文>>

ė199次浏览 60条评论 0

VMware Workstation 不可恢复错误: (vmx)解决方案

流沙 | 运维 | 2017-12-31
0x1  问题原因 笔记本放在宾馆,  出门的时候, 忘了关闭, 回来看看 电脑异常关闭了,  打开自己的vmware, 报错了 VMware Workstation 不可恢复错误: (vmx) 0x2 解决方法 *.vmss文件  有一个暂停的符号. 直接删除这个文件 就可以了,  删除暂停的状态,  启动系统即可!!!

阅读全文>>

ė153次浏览 60条评论 0

信号量,抢红包测试DEMO

流沙 | C/C++ | 2017-12-29
// 20171228_01.cpp : Defines the entry point for the application. // #include "stdafx.h" #include <windows.h> #include <stdio.h> #include "resource.h" HWND hEdit1; HWND hEdit2; HWND hEdit3; HWND hEdit4; HANDLE hThread1; HANDLE hThread2; HANDLE hThread3; HANDLE hThread4...

阅读全文>>

ė209次浏览 60条评论 0

简单进程同步的解决

流沙 | C/C++ | 2017-12-28
关键技术: 创建两个事件  CreateEvent,  创建一个事件 CreateEvent 是无法解决问题的 // 20171228_01.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <windows.h> CRITICAL_SECTION cs; DWORD g_Number = 0; int g_Max = 10; HAND...

阅读全文>>

ė217次浏览 60条评论 0

CreateEvent 、 SetEvent 、 ResetEvent 的简单测试

流沙 | C/C++ | 2017-12-28
CreateEvent 的官方定义如下: HANDLE WINAPI CreateEvent(   _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, //安全属性   _In_     BOOL                  bManualReset, //设置信号复位方式为自动恢复为无信号状态(FALSE)还是手动恢复为无信号状态(TRUE)   _In_   ...

阅读全文>>

ė217次浏览 60条评论 0

Ɣ回顶部