codes/THCTT24_embeded_malware/rewrite/embeded-bin_rewrite.c
2025-05-15 22:36:34 +07:00

135 lines
2.1 KiB
C

#include <stdio.h>
// This is the rewrite of 'embedded.bin' from assembly from scratch
// while ensuring the integrity of program flows and so on
int main() {
int i;
char fakeflag[0x18] = "Fake Flag: THCTT24{fake}"; // 23 bytes char
for (i = 0; i <= 0x17; i++) { // starts at 0; 23 chars at 0x17
putchar(fakeflag[i]);
}
putchar(0xa); // \n
}
int s(int arg1) {
putchar(arg1);
return putchar(0x65); // e
}
int q(int arg1) {
putchar(arg1);
putchar(0x32); // 2
return s(0x37); // 7
}
int r(int arg1) {
putchar(arg1);
q(0x30); // 0
return putchar(0x66); // f
}
int t(int arg1) {
putchar(arg1);
putchar(0x61); // a
return r(0x34); // 4
}
int o(int arg1) {
putchar(arg1);
putchar(0x33); // 3
return t(0x33); // 3
}
int l(int arg1) {
o(0x35); // 5
putchar(arg1);
return putchar(0x36); // 6
}
int i(int arg1) {
putchar(arg1);
putchar(0x39); // 9
return l(0x64); // d
}
int m(int arg1) {
putchar(arg1);
putchar(0x31); // 1
return i(0x30); // 0
}
int d(int arg1) {
putchar(arg1);
m(0x63); // c
return putchar(0x33); // 3
}
int j(int arg1) {
putchar(arg1);
putchar(0x30); // 0
return d(0x62); // b
}
int c(int arg1) {
putchar(arg1);
putchar(0x61); // a
return j(0x65); // e
}
int f(int arg1) {
c(0x37); // 7
putchar(arg1);
return putchar(0x31); // 1
}
int g(int arg1) {
putchar(arg1);
f(0x34); // 4
return putchar(0x64); // d
}
int a(int arg1) {
putchar(arg1);
putchar(0x30); // 0
return g(0x66); // f
}
int e(int arg1) {
putchar(arg1);
putchar(0x61); // a
return a(0x38);
}
int h(int arg1) {
putchar(arg1);
putchar(0x34); // 4
e(0x65); // e
return putchar(0x7d); // }
}
int b(int arg1) {
putchar(arg1);
putchar(0x34); // 4
putchar(0x7b); // {
return h(0x30); // 0
}
int p(int arg1) {
putchar(arg1);
putchar(0x54); // T
return b(0x32); // 2
}
int k(int arg1) {
putchar(arg1);
putchar(0x43); // C
return p(0x54); // T
}
int n(int arg1) {
putchar(arg1);
return k(0x48); // H
}