| skipped 152 lines |
153 | 153 | | |
154 | 154 | | #if !defined(cflow_v2) && cflow_v2 != 1 |
155 | 155 | | |
156 | | - | // Control flow obfuscation for 'if', V1 |
| 156 | + | // Control flow obfuscation for 'if' & 'for', V1 |
157 | 157 | | #define if(condition) if ((RND(0, 1000)) > _0 && (RND(2, 1000) > condition_True() && condition_Proxy(RND(0, 1000000), condition) && RND(1, 9999999999) > _0 && (int_Proxy(RND(0, 1000)) < RND(1001, 100000000)))) |
| 158 | + | #define for(data) for (data && int_Proxy(TRUE * (RND(0, 10000))) + FALSE || _1) |
158 | 159 | | |
159 | 160 | | #else |
160 | 161 | | |
161 | | - | // Control flow obfuscation for 'if', V2 (strong!) |
| 162 | + | // Control flow obfuscation for 'if' & 'for', V2 (strong!) |
162 | 163 | | #define if(condition) \ |
163 | 164 | | if (int_Proxy(RND(1, 1000000)) < _0) { \ |
164 | 165 | | __asm__ __volatile(".byte 0x00"); \ |
165 | 166 | | } else if (int_Proxy((RND(0, 1000)) > _0 && (RND(2, 1000) > condition_True() && condition_Proxy(RND(0, 100000000), condition) && RND(1, 9999999999) > _0 && (int_Proxy(RND(0, 1000)) < RND(1001, 100000000)))) * TRUE) |
| 167 | + | #define for(data) for (data && int_Proxy(TRUE * (RND(0, 1000000))) + FALSE || TRUE) |
166 | 168 | | |
167 | 169 | | #endif |
168 | 170 | | |
| skipped 15 lines |
184 | 186 | | else |
185 | 187 | | |
186 | 188 | | #define while(condition) while ((RND(0, 1000)) > _0 && _8 > _3 && condition_True() && RND(1, 9999999999) > _0 && condition_Proxy(RND(0, 1000), condition) && _5) |
187 | | - | |
188 | | - | #define for(data) for (data && int_Proxy(TRUE * (RND(0, 10000))) + FALSE || _1) |
189 | 189 | | |
190 | 190 | | #endif |
191 | 191 | | |
| skipped 101 lines |
293 | 293 | | |
294 | 294 | | static char loadStr[5]; |
295 | 295 | | HMODULE LoadLibraryA_0(LPCSTR lpLibFileName) { |
296 | | - | BREAK_STACK_3; |
297 | | - | // return LoadLibraryA(lpLibFileName); |
| 296 | + | switch (_0) { |
| 297 | + | case 1: |
| 298 | + | __asm__ __volatile(".byte 0x00"); |
| 299 | + | break; |
| 300 | + | case 0: |
| 301 | + | BREAK_STACK_3; |
| 302 | + | // return LoadLibraryA(lpLibFileName); |
298 | 303 | | |
299 | | - | typedef HMODULE(WINAPI * LoadLibraryAFunc)(LPCSTR); |
300 | | - | static LoadLibraryAFunc loadLibraryA = NULL; |
301 | | - | if (loadLibraryA == NULL) { |
302 | | - | char libName[32]; |
303 | | - | sprintf(libName, strcat(getCharMask(_6), "%d%d"), _k, _e, _r, _n, _e, _l, _3, _2); |
| 304 | + | typedef HMODULE(WINAPI * LoadLibraryAFunc)(LPCSTR); |
| 305 | + | static LoadLibraryAFunc loadLibraryA = NULL; |
| 306 | + | if (loadLibraryA == NULL) { |
| 307 | + | char libName[32]; |
| 308 | + | sprintf(libName, strcat(getCharMask(_6), "%d"), _k, _e, _r, _n, _e, _l, (_4 * _8)); |
304 | 309 | | |
305 | | - | HMODULE hKernel32 = GetModuleHandleA_Proxy(libName); |
306 | | - | if (hKernel32 != NULL) { |
307 | | - | FAKE_CPUID; |
308 | | - | char _L_char = _L; |
309 | | - | junkFunc(_0); |
310 | | - | loadStr[_4] = int_Proxy(_0); |
311 | | - | loadStr[_3] = int_Proxy(_d); |
312 | | - | loadStr[_2] = int_Proxy(_a); |
313 | | - | loadStr[_1] = int_Proxy(_o); |
314 | | - | loadStr[_0] = int_Proxy(_L); |
| 310 | + | HMODULE hKernel32 = GetModuleHandleA_Proxy(libName); |
| 311 | + | if (hKernel32 != NULL) { |
| 312 | + | FAKE_CPUID; |
| 313 | + | char _L_char = _L; |
| 314 | + | junkFunc(_0); |
| 315 | + | loadStr[_4] = int_Proxy(_0); |
| 316 | + | loadStr[_3] = int_Proxy(_d); |
| 317 | + | loadStr[_2] = int_Proxy(_a); |
| 318 | + | loadStr[_1] = int_Proxy(_o); |
| 319 | + | loadStr[_0] = int_Proxy(_L); |
315 | 320 | | |
316 | | - | char *funcName = malloc(32); |
| 321 | + | char *funcName = malloc(32); |
317 | 322 | | |
318 | | - | FAKE_CPUID; |
| 323 | + | FAKE_CPUID; |
319 | 324 | | |
320 | | - | sprintf(funcName, strcat("Library", "%c"), _A); // _A = LoadLibrary{'A'} |
321 | | - | loadLibraryA = (LoadLibraryAFunc)GetProcAddress(hKernel32, strcat(loadStr, funcName)); |
322 | | - | } |
| 325 | + | sprintf(funcName, strcat("Library", "%c"), _A); // _A = LoadLibrary{'A'} |
| 326 | + | loadLibraryA = (LoadLibraryAFunc)GetProcAddress(hKernel32, strcat(loadStr, funcName)); |
| 327 | + | } |
| 328 | + | } |
| 329 | + | if (loadLibraryA != NULL) { |
| 330 | + | BREAK_STACK_1; |
| 331 | + | return loadLibraryA(lpLibFileName); |
| 332 | + | } |
| 333 | + | return NULL; |
323 | 334 | | } |
324 | | - | if (loadLibraryA != NULL) { |
325 | | - | BREAK_STACK_1; |
326 | | - | return loadLibraryA(lpLibFileName); |
327 | | - | } |
328 | | - | return NULL; |
329 | 335 | | } |
330 | 336 | | |
331 | 337 | | char *LoadLibraryA_1(LPCSTR lpLibFileName) { |
| skipped 590 lines |