forked from oops4git/ShellCode-Interpreter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLoader.cpp
More file actions
38 lines (31 loc) · 6.49 KB
/
Loader.cpp
File metadata and controls
38 lines (31 loc) · 6.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <windows.h>
#include "Interpreter.h"
/*
* ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
* 1.Release
* 2.常规
* 平台工具集(LLVM (clang-cl))
* 3.C/C++
* 优化: 优化(已禁用)
* 代码生成: 运行库(多线程)、安全检查(禁用安全检查)
* 4.链接器
* 清单文件: 生成清单(否)
* 调试: 生成调试信息(否)
*/
using namespace std;
int main() {
// 自定义汇编
char selfAsm[] = "0\0""4\0""q\0""pq70+i20\0""q\0""q38\0""5\0""4\0""q\0""pq70+i18\0""q\0""q30\0""a\0""4\0""d\0""pq70+i10\0""d\0""d18\0""e\0""4\0""q\0""pq70+i8\0""q\0""q10\0""13\0""0\0""q\0""q28\0""q\0""\0""14\0""11\0""q\0""q70\0""q\0""i120\0""1b\0""4\0""d\0""d0\0""d\0""i8\0""20\0""13\0""q\0""q0\0""q\0""i0\0""24\0""4\0""d\0""d10\0""d\0""i64\0""29\0""4\0""q\0""q18\0""q\0""pq70+i150\0""31\0""2\0""q\0""pq18+q0\0""q\0""\0""34\0""4\0""q\0""q10\0""q\0""pq70+i140\0""3c\0""4\0""q\0""pq10\0""q\0""q0\0""3f\0""4\0""q\0""q0\0""q\0""pq70+i140\0""47\0""4\0""q\0""q0\0""q\0""pq0\0""4a\0""4\0""b\0""pq0\0""b\0""i30\0""4d\0""4\0""q\0""q0\0""q\0""pq70+i148\0""55\0""4\0""d\0""pq0\0""d\0""i1\0""5b\0""4\0""d\0""pq70+i78\0""d\0""i18\0""63\0""4\0""d\0""pq70+i88\0""d\0""i1\0""6e\0""4\0""q\0""pq70+i80\0""q\0""i0\0""7a\0""4\0""d\0""d0\0""d\0""i8\0""7f\0""13\0""q\0""q0\0""q\0""i9\0""83\0""16\0""d\0""d38\0""d\0""d38\0""86\0""8\0""q\0""q30\0""q\0""lq70+i78\0""8b\0""8\0""q\0""q18\0""q\0""lq70+i58\0""90\0""8\0""q\0""q10\0""q\0""lq70+i60\0""95\0""4\0""q\0""q40\0""q\0""pq70+i150\0""9d\0""2\0""q\0""pq40+q0\0""q\0""\0""a1\0""17\0""d\0""d0\0""d\0""d0\0""a3\0""23\0""q\0""iaa\0""q\0""\0""a5\0""21\0""q\0""i2c9\0""q\0""\0""aa\0""8\0""q\0""q0\0""q\0""lq70+ib0\0""b2\0""4\0""q\0""q28\0""q\0""q0\0""b5\0""16\0""d\0""d0\0""d\0""d0\0""b7\0""4\0""d\0""d10\0""d\0""i68\0""bc\0""20\0""b\0""pq28\0""b\0""b0\0""be\0""4\0""d\0""pq70+ib0\0""d\0""i68\0""c9\0""4\0""q\0""q0\0""q\0""pq70+i58\0""ce\0""4\0""q\0""pq70+i110\0""q\0""q0\0""d6\0""4\0""q\0""q0\0""q\0""pq70+i58\0""db\0""4\0""q\0""pq70+i108\0""q\0""q0\0""e3\0""16\0""d\0""d0\0""d\0""d0\0""e5\0""4\0""w\0""pq70+if0\0""w\0""w0\0""ed\0""4\0""d\0""pq70+iec\0""d\0""i101\0""f8\0""4\0""d\0""d0\0""d\0""i8\0""fd\0""13\0""q\0""q0\0""q\0""i8\0""101\0""8\0""q\0""q10\0""q\0""lq70+i90\0""109\0""4\0""q\0""pq70+i48\0""q\0""q10\0""10e\0""8\0""q\0""q10\0""q\0""lq70+ib0\0""116\0""4\0""q\0""pq70+i40\0""q\0""q10\0""11b\0""4\0""q\0""pq70+i38\0""q\0""i0\0""124\0""4\0""q\0""pq70+i30\0""q\0""i0\0""12d\0""4\0""d\0""pq70+i28\0""d\0""i0\0""135\0""4\0""d\0""pq70+i20\0""d\0""i1\0""13d\0""16\0""d\0""d38\0""d\0""d38\0""140\0""16\0""d\0""d30\0""d\0""d30\0""143\0""4\0""q\0""q18\0""q\0""pq70+i130\0""14b\0""16\0""d\0""d10\0""d\0""d10\0""14d\0""4\0""q\0""q28\0""q\0""pq70+i150\0""155\0""2\0""q\0""pq28+q0\0""q\0""\0""158\0""17\0""d\0""d0\0""d\0""d0\0""15a\0""23\0""q\0""i193\0""q\0""\0""15c\0""4\0""d\0""d0\0""d\0""i8\0""161\0""13\0""q\0""q0\0""q\0""i7\0""165\0""4\0""q\0""q10\0""q\0""pq70+i60\0""16a\0""4\0""q\0""q18\0""q\0""pq70+i150\0""172\0""2\0""q\0""pq18+q0\0""q\0""\0""175\0""4\0""d\0""d0\0""d\0""i8\0""17a\0""13\0""q\0""q0\0""q\0""i7\0""17e\0""4\0""q\0""q10\0""q\0""pq70+i58\0""183\0""4\0""q\0""q18\0""q\0""pq70+i150\0""18b\0""2\0""q\0""pq18+q0\0""q\0""\0""18e\0""21\0""q\0""i2c9\0""q\0""\0""193\0""4\0""d\0""d0\0""d\0""i8\0""198\0""13\0""q\0""q0\0""q\0""i7\0""19c\0""4\0""q\0""q10\0""q\0""pq70+i58\0""1a1\0""4\0""q\0""q18\0""q\0""pq70+i150\0""1a9\0""2\0""q\0""pq18+q0\0""q\0""\0""1ac\0""4\0""d\0""d0\0""d\0""i8\0""1b1\0""13\0""q\0""q0\0""q\0""i7\0""1b5\0""4\0""q\0""q10\0""q\0""pq70+i98\0""1bd\0""4\0""q\0""q18\0""q\0""pq70+i150\0""1c5\0""2\0""q\0""pq18+q0\0""q\0""\0""1c8\0""4\0""d\0""d0\0""d\0""i8\0""1cd\0""13\0""q\0""q0\0""q\0""i7\0""1d1\0""4\0""q\0""q10\0""q\0""pq70+i90\0""1d9\0""4\0""q\0""q18\0""q\0""pq70+i150\0""1e1\0""2\0""q\0""pq18+q0\0""q\0""\0""1e4\0""4\0""q\0""q0\0""q\0""pq70+i148\0""1ec\0""4\0""d\0""pq0\0""d\0""i0\0""1f2\0""4\0""q\0""q0\0""q\0""pq70+i148\0""1fa\0""7\0""q\0""q0\0""d\0""pq0\0""1fd\0""4\0""q\0""q10\0""q\0""pq70+i140\0""205\0""9\0""q\0""q0\0""q\0""pq10\0""208\0""4\0""d\0""d10\0""d\0""i8\0""20d\0""13\0""q\0""q10\0""q\0""ia\0""211\0""4\0""q\0""pq70+i68\0""q\0""q10\0""216\0""4\0""q\0""pq70+i20\0""q\0""i0\0""21f\0""8\0""q\0""q38\0""q\0""lq70+i50\0""224\0""4\0""d\0""d30\0""d\0""i64\0""22a\0""4\0""q\0""q18\0""q\0""q0\0""22d\0""4\0""q\0""q10\0""q\0""pq70+i60\0""232\0""4\0""q\0""q0\0""q\0""pq70+i150\0""23a\0""4\0""q\0""q28\0""q\0""pq70+i68\0""23f\0""2\0""q\0""pq0+q28\0""q\0""\0""242\0""17\0""d\0""d0\0""d\0""d0\0""244\0""22\0""q\0""i2b0\0""q\0""\0""246\0""12\0""d\0""pq70+i50\0""d\0""i0\0""24b\0""22\0""q\0""i2b0\0""q\0""\0""24d\0""4\0""q\0""q0\0""q\0""pq70+i148\0""255\0""4\0""d\0""d0\0""d\0""pq0\0""257\0""9\0""d\0""d0\0""d\0""pq70+i50\0""25b\0""4\0""q\0""q10\0""q\0""pq70+i148\0""263\0""4\0""d\0""pq10\0""d\0""d0\0""265\0""4\0""q\0""q0\0""q\0""pq70+i148\0""26d\0""4\0""d\0""d0\0""d\0""pq0\0""26f\0""9\0""d\0""d0\0""d\0""i64\0""272\0""19\0""q\0""\0""q\0""\0""274\0""4\0""d\0""d10\0""d\0""i8\0""279\0""13\0""q\0""q10\0""q\0""i1\0""27d\0""4\0""q\0""pq70+i70\0""q\0""q10\0""282\0""4\0""q\0""q18\0""q\0""q0\0""285\0""4\0""q\0""q0\0""q\0""pq70+i140\0""28d\0""4\0""q\0""q10\0""q\0""pq0\0""290\0""4\0""q\0""q0\0""q\0""pq70+i150\0""298\0""4\0""q\0""q28\0""q\0""pq70+i70\0""29d\0""2\0""q\0""pq0+q28\0""q\0""\0""2a0\0""4\0""q\0""q10\0""q\0""pq70+i140\0""2a8\0""4\0""q\0""pq10\0""q\0""q0\0""2ab\0""21\0""q\0""i1f2\0""q\0""\0""2b0\0""4\0""d\0""d0\0""d\0""i8\0""2b5\0""13\0""q\0""q0\0""q\0""i7\0""2b9\0""4\0""q\0""q10\0""q\0""pq70+i60\0""2be\0""4\0""q\0""q18\0""q\0""pq70+i150\0""2c6\0""2\0""q\0""pq18+q0\0""q\0""\0""2c9\0""9\0""q\0""q70\0""q\0""i120\0""2d0\0""1\0""q\0""q28\0""q\0""\0""2d1\0""3\0""q\0""\0""q\0""\0""!";
// ShellCode 参数
char commandPara[] = "cmd /c tasklist";
int commandParaLength = strlen(commandPara) + 1;
char* outputData;
int outputDataLength;
PVOID funcAddr[] = { malloc, realloc, free, strlen, strtol, ((errno_t(*)(char*, rsize_t, const char*))strcpy_s), ((int(*)(char*, size_t, const char*, ...))sprintf_s), CloseHandle, CreateProcessA, CreatePipe, ReadFile, FindFirstFileA, FindNextFileA, FindClose, GetFullPathNameA, FileTimeToLocalFileTime, FileTimeToSystemTime, strtoull, fopen_s, _fseeki64, fread, fwrite, fclose, CopyFileA, rename, ((int(*)(const char*))remove), CreateDirectoryA };
// 调用解释器
MagicInvoke(selfAsm, commandPara, commandParaLength, &outputData, &outputDataLength, funcAddr);
// ShellCode 输出
*(outputData + outputDataLength) = '\0';
cout << outputData;
}