AutoIt Obfuscator v2.3

Nowa wersja mojego AutoIt Obfuscator do obfuskacji i zabezpieczania skryptów AutoIt przed dekompilacją i analizą metodami inżynierii wstecznej.

Zmiany:

  • Naprawiono parsowanie skryptów AutoIt zapisanych jako UTF‑8 ze znacznikiem kolejności bajtów (BOM), kodowania używanego przez SciTE dla skryptów Unicode
  • Naprawiono parsowanie łańcuchowych instrukcji obiektów COM, takich jak $oSheet.Cells(1, $c + 1).Value = $headers[$c], $oSheet.Rows(1).Font.Bold = True oraz $oSheet.Columns("A:F").AutoFit()
AutoIt Obfuscator w wersji konsolowej

PS. Licznik obfuskacji przekroczył 60000.

Obfuskacja PowerShell z VSCode i Cursor

Dzisiaj opublikowałem rozszerzenie mojego obfuscatora PowerShell dla edytora Visual Studio Code (VS Code) oraz kompatybilnych z Open VSX, jak np. Cursor.

Po instalacji wystarczy kliknąć prawym klawiszem zakładkę skryptu PowerShell i wybrać Obfuscate lub wpisać komendę /obfuscate

I tyle, wszystko gra i buczy :). A jeszcze jakby ktoś chciał sobie podejrzeć źródła rozszerzenia, to dostępne są na GitHubie:

https://github.com/PELock/PowerShell-Pro-Obfuscator-VSCode-Extension

Pozdro hakery.

AutoIt Obfuscator v2.2

Claude Opus v4.8 trochę popracował nad analizą silnika mojego AutoIt Obfuscatora i znalazł masę błędów, a także znacznie przyspieszył jego działanie, zachowując 100% kompatybilność.

Obfuskacja kodu źródłowego AutoIt

Zmiany w v2.2

  • Znaczne przyspieszenie silnika — przepisane bajtowe operacje wejścia/wyjścia leksera, buforowana długość kodu źródłowego, wyszukiwanie symboli oparte na tablicach mieszających oraz lżejsze przechodzenie drzewa AST sprawiają, że obfuskacja jest znacznie szybsza, dając identyczny bajtowo wynik
  • Naprawiono awarię parsera w blokach Switch / Select — instrukcje umieszczone przed pierwszym Case zwracają teraz czysty błąd parsowania zamiast wyjątku krytycznego
  • Naprawiono parsowanie deklaracji z wieloma modyfikatorami np. Local Static Const $var = 1 (wcześniej uwzględniany był tylko pierwszy modyfikator)
  • Naprawiono generowanie nieprawidłowych nazw zmiennych, które mogą zaczynać się od cyfry, np. $9abc, co jest niedozwolone w AutoIt
  • Naprawiono błąd, w którym liczbowe wartości warunków Case / If były emitowane jako błędne zmienne np. $123456789 podczas mieszania przepływu kodu
  • Naprawiono błędne obliczanie poziomu zagnieżdżenia pętli dla ContinueLoop / ExitLoop przy wielu przebiegach mieszania przepływu kodu
  • Naprawiono szyfrowanie ciągów znaków: literał "0" jest teraz poprawnie szyfrowany, a nieudane szyfrowanie nie wstawia już uszkodzonej procedury deszyfrującej
  • Rozpoznawanie funkcji wbudowanych, makr i stałych bez uwzględniania wielkości liter (AutoIt jest niewrażliwy na wielkość liter), aby uniknąć błędnej zmiany nazw i podmiany stałych
  • Poprawiono kilka wartości stałych wbudowanych (flagi atrybutów plików) oraz usunięto zduplikowane / błędne wpisy z tablic wewnętrznych
  • Zwiększono odporność leksera: poprawna obsługa pustych plików, zakończeń linii typu LF oraz wykrywanie niezamkniętych ciągów znaków
  • Wyłączone opcje obfuskacji są teraz ściśle respektowane zamiast powracać do wartości domyślnych
  • Liczne wewnętrzne usprawnienia odporności i poprawki zgodności typów z PHP 8 w silniku obfuskacji

Obfuscator dostępny jest pod adresem:

https://www.pelock.com/pl/produkty/autoit-obfuscator

Deobfuskacja kompilatora ScatterBrain

Bardzo ciekawy i techniczny artykuł prezentujący możliwości kompilatora z funkcją obfuskacji, wykorzystywanego w zabezpieczaniu oprogramowania szpiegowskiego z Chin.

Dużo typowych metod obfuskacji kodu x64, bardzo podobnych do popularnych technik stosowanych przy obfuskacji kodu x86, takich jak np. mieszanie codeflow, zaśmiecające skoki warunkowe, ale też kilka niespecyficznych metod jak ochrona każdej funkcji w skompilowanym pliku, ochrona wywołań funkcji WinAPI i pare innych:

Wygląda to bardziej jak customowy kompilator z obfuskacja i dodatkowo warstwa exe-protectora, ponieważ jeszcze całość jest zapakowana ze stubem typowo z exe-pakerów.

W każdym razie łakomy kąsek dla miłośników obfuskacji, czyli dla mnie i pozostałych 0.1% czytelników (siebie nie wliczaj) 🙂

https://cloud.google.com/blog/topics/threat-intelligence/scatterbrain-unmasking-poisonplug-obfuscator

Anti-debugging, anti-VM, anti-sanbox i anti-CPU emulator

Wydałem kilka dni temu ulepszoną wersję mojego obufscatora dla języka autoit, czyli AutoIt Obfuscator. Dodane zostało wstrzykiwanie kodu do detekcji wielu narzędzi służących do reversingu i analizy zabezpieczonych skryptów.

Wykrywaj debuggery, wirtualne maszyny, piaskownice (tzw. sandbox) i emulatory CPU w skryptach AutoIt.

Wstrzykiwany kod jest automatycznie wykonywany zaraz na początku działania skryptów i w razie pozytywnej detekcji jakiegokolwiek narzędzia – cicho kończy działanie skryptu, bez żadnego komunikatu o błędzie.

Dodane detekcje to m.in.

Antydebugging

  • Wykrywanie debuggerów dołączonych do do procesu aplikacji

Wykrywanie wirtualnych maszyn (anty-VM)

  • VMware (procesy, pliki, sterowniki, WMI, BIOS, GFX)
  • Oracle Virtual Box (procesy, pliki, sterowniki, BIOS, GFX)
  • Parallels Virtual Machine (procesy, pliki)
  • KVM (sterowniki)

Wykrywanie piaskownic tzw. sandboxów

  • Sprawdzaj podejrzanie małą liczbę rdzeni procesora (wyjdź jeśli jest ich mniej niż 3)
  • Sandboxie (biblioteki DLL)
  • Joe Sandbox (procesy)

Wykrywanie emulatorów CPU

  • WINE (niekonsystencje w funkcjach API, biblioteki DLL, specjalne funkcje API)
  • Bochs (WMI BIOS)
  • QEMU (procesy, WMI BIOS)
  • XEN (procesy)

Trochę mi zajęło skompletowanie tych metod, dlatego są one dostępne jedynie w płatnej wersji obfuscatora, ale wiem, że was na to stać i możecie sobie to przetestować online na

https://www.pelock.com/autoit-obfuscator/

PS. Pozdrawiam Fabka za podsunięcie metod detekcji i w sumie naprowadzenie mnie na możliwość dołączenia tej funkcjonalności do mojego obfuscatora.

PS2. Jeśli znacie jakieś fajne metody detekcji, dopiszcie do komentarzy kod albo linki, ograniczeniem AutoIt jest w teorii brak dostępu do PEB czy TEB legitnymi metodami, więc interesują mnie jedynie rozwiązania oparte o legitne sposoby przez WinAPI i pokrewne funkcje.

JObfuscator – wielopoziomowa obfuskacja liczb

Aktywne prace nad moim obfuskatorem dla Javy, czyli JObfuscatorem doprowadziły do poprawienia drobnych błędów i rozszerzenia funkcjonalności.

Historia silnika

v1.03 – 31.07.2021

  • Niektóre wartości typu integer nie były poprawnie ekstrahowane dla strategii obfuskacyjnej polegającej na przenoszeniu wartości liczbowych do tablic
  • Wielopoziomowa obfuskacja wyekstrahowanych wartości liczbowych do tablic (do losowej liczby tablic, o typach double i integer)

Jak prezentują się wprowadzone zmiany do silnika obfuskatora?

Spójrzcie sami (sprawdźcie kompilację i działanie na portalu https://ideone.com/4rSD6H):

////////////////////////////////////////////////////////////////////////////////
//
// An output from JObfuscator v1.03 - Bartosz Wójcik
//
// Website   : https://www.pelock.com/products/jobfuscator
// Version   : v1.03
// Params    : /MixCodeFlow /RenMethods /RenVars /ShuffleMethods /CryptStr /IntsToArray
// New lines : Windows (CRLF - \r\n)
// Date      : 31.07.2021
//
////////////////////////////////////////////////////////////////////////////////

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone {

    public static double func_748(double[] numArray) {
        double[] BCRDUROMOY_MNAXYNOXOG = { 1.8344549046243548, 5.062054289224274, 7.695212304538046, 3.606439894394656, 4.265849473042911, 9.96684814353308, 8.362462143997828, 6.336325894460848, 0.7265577365920909, 2.9266295367407764 };
        int[] dIixxpmMmowl = { 6, 9, 0, 4, 8, 7, 2, 5, 3, 1 };
        int[] XQKGIAFO_OQZSLJER = { 5, 9, 1, 8, 4, 7, 6, 0, 3, 2 };
        double[] tagYigawnpkqDhxlb = { 3.263948550416058, 9.506111981988184, 8.799502940234945, 7.700252686617247, 1.3465800623355373, 2.131837713068907, 5.6526718473487705, 0.06485003367562314, 6.782236296833905, 4.00779348146718 };
        int[] _oGLZW_uXim6WBCsx_7fGFm = { 3, 7, 2, 0, 8, 1, 4, 6, 5, 9 };
        int[] g_pDmfgavnzNonebuo = { 0, 7, 2, 5, 4, 3, 8, 6, 1, 9 };
        double[] k1j_sHi_k_suVW_nn51lh = { 6.850663063985456, 1.0223415697622065, 4.425450723540837, 3.305111840357848, 0.8509365697301294, 2.6691116655865232, 7.392181980579024, 5.250660143996177, 8.733419893526216, 9.12956312338991 };
        double[] _Ya_3b5B3nyUHEGf_LIb_ = { 4.669312410136314, 9.905904441183344, 1.41717038302091, 7.982376427084375, 0.25865577282531504, 3.4462119989265823, 6.8207154875949305, 8.907167365920236, 2.3288730590373348, 5.774660880160418 };
        double[] var_2348 = { 6.327896179462817E8, 3.007227578022376E8, 8.524628358549372E8, 2.4199821681698745, 0.6530250709618525, 1.7483600058531854E9, 5.2067350213003665E7, 1.4587142855345135E9, 1.400521274936009E8, 2.0650663616872746E8 };
        int var_1784 = (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[6])]]])]]])])]);
        double YSXNIZHFC_VFLLKH = 0, LNQABHOCUL_PRYEJ_VCWSMUEIF = 0;
        double KZQIQLKZAU = 0;
        int g_tagCfclaowvq = (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[6])]]])]]])])]);
        var_1784 = (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[7])]]])]]])])]);
        while (var_1784 != (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[5])]]])]]])])])) {
            switch(var_1784) {
                case 1748360005:
                    LNQABHOCUL_PRYEJ_VCWSMUEIF = 0.0;
                    var_1784 += (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[2])]]])]]])])]);
                    break;
                case 1856283626:
                    KZQIQLKZAU = YSXNIZHFC_VFLLKH / g_tagCfclaowvq;
                    var_1784 += -(int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[0])]]])]]])])]);
                    break;
                case 397569341:
                    for (double var_3315 : numArray) {
                        LNQABHOCUL_PRYEJ_VCWSMUEIF += Math.pow(var_3315 - KZQIQLKZAU, (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[8])]]])]]])])]));
                    }
                    var_1784 ^= (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[1])]]])]]])])]);
                    break;
                case 346558763:
                    var_1784 -= (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[3])]]])]]])])]);
                    break;
                case 2049082762:
                    g_tagCfclaowvq = numArray.length;
                    var_1784 ^= (int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[4])]]])]]])])]);
                    break;
                case 1223494009:
                    for (double Znwm6_8u9jX_xR5pTD_d_do : numArray) {
                        YSXNIZHFC_VFLLKH += Znwm6_8u9jX_xR5pTD_d_do;
                    }
                    var_1784 -= -(int) (var_2348[(int) (_Ya_3b5B3nyUHEGf_LIb_[(int) (k1j_sHi_k_suVW_nn51lh[g_pDmfgavnzNonebuo[_oGLZW_uXim6WBCsx_7fGFm[(int) (tagYigawnpkqDhxlb[XQKGIAFO_OQZSLJER[dIixxpmMmowl[(int) (BCRDUROMOY_MNAXYNOXOG[9])]]])]]])])]);
                    break;
            }
        }
        return Math.sqrt(LNQABHOCUL_PRYEJ_VCWSMUEIF / g_tagCfclaowvq);
    }

    public static void main(String[] args) {
        int[] IOGSLYG = { 6, 9, 8, 1, 4, 7, 3, 5, 2, 0 };
        double[] g_hWqxrgZtfdcUtwbkrws = { 9.893982473846211, 8.837770674688722, 4.067157256008418, 2.3115297856816746, 3.8716062493716654, 5.507190514670451, 7.818988112023534, 1.7250220192323442, 0.8523908886140618, 6.747058567002978 };
        double[] L_iKHhgT_aPp_5B9Ozwt = { 7.849531919066571, 8.756056001455965, 5.581372756652905, 2.6854431574696265, 9.54031957784418, 4.751783077753141, 0.6519077871165615, 3.4725415203664936, 1.1796436510537949, 6.529240205849044 };
        double[] var_1843 = { 3.5830414679999727, 7.765002064574897, 5.747420361437176, 9.03918146781341, 2.1694631753099203, 4.461227633821848, 0.5928498544188721, 6.733060110767956, 8.972045828379096, 1.2936970621901658 };
        int[] var_270 = { 3, 4, 8, 5, 2, 0, 7, 9, 6, 1 };
        double[] FGDZKSMUBL_BSADUFHN = { 2.709181395472024, 1.4138229626532237, 8.452781324621286, 4.07039292629872, 0.5563463088620194, 3.190693548607314, 9.40094856498094, 7.255549494320699, 5.936277596640855, 6.592431990297909 };
        double[] zYT7J_NZE_cvq1ru_kpu_ = { 7.3909715123201245, 1.5001898092106307, 3.9693951519131065, 8.18801670301216, 9.82689109546222, 0.6781820978264445, 4.300516190313363, 6.311729342757382, 2.786311440143259, 5.545528271312568 };
        int[] nJcdtqsqmUkqrltquhJavwrm = { 5, 3, 1, 7, 0, 2, 4, 6, 9, 8 };
        double[] var_1804 = { 6.792311684420676, 8.201772053960008, 3.479304446030777, 4.052087473990268, 1.6341533643498025, 7.802566748925835, 2.157374245574941, 5.55583987079309, 9.623213031935967, 0.19074568575208029 };
        int[] CGHFE_BQOXOKPBRE_CIHGIXCFM = { 1, 25, 15, 0, 65535, 1629319923, 798969606, 265582820, 312187509, 1095933137 };
        int EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[5]])])])]])])]])];
        double v0sksO_xvISrww64_my_W_Z = 0;
        double[] bWnmupvqmjUyxevxldr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[6]])])])]])])]])];
        while (EBDMEMH_JEVGN_LPJCQCVGCG != CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[7]])])])]])])]])]) {
            switch(EBDMEMH_JEVGN_LPJCQCVGCG) {
                case 798969606:
                    v0sksO_xvISrww64_my_W_Z = func_748(bWnmupvqmjUyxevxldr);
                    EBDMEMH_JEVGN_LPJCQCVGCG += CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[9]])])])]])])]])];
                    break;
                case 1894902743:
                    String f_WtDQJM_q_eckhu9 = "";
                    int[] var_972 = { 0x00A8, 0x00EA, 0x00C4, 0x00DE, 0x00CA, 0x00C4, 0x00E6, 0x00CA, 0x0042, 0x008A, 0x00CC, 0x00EE, 0x00D4, 0x00C4, 0x00EA, 0x00D4, 0x00E0, 0x00DE, 0x0042, 0x007C, 0x0042, 0x004C, 0x005E, 0x006E, 0x00CE };
                    for (int var_3152 = CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[5]])])])]])])]])], var_3085 = CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[5]])])])]])])]])]; var_3152 < CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[2]])])])]])])]])]; var_3152++) {
                        var_3085 = var_972[var_3152];
                        var_3085 = (((var_3085 & CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[0]])])])]])])]])]) >> CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[1]])])])]])])]])]) | (var_3085 << CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[8]])])])]])])]])])) & CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[0]])])])]])])]])];
                        var_3085--;
                        f_WtDQJM_q_eckhu9 += (char) (var_3085 & CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[0]])])])]])])]])]);
                    }
                    System.out.format(f_WtDQJM_q_eckhu9, v0sksO_xvISrww64_my_W_Z);
                    EBDMEMH_JEVGN_LPJCQCVGCG += -CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[4]])])])]])])]])];
                    break;
                case 312187509:
                    double[] JSAWI_MIESGAXF_LTYZRZ = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
                    EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[(int) (var_1804[nJcdtqsqmUkqrltquhJavwrm[(int) (zYT7J_NZE_cvq1ru_kpu_[(int) (FGDZKSMUBL_BSADUFHN[var_270[(int) (var_1843[(int) (L_iKHhgT_aPp_5B9Ozwt[(int) (g_hWqxrgZtfdcUtwbkrws[IOGSLYG[3]])])])]])])]])];
                    break;
            }
        }
    }
}