diff options
| author | patrick-scho | 2025-05-30 22:57:26 +0200 |
|---|---|---|
| committer | patrick-scho | 2025-05-30 22:57:26 +0200 |
| commit | 19194ec67a9886428fa5bb515e192dbf40996ad8 (patch) | |
| tree | 7fa3978f58f9cd6f17515b00cda11ba94f2092d1 /print_obf.c | |
| parent | 2b3f2bfe27d231b7d140785520597dffed826a35 (diff) | |
| download | onefile-19194ec67a9886428fa5bb515e192dbf40996ad8.tar.gz onefile-19194ec67a9886428fa5bb515e192dbf40996ad8.zip | |
add print_obf.c
Diffstat (limited to 'print_obf.c')
| -rw-r--r-- | print_obf.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/print_obf.c b/print_obf.c new file mode 100644 index 0000000..1d55246 --- /dev/null +++ b/print_obf.c @@ -0,0 +1,74 @@ +#include <string.h> + +const char *ls = "1111100111111001110010101101101011111000100011111110100110011110" // A-D + "1111111010001111111110001110100011111000100111111001100111111001" // E-H + "1111010001001111111100011001111110111100101010011000100010001111" // I-L + "1111101110011001110110111001100111111001100111111111100111111000" // M-P + "1111100110111111111110011111101011111000111101111111010001000100" // Q-T + "1001100110011111100110011001011010011001101111111001011001101001" // U-X + "10011001111101001111001001001111"; // Y-Z + +const char *hs = + "f9f935b5f11f7997f71ff171f19f99f9f22ff89fd359111ffd99bd99f99ff9f1f9dff9f5f1fef222999f999699df966999f2f42f"; + +const wchar_t *uc = L"ùù5µñy÷ñqñùò/øÓYý½ùùñùßùõñþò\"ßiòô/"; + +void a(char c) +{ + for (int o = 0; o < 4; o++) + { + int x = hs[(c - 'a') * 4 + o]; + x -= x >= 'a' ? ('a' - 10) : '0'; + for (int i = 0; i < 4; i++) + printf("%c%s", (x & (1 << i)) > 0 ? 'X' : ' ', (i + 1) % 4 == 0 ? "\n" : ""); + } +} +void b(char c) +{ + for (int o = 0; o < 2; o++) + { + int x = uc[(c - 'a') * 2 + o]; + for (int i = 0; i < 8; i++) + printf("%c%s", (x & (1 << i)) > 0 ? 'X' : ' ', (i + 1) % 4 == 0 ? "\n" : ""); + } +} + +void get_binary() +{ + for (int i = 0; i < strlen(ls) / 4; i++) + { + int num = 0; + for (int j = 0; j < 4; j++) + { + char c = ls[i * 4 + (3 - j)]; + if (c == '1') + num += (1 << (3 - j)); + } + printf("%.1x", num); + } + printf("\n"); +} +void get_ascii() +{ + for (int i = 0; i < strlen(ls) / 8; i++) + { + int num = 0; + for (int j = 0; j < 8; j++) + { + char c = ls[i * 8 + (7 - j)]; + if (c == '1') + num += (1 << (7 - j)); + } + printf("%C", num); + } + printf("\n"); +} + +int main() +{ + a('d'); + b('d'); + get_binary(); + get_ascii(); + return 0; +} |
