aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crypter/simple_encoder.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypter/simple_encoder.c b/crypter/simple_encoder.c
index bbedaf3..5ab4f66 100644
--- a/crypter/simple_encoder.c
+++ b/crypter/simple_encoder.c
@@ -76,6 +76,7 @@ main(int argc, char **argv)
printf("// decoder[%d] = %u (%02x)\n", i, (unsigned char) decoder[i], (unsigned char) decoder[i]);
}
}
+ printf("\n");
do {
if (nullbyte == 1) {
@@ -88,9 +89,17 @@ main(int argc, char **argv)
shellcode[i] += number;
if (shellcode[i] == '\x00') {
nullbyte = 1;
+ printf("Recode!\n");
}
}
} while (nullbyte == 1);
+ result = malloc(ldecoder + lshellcode + 1);
+ memcpy(result, (const void *) decoder, ldecoder);
+ memcpy(result + ldecoder, shellcode, lshellcode);
+ *(result + ldecoder + lshellcode) = '\0';
+ print_code("result", result, ldecoder + lshellcode);
+
+ free(result);
return (0);
}