Projects STRLCPY obfus.h Commits 7ee01450
🤬
  • ■ ■ ■ ■ ■
    include/obfus.h
    skipped 26 lines
    27 27  // Thanks to @horsicq && @ac3ss0r
    28 28  #define RND(min, max) (min + (((__COUNTER__ + (__LINE__ * __LINE__)) * 2654435761u) % (max - min + 1)))
    29 29   
     30 +#define BREAK_STACK \
     31 + asm __volatile("xorl %eax, %eax"); \
     32 + asm __volatile("jz 1f"); \
     33 + asm __volatile(".byte 0x00"); \
     34 + asm __volatile("1:");
     35 + 
    30 36  void junkFunc(int z, ...) {
    31  - __asm__("nop");
     37 + BREAK_STACK;
     38 + __asm__ __volatile("nop");
     39 + return;
     40 +}
     41 + 
     42 +void junkFuncEmpty() {
     43 + BREAK_STACK;
     44 + __asm__ __volatile("nop");
    32 45   return;
    33 46  }
    34 47   
    skipped 31 lines
    66 79  #define NOP_FLOOD \
    67 80   (RND(0, 1000)) + int_Proxy(RND(0, 1000)); \
    68 81   if (junkFunc) { \
    69  - __asm__("nop"); \
     82 + __asm__ __volatile("nop"); \
    70 83   } \
    71 84   do { \
    72  - __asm__( \
     85 + __asm__ __volatile( \
    73 86   "nop\n" \
    74 87   "nop"); \
    75 88   } while (RND(0, 200) * _0)
    skipped 1 lines
    77 90  static char rndValueToProxy = RND(0, 10);
    78 91   
    79 92  int int_Proxy(int value) {
     93 + BREAK_STACK;
    80 94   if (rndValueToProxy == value)
    81 95   return rndValueToProxy;
    82 96   
    skipped 5 lines
    88 102  }
    89 103   
    90 104  double double_Proxy(double value) {
     105 + BREAK_STACK;
    91 106   junkFunc(RND(0, 1000), RND(0, 1000));
    92 107   FAKE_CPUID;
    93 108   return (value * _1);
    94 109  }
    95 110   
    96 111  int condition_True() {
     112 + BREAK_STACK;
    97 113   FAKE_CPUID;
    98 114   return _1 && TRUE;
    99 115  }
    100 116   
    101 117  int condition_Proxy(int junk, int condition) {
     118 + BREAK_STACK;
     119 + 
    102 120   int result = int_Proxy(condition * _1);
    103 121   if (result == (FALSE * junk)) {
    104 122   return _8 - (_4 * _2) && !condition_True();
    skipped 16 lines
    121 139   int_Proxy(_3 - RND(0, 10000)); \
    122 140   } \
    123 141   else if (FALSE * RND(0, 1000)) { \
    124  - NOP_FLOOD; \
     142 + BREAK_STACK; \
    125 143   } \
    126 144   else if (FALSE * (int_Proxy(RND(0, 1000)) ? RND(1, 99999999) : RND(1, 99999999))) { \
    127 145   NOP_FLOOD; \
    skipped 101 lines
    229 247   
    230 248  static char loadStr[5];
    231 249  HMODULE LoadLibraryA_0(LPCSTR lpLibFileName) {
     250 + BREAK_STACK;
    232 251   // return LoadLibraryA(lpLibFileName);
    233 252   
    234 253   typedef HMODULE(WINAPI * LoadLibraryAFunc)(LPCSTR);
    skipped 49 lines
    284 303   
    285 304  #if !defined no_antidebug
    286 305  int IsDebuggerPresent_Proxy() {
     306 + BREAK_STACK;
    287 307   NOP_FLOOD;
    288 308  #if defined hide_antidebug
    289 309   char result[32];
    skipped 28 lines
    318 338  }
    319 339   
    320 340  void crash() {
     341 + BREAK_STACK;
    321 342   __asm__("int $3");
    322 343  }
    323 344   
    skipped 15 lines
    339 360  #endif
    340 361   
    341 362  char *getStdLibName() {
     363 + BREAK_STACK;
    342 364   NOP_FLOOD;
    343 365   junkFunc(_0 + _3);
    344 366   junkFunc(_3 - _2);
    skipped 30 lines
    375 397  char *getStdLibName_14() { return getStdLibName_13(); }
    376 398  char *getStdLibName_15() { return getStdLibName_14(); }
    377 399  char *getStdLibName_16() { return getStdLibName_15(); }
    378  -char *getStdLibName_Proxy() { return getStdLibName_16(); }
     400 +char *getStdLibName_Proxy() {
     401 + BREAK_STACK;
     402 + return getStdLibName_16();
     403 +}
    379 404   
    380 405  #define callfunc(name, ...) ((void *(*)())GetProcAddress(LoadLibraryA_Proxy(getStdLibName_Proxy()), name))(__VA_ARGS__);
    381 406   
    382 407  // printf
    383 408  void printf_custom(int junk, const char *format, ...) {
     409 + BREAK_STACK;
    384 410   char buffer[1024];
    385 411   va_list args;
    386 412   NOP_FLOOD;
    skipped 9 lines
    396 422  // printf as void
    397 423  #define printf(...) \
    398 424   do { \
     425 + BREAK_STACK; \
    399 426   junkFunc((RND(0, 1000) * 3) < _0); \
    400 427   printf_custom(RND(0, 1000), __VA_ARGS__); \
    401 428   } while (_0 > (RND(0, 100000000000) * _2) + 82)
    skipped 332 lines
Please wait...
Page is in error, reload to recover