Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14
  1. #1
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Исследуем патчер UniDLL_v4

    Рассмотрим "лекарство" для изделия секты "АднаСекта" в виде файла techsys.dll как если бы это было "злонамеренное_ПО" (malicious software, or malware).
    Будет показано "чё и как оно `лечит`?" и "как бы это 'лечение' получить попроще?".
    Заодно посмотрим на "лекарство" в виде комплекта из 5-ти патченных длл (автор WELL).
    1) шо нам говорит про techsys.длл тулза ExeInfoPe - применялся VMProtect, этой же хренью WELL обработал backbas.длл и rserver.длл . Спрашивается "нахрена?". Может парни (BTW, ну не верю я, что МИМО - это девушка) считают, что в артели работают инженеры квалификации похуже чем у них и "страшный" VMProtect сильно затруднит исследование их поделок.
    2) Запустим ProcessMonitor и посмотрим протокол запуска 1сv8.ехе
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    3) techsys.длл загружается в адресное пространство процесса "динамически" - вызовом из модуля core83.длл функции LoadLibraryW в либе kernel32.длл
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    4) при загрузке techsys.длл автоматически выполняется её DllMain - этот код сперва раскодирует свои секции кода, выполнение которого загрузит techsys_10.длл, backbas.длл и wintrust.длл - шо мы и наблюдаем по картинке в п.2
    если посмотреть [Только зарегистрированные пользователи могут видеть ссылки. ], то вызов функции LoadLibraryW в либе kernel32.длл сперва сделан из модуля core83.длл (нижний - это загрузка techsys.длл), затем из модуля techsys.длл (верхний - это загрузка backbas.длл)
    5) загрузив backbas.длл и wintrust.длл их сразу пропатчат прям в памяти процесса (такое редактирование не сохраняется на диск).
    подробности в следующем посте - продолжение следует.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  2. 2 пользователя(ей) сказали cпасибо:

    cipper (22.07.2021), Михаил38 (02.08.2021)

  3. #2
    Просто юзер Аватар для Lucky Patcher
    Регистрация
    19.12.2020
    Адрес
    UU
    Сообщений
    76
    Сказал(а) спасибо
    13
    Поблагодарили 261 раз(а) в 46 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Еще бы в конце какой-то вывод для обычных людей)
    Помогу с 1С.

  4. #3
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Цитата Сообщение от Lucky Patcher Посмотреть сообщение
    Еще бы в конце какой-то вывод для обычных людей)
    "обычным" людям здесь нечего делать, для них есть тема "Попрошайка", "Флудилка" и пр.
    Здесь не будет обучения "как пользоваться хакерскими инструментами?".
    Если не умеете пользоваться дебагером, то вам тут почти всё будет непонятно.
    Именно для обычных людей сделано "лекарство", которое здесь обсуждается¸ - бери и используй по инструкции.
    Последний раз редактировалось HPDX2300; 19.07.2021 в 09:47.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  5. Пользователь сказал cпасибо:

    Михаил38 (02.08.2021)

  6. #4
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Посмотрим, что патчится в либе backbas.длл:
    1) запускаю толстого клиента, "ugly hack" уже выполнен - techsys.длл расшифровал собственную секцию кода, загрузил и пропатчил backbas.длл
    2) запускаю дебагер и подключаюсь в процессу клиента
    3) дебагером созраняю из памяти процесса на диск отдельными файлами заголовок backbas.длл и её секцию text, объединяю эти файлы командой copy /b header.bin+text.bin backbas.1
    4) смотрю отличия backbas.1 и backbas.длл:
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    [Только зарегистрированные пользователи могут видеть ссылки. ]

    3-я картинка показывает хак HASP API Entry point - выполнение кода передается в либу techsys.длл где будет выполняться hasp-эмулятор uni-patch.
    Подробнее об этом в следющем посте.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  7. #5
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    после хака HASP API Entry point в либе backbas.длл стал таким:
    Код:
    1C0833F0  E9 EBDE0150      JMP techsys.6C0A12E0
    смотрим код далее - расшифровка кода эмулятора, выполнение эмулятора, шифровка кода эмулятора:
    Код:
    6C0A12E0  /. 55             PUSH EBP
    6C0A12E1  |. 8BEC           MOV EBP,ESP
    6C0A12E3  |. A1 28E70B6C    MOV EAX,DWORD PTR DS:[0x6C0BE728]  ; EAX станет = [6C0BE728] = 6C12CA88
    6C0A12E8  |. 8038 55        CMP BYTE PTR DS:[EAX],0x55         ; 0x55=PUSH EBP , 58=xor-ed
    6C0A12EB  |. 74 2B          JE SHORT techsys.6C0A1318          ; если не зашифровано,то бежать на EIP+2B=6C0A1318 т.е. цикл расшифровки пропускаем
    6C0A12ED  |. 8B0D 60EF0B6C  MOV ECX,DWORD PTR DS:[0x6C0BEF60]  ; ECX=[6C0BEF60]=0000178D счетчик цикла расшифровки
    6C0A12F3  |. 85C9           TEST ECX,ECX
    6C0A12F5  |. 74 21          JE SHORT techsys.6C0A1318
    6C0A12F7  |. 49             DEC ECX
    6C0A12F8  |. 83C0 02        ADD EAX,0x2
    6C0A12FB  |. C1E9 02        SHR ECX,0x2
    6C0A12FE  |. 41             INC ECX                            ; ECX=000005E4=1508  1508*4=6032 байт
    6C0A12FF  |. 90             NOP
    6C0A1300  |> 8070 FE 0D   / XOR BYTE PTR DS:[EAX-0x2],0xD      ; байт#0     начало цикла расшифровки
    6C0A1304  |. 8D40 04      | LEA EAX,DWORD PTR DS:[EAX+0x4]     ; EAX=EAX+4
    6C0A1307  |. 8070 FB F0   | XOR BYTE PTR DS:[EAX-0x5],0xF0     ; байт#1
    6C0A130B  |. 8070 FC AD   | XOR BYTE PTR DS:[EAX-0x4],0xAD     ; байт#2
    6C0A130F  |. 8070 FD BA   | XOR BYTE PTR DS:[EAX-0x3],0xBA     ; байт#3
    6C0A1313  |. 83E9 01      | SUB ECX,0x1
    6C0A1316  |.^75 E8        \ JNZ SHORT techsys.6C0A1300         ; конец цикла расшифровки
    6C0A1318  |> 6A 64          PUSH 0x64                          ; /Timeout = 100. ms
    6C0A131A  |. FF15 18600B6C  CALL DWORD PTR DS:[0x6C0B6018]     ; \Sleep - покурим 100мсек
    6C0A1320  |. FF75 08        PUSH [ARG.1]
    6C0A1323  |. FF15 28E70B6C  CALL DWORD PTR DS:[0x6C0BE728]     ; вызов кода эмулятора techsys.6C12CA88 (ее код ниже)
    6C0A1329  |. 8B15 60EF0B6C  MOV EDX,DWORD PTR DS:[0x6C0BEF60]  ; эмулятор сразу после использования шифруем
    6C0A132F  |. 83C4 04        ADD ESP,0x4
    6C0A1332  |. 85D2           TEST EDX,EDX
    6C0A1334  |. 74 26          JE SHORT techsys.6C0A135C
    6C0A1336  |. 8B0D 28E70B6C  MOV ECX,DWORD PTR DS:[0x6C0BE728]  ; techsys.6C12CA88
    6C0A133C  |. 4A             DEC EDX
    6C0A133D  |. C1EA 02        SHR EDX,0x2
    6C0A1340  |. 83C1 02        ADD ECX,0x2
    6C0A1343  |. 42             INC EDX
    6C0A1344  |> 8071 FE 0D   / XOR BYTE PTR DS:[ECX-0x2],0xD      ; начало цикла шифровки
    6C0A1348  |. 8D49 04      | LEA ECX,DWORD PTR DS:[ECX+0x4]
    6C0A134B  |. 8071 FB F0   | XOR BYTE PTR DS:[ECX-0x5],0xF0
    6C0A134F  |. 8071 FC AD   | XOR BYTE PTR DS:[ECX-0x4],0xAD
    6C0A1353  |. 8071 FD BA   | XOR BYTE PTR DS:[ECX-0x3],0xBA
    6C0A1357  |. 83EA 01      | SUB EDX,0x1
    6C0A135A  |.^75 E8        \ JNZ SHORT techsys.6C0A1344         ; конец цикла шифровки
    6C0A135C  |> 5D             POP EBP
    6C0A135D  \. C3             RETN
    код вызова эмулятора (этот участок кода после расшифровки)
    Код:
    6C12CA88   55               PUSH EBP
    6C12CA89   8B6C24 08        MOV EBP,DWORD PTR SS:[ESP+0x8]
    6C12CA8D   8D45 34          LEA EAX,DWORD PTR SS:[EBP+0x34]
    6C12CA90   50               PUSH EAX
    6C12CA91   8D45 30          LEA EAX,DWORD PTR SS:[EBP+0x30]
    6C12CA94   50               PUSH EAX
    6C12CA95   8D45 2C          LEA EAX,DWORD PTR SS:[EBP+0x2C]
    6C12CA98   50               PUSH EAX
    6C12CA99   8D45 28          LEA EAX,DWORD PTR SS:[EBP+0x28]
    6C12CA9C   50               PUSH EAX
    6C12CA9D   8B45 24          MOV EAX,DWORD PTR SS:[EBP+0x24]
    6C12CAA0   50               PUSH EAX
    6C12CAA1   8B45 20          MOV EAX,DWORD PTR SS:[EBP+0x20]
    6C12CAA4   50               PUSH EAX
    6C12CAA5   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12CAA8   50               PUSH EAX
    6C12CAA9   8B45 18          MOV EAX,DWORD PTR SS:[EBP+0x18]
    6C12CAAC   50               PUSH EAX
    6C12CAAD   0FB645 16        MOVZX EAX,BYTE PTR SS:[EBP+0x16]
    6C12CAB1   50               PUSH EAX
    6C12CAB2   E8 05000000      CALL techsys.6C12CABC           <== вот вызов эмулятора uni-patch
    6C12CAB7   83C4 24          ADD ESP,0x24
    6C12CABA   5D               POP EBP
    6C12CABB   C3               RETN
    этот код тоже "прячется" методом xor-шифровки:
    Код:
    6C12CABC   55               PUSH EBP
    6C12CABD   8BEC             MOV EBP,ESP
    6C12CABF   60               PUSHAD
    6C12CAC0   E9 D4040000      JMP techsys.6C12CF99
    
    6C12CF99   E8 00000000      CALL techsys.6C12CF9E
    
    6C12CF9E   5E               POP ESI                                      ; основной код эмулятора uni-patch
    6C12CF9F   81EE D5040000    SUB ESI,0x4D5
    6C12CFA5   8B45 08          MOV EAX,DWORD PTR SS:[EBP+0x8]
    6C12CFA8   8946 FC          MOV DWORD PTR DS:[ESI-0x4],EAX
    6C12CFAB   83F8 01          CMP EAX,0x1                        ; HASP_SERVICE=1 ака LOCALHASP_ISHASP т.е. "ключ HASP подключен" будет вызвано первым
    6C12CFAE   75 17            JNZ SHORT techsys.6C12CFC7
    6C12CFB0   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12CFB3   8B4D 24          MOV ECX,DWORD PTR SS:[EBP+0x24]
    6C12CFB6   C700 01000000    MOV DWORD PTR DS:[EAX],0x1
    6C12CFBC   C701 00000000    MOV DWORD PTR DS:[ECX],0x0
    6C12CFC2   E9 DA060000      JMP techsys.6C12D6A1
    6C12CFC7   83F8 03          CMP EAX,0x3                        ; HASP_SERVICE=3 ака  MEMORYHASP_READMEMO
    6C12CFCA   75 78            JNZ SHORT techsys.6C12D044
    6C12CFCC   8B45 14          MOV EAX,DWORD PTR SS:[EBP+0x14]
    6C12CFCF   8B4D 18          MOV ECX,DWORD PTR SS:[EBP+0x18]
    6C12CFD2   3D 6D3B0000      CMP EAX,0x3B6D
    6C12CFD7   75 30            JNZ SHORT techsys.6C12D009
    6C12CFD9   81F9 CB700000    CMP ECX,0x70CB
    6C12CFDF   0F85 BC060000    JNZ techsys.6C12D6A1
    6C12CFE5   81C6 1C010000    ADD ESI,0x11C
    6C12CFEB   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12CFEE   8B55 20          MOV EDX,DWORD PTR SS:[EBP+0x20]
    6C12CFF1   8B5D 24          MOV EBX,DWORD PTR SS:[EBP+0x24]
    6C12CFF4   8B08             MOV ECX,DWORD PTR DS:[EAX]
    6C12CFF6   D1E1             SHL ECX,1
    6C12CFF8   0FB70431         MOVZX EAX,WORD PTR DS:[ECX+ESI]
    6C12CFFC   8902             MOV DWORD PTR DS:[EDX],EAX
    6C12CFFE   C703 00000000    MOV DWORD PTR DS:[EBX],0x0
    6C12D004   E9 98060000      JMP techsys.6C12D6A1
    6C12D009   3D 314E0000      CMP EAX,0x4E31
    6C12D00E   0F85 8D060000    JNZ techsys.6C12D6A1
    6C12D014   81F9 E4100000    CMP ECX,0x10E4
    6C12D01A   0F85 81060000    JNZ techsys.6C12D6A1
    6C12D020   81C6 42040000    ADD ESI,0x442
    6C12D026   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12D029   8B55 20          MOV EDX,DWORD PTR SS:[EBP+0x20]
    6C12D02C   8B5D 24          MOV EBX,DWORD PTR SS:[EBP+0x24]
    6C12D02F   8B08             MOV ECX,DWORD PTR DS:[EAX]
    6C12D031   D1E1             SHL ECX,1
    6C12D033   0FB70431         MOVZX EAX,WORD PTR DS:[ECX+ESI]
    6C12D037   8902             MOV DWORD PTR DS:[EDX],EAX
    6C12D039   C703 00000000    MOV DWORD PTR DS:[EBX],0x0
    6C12D03F   E9 5D060000      JMP techsys.6C12D6A1
    6C12D044   83F8 04          CMP EAX,0x4                        ; HASP_SERVICE=4 ака MEMORYHASP_WRITEMEMO это не используется никогда
    6C12D047   75 7A            JNZ SHORT techsys.6C12D0C3
    ...
    6C12D0C3   83F8 05          CMP EAX,0x5                       ; HASP_SERVICE=5 ака HASPAPI_VERSION
    6C12D0C6   0F85 84000000    JNZ techsys.6C12D150
    6C12D0CC   8B45 14          MOV EAX,DWORD PTR SS:[EBP+0x14]
    6C12D0CF   8B4D 18          MOV ECX,DWORD PTR SS:[EBP+0x18]
    6C12D0D2   3D 6D3B0000      CMP EAX,0x3B6D
    6C12D0D7   75 33            JNZ SHORT techsys.6C12D10C
    6C12D0D9   81F9 CB700000    CMP ECX,0x70CB
    6C12D0DF   0F85 BC050000    JNZ techsys.6C12D6A1
    6C12D0E5   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12D0E8   8B4D 20          MOV ECX,DWORD PTR SS:[EBP+0x20]
    6C12D0EB   8B55 24          MOV EDX,DWORD PTR SS:[EBP+0x24]
    6C12D0EE   8B5D 28          MOV EBX,DWORD PTR SS:[EBP+0x28]
    6C12D0F1   8B7E 0C          MOV EDI,DWORD PTR DS:[ESI+0xC]
    6C12D0F4   8B76 08          MOV ESI,DWORD PTR DS:[ESI+0x8]
    6C12D0F7   8938             MOV DWORD PTR DS:[EAX],EDI
    6C12D0F9   8931             MOV DWORD PTR DS:[ECX],ESI
    6C12D0FB   C702 66000000    MOV DWORD PTR DS:[EDX],0x66
    6C12D101   C703 8C230000    MOV DWORD PTR DS:[EBX],0x238C
    6C12D107   E9 95050000      JMP techsys.6C12D6A1
    6C12D10C   3D 314E0000      CMP EAX,0x4E31
    6C12D111   0F85 8A050000    JNZ techsys.6C12D6A1
    6C12D117   81F9 E4100000    CMP ECX,0x10E4
    6C12D11D   0F85 7E050000    JNZ techsys.6C12D6A1
    6C12D123   8B45 1C          MOV EAX,DWORD PTR SS:[EBP+0x1C]
    6C12D126   8B4D 20          MOV ECX,DWORD PTR SS:[EBP+0x20]
    6C12D129   8B55 24          MOV EDX,DWORD PTR SS:[EBP+0x24]
    6C12D12C   8B5D 28          MOV EBX,DWORD PTR SS:[EBP+0x28]
    6C12D12F   81C6 26030000    ADD ESI,0x326
    6C12D135   8B7E 0C          MOV EDI,DWORD PTR DS:[ESI+0xC]
    6C12D138   8B76 08          MOV ESI,DWORD PTR DS:[ESI+0x8]
    6C12D13B   8938             MOV DWORD PTR DS:[EAX],EDI
    6C12D13D   8931             MOV DWORD PTR DS:[ECX],ESI
    6C12D13F   C702 66000000    MOV DWORD PTR DS:[EDX],0x66
    6C12D145   C703 8C230000    MOV DWORD PTR DS:[EBX],0x238C
    6C12D14B   E9 51050000      JMP techsys.6C12D6A1
    6C12D150   83F8 06          CMP EAX,0x6                       ; HASP_SERVICE=6 ака MEMORYHASP_HASPID это используется
    6C12D153   75 79            JNZ SHORT techsys.6C12D1CE
    6C12D155   8B45 14          MOV EAX,DWORD PTR SS:[EBP+0x14]
    6C12D158   8B4D 18          MOV ECX,DWORD PTR SS:[EBP+0x18]
    6C12D15B   3D 6D3B0000      CMP EAX,0x3B6D
    6C12D160   75 2F            JNZ SHORT techsys.6C12D191
    6C12D162   81F9 CB700000    CMP ECX,0x70CB
    6C12D168   0F85 33050000    JNZ techsys.6C12D6A1
    6C12D16E   83C6 04          ADD ESI,0x4
    6C12D171   8B06             MOV EAX,DWORD PTR DS:[ESI]
    6C12D173   8B5D 1C          MOV EBX,DWORD PTR SS:[EBP+0x1C]
    6C12D176   8B4D 20          MOV ECX,DWORD PTR SS:[EBP+0x20]
    6C12D179   8B55 24          MOV EDX,DWORD PTR SS:[EBP+0x24]
    6C12D17C   0FB7F8           MOVZX EDI,AX
    6C12D17F   893B             MOV DWORD PTR DS:[EBX],EDI
    6C12D181   C1E8 10          SHR EAX,0x10
    6C12D184   8901             MOV DWORD PTR DS:[ECX],EAX
    6C12D186   C702 00000000    MOV DWORD PTR DS:[EDX],0x0
    6C12D18C   E9 10050000      JMP techsys.6C12D6A1
    6C12D191   3D 314E0000      CMP EAX,0x4E31
    6C12D196   0F85 05050000    JNZ techsys.6C12D6A1
    6C12D19C   81F9 E4100000    CMP ECX,0x10E4
    6C12D1A2   0F85 F9040000    JNZ techsys.6C12D6A1
    6C12D1A8   81C6 2A030000    ADD ESI,0x32A
    6C12D1AE   8B06             MOV EAX,DWORD PTR DS:[ESI]
    6C12D1B0   8B5D 1C          MOV EBX,DWORD PTR SS:[EBP+0x1C]
    6C12D1B3   8B4D 20          MOV ECX,DWORD PTR SS:[EBP+0x20]
    6C12D1B6   8B55 24          MOV EDX,DWORD PTR SS:[EBP+0x24]
    6C12D1B9   0FB7F8           MOVZX EDI,AX
    6C12D1BC   893B             MOV DWORD PTR DS:[EBX],EDI
    6C12D1BE   C1E8 10          SHR EAX,0x10
    6C12D1C1   8901             MOV DWORD PTR DS:[ECX],EAX
    6C12D1C3   C702 00000000    MOV DWORD PTR DS:[EDX],0x0
    6C12D1C9   E9 D3040000      JMP techsys.6C12D6A1
    6C12D1CE   83F8 28          CMP EAX,0x28                     ; HASP_SERVICE=28 ака NETHASP_LASTSTATUS нах оно тут ваще? не используется никогда
    6C12D1D1   75 1F            JNZ SHORT techsys.6C12D1F2
    ...
    6C12D1F2   83F8 2A          CMP EAX,0x2A                     ; HASP_SERVICE=2A ака NETHASP_LOGIN это тоже нах - не используется никогда
    6C12D1F5   75 0E            JNZ SHORT techsys.6C12D205
    ...
    6C12D205   83F8 2B          CMP EAX,0x2B                     ; HASP_SERVICE=2B ака NETHASP_LOGOUT это тоже нах - не используется никогда
    6C12D208   75 0E            JNZ SHORT techsys.6C12D218
    6C12D20A   8B45 24          MOV EAX,DWORD PTR SS:[EBP+0x24]
    6C12D20D   C700 00000000    MOV DWORD PTR DS:[EAX],0x0
    6C12D213   E9 89040000      JMP techsys.6C12D6A1
    6C12D218   83F8 2C          CMP EAX,0x2C                     ; HASP_SERVICE=2С ака NETHASP_READMEMO это тоже нах - не используется никогда
    6C12D21B   75 74            JNZ SHORT techsys.6C12D291
    ...
    6C12D291   83F8 2E          CMP EAX,0x2E                     ; HASP_SERVICE=2E ака NETHASP_HASPID это тоже нах - не используется никогда
    6C12D294   75 79            JNZ SHORT techsys.6C12D30F
    ...
    6C12D30F   83F8 30          CMP EAX,0x30                     ; HASP_SERVICE=30 ака NETHASP_SETIDLETIME это тоже нах - не используется никогда
    6C12D312   75 05            JNZ SHORT techsys.6C12D319
    6C12D314   E9 88030000      JMP techsys.6C12D6A1
    6C12D319   83F8 32          CMP EAX,0x32                     ; HASP_SERVICE=32 ака MEMORYHASP_READBLOCK это многократно используется
    6C12D31C   0F85 84000000    JNZ techsys.6C12D3A6
    ...
    6C12D3A6   83F8 33          CMP EAX,0x33                     ; HASP_SERVICE=33 ака MEMORYHASP_WRITEBLOCK это тоже нах - не используется никогда
    6C12D3A9   0F85 88000000    JNZ techsys.6C12D437
    ...
    6C12D437   83F8 34          CMP EAX,0x34                     ; HASP_SERVICE=34 ака NETHASP_READBLOCK это тоже нах - не используется никогда
    6C12D43A   0F85 84000000    JNZ techsys.6C12D4C4
    ...
    6C12D4C4   83F8 3C          CMP EAX,0x3C                     ; HASP_SERVICE=3C ака LOCALHASP_ENCODEDATA это многократно используется
    6C12D4C7   75 74            JNZ SHORT techsys.6C12D53D
    6C12D4C9   81C6 CC040000    ADD ESI,0x4CC
    6C12D4CF   8B45 14          MOV EAX,DWORD PTR SS:[EBP+0x14]
    6C12D4D2   8B4D 18          MOV ECX,DWORD PTR SS:[EBP+0x18]
    6C12D4D5   3D 6D3B0000      CMP EAX,0x3B6D
    6C12D4DA   75 14            JNZ SHORT techsys.6C12D4F0
    6C12D4DC   81F9 CB700000    CMP ECX,0x70CB
    6C12D4E2   0F85 B9010000    JNZ techsys.6C12D6A1
    6C12D4E8   C706 CB706D3B    MOV DWORD PTR DS:[ESI],0x3B6D70CB
    6C12D4EE   EB 1D            JMP SHORT techsys.6C12D50D
    6C12D4F0   3D 314E0000      CMP EAX,0x4E31
    6C12D4F5   0F85 A6010000    JNZ techsys.6C12D6A1
    6C12D4FB   81F9 E4100000    CMP ECX,0x10E4
    6C12D501   0F85 9A010000    JNZ techsys.6C12D6A1
    6C12D507   C706 E410314E    MOV DWORD PTR DS:[ESI],0x4E3110E4
    6C12D50D   8B45 20          MOV EAX,DWORD PTR SS:[EBP+0x20]
    6C12D510   8B00             MOV EAX,DWORD PTR DS:[EAX]
    6C12D512   83F8 08          CMP EAX,0x8
    6C12D515   0F82 86010000    JB techsys.6C12D6A1
    6C12D51B   8B4D 28          MOV ECX,DWORD PTR SS:[EBP+0x28]
    6C12D51E   8B09             MOV ECX,DWORD PTR DS:[ECX]
    6C12D520   68 DEC0AD0B      PUSH 0xBADC0DE
    6C12D525   50               PUSH EAX
    6C12D526   51               PUSH ECX
    6C12D527   E8 9B0A0000      CALL techsys.6C12DFC7
    6C12D52C   83C4 0C          ADD ESP,0xC
    6C12D52F   8B45 24          MOV EAX,DWORD PTR SS:[EBP+0x24]
    6C12D532   C700 00000000    MOV DWORD PTR DS:[EAX],0x0
    6C12D538   E9 64010000      JMP techsys.6C12D6A1
    6C12D53D   83F8 3D          CMP EAX,0x3D                        ; HASP_SERVICE=3D ака LOCALHASP_DECODEDATA это многократно используется
    6C12D540   75 74            JNZ SHORT techsys.6C12D5B6
    6C12D542   81C6 CC040000    ADD ESI,0x4CC
    6C12D548   8B45 14          MOV EAX,DWORD PTR SS:[EBP+0x14]
    6C12D54B   8B4D 18          MOV ECX,DWORD PTR SS:[EBP+0x18]
    6C12D54E   3D 6D3B0000      CMP EAX,0x3B6D
    6C12D553   75 14            JNZ SHORT techsys.6C12D569
    6C12D555   81F9 CB700000    CMP ECX,0x70CB
    6C12D55B   0F85 40010000    JNZ techsys.6C12D6A1
    6C12D561   C706 CB706D3B    MOV DWORD PTR DS:[ESI],0x3B6D70CB
    6C12D567   EB 1D            JMP SHORT techsys.6C12D586
    6C12D569   3D 314E0000      CMP EAX,0x4E31
    6C12D56E   0F85 2D010000    JNZ techsys.6C12D6A1
    6C12D574   81F9 E4100000    CMP ECX,0x10E4
    6C12D57A   0F85 21010000    JNZ techsys.6C12D6A1
    6C12D580   C706 E410314E    MOV DWORD PTR DS:[ESI],0x4E3110E4
    6C12D586   8B45 20          MOV EAX,DWORD PTR SS:[EBP+0x20]
    6C12D589   8B00             MOV EAX,DWORD PTR DS:[EAX]
    6C12D58B   83F8 08          CMP EAX,0x8
    6C12D58E   0F82 0D010000    JB techsys.6C12D6A1
    6C12D594   8B4D 28          MOV ECX,DWORD PTR SS:[EBP+0x28]
    6C12D597   8B09             MOV ECX,DWORD PTR DS:[ECX]
    6C12D599   68 DEC0AD0B      PUSH 0xBADC0DE
    6C12D59E   50               PUSH EAX
    6C12D59F   51               PUSH ECX
    6C12D5A0   E8 10080000      CALL techsys.6C12DDB5
    6C12D5A5   83C4 0C          ADD ESP,0xC
    6C12D5A8   8B45 24          MOV EAX,DWORD PTR SS:[EBP+0x24]
    6C12D5AB   C700 00000000    MOV DWORD PTR DS:[EAX],0x0
    6C12D5B1   E9 EB000000      JMP techsys.6C12D6A1
    6C12D5B6   83F8 55          CMP EAX,0x55                      ; 55h aka NETHASP_SET_CONFIG_FILENAME это тоже нах - не используется никогда
    6C12D5B9   75 05            JNZ SHORT techsys.6C12D5C0
    6C12D5BB   E9 E1000000      JMP techsys.6C12D6A1
    6C12D5C0   83F8 58          CMP EAX,0x58                      ; 58h aka NETHASP_ENCODEDATA это тоже нах - не используется никогда
    6C12D5C3   75 71            JNZ SHORT techsys.6C12D636
    ...
    6C12D636   83F8 59          CMP EAX,0x59                      ; 59h aka NETHASP_DECODEDATA это тоже нах - не используется никогда
    6C12D639   75 61            JNZ SHORT techsys.6C12D69C
    ...
    6C12D69C   B8 78563412      MOV EAX,0x12345678
    6C12D6A1   61               POPAD
    6C12D6A2   5D               POP EBP
    6C12D6A3   C3               RETN
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  8. Пользователь сказал cпасибо:

    Михаил38 (02.08.2021)

  9. #6
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Если из кода uni-patch эмуля (6C12CF9E-6C12D6A3) выбросить неиспользуемые участки кода, то размер кода сократится с 6032 до 5058 байт, добавим к нему код шифровки/расшифровки 6C0A12E0-6C0A135D (125 байт) подрихтуем напильником сломавшиеся jmp-переходы и получим блок кода, назовем его uni-patch-x86-v2, который можно вставлять в backbas.длл с позиции HASP API Entry point так, как это делает 1С8_UP.ехе - этот патчер подрихтуем рашпилем - в нем вместо старого блока 32-бит кода uni-patch пропишем uni-patch-x86-v2.

    Блок кода 64-бит uni-patch пихается 1С8_UP.ехе в backbas.длл в новую секцию (фактически точно с позиции и поверх цифр.подписи), надо бы его тоже облегчить от неиспользуемых участков кода - если его новый размер будет достаточно мал, то можно будет пихать uni-patch-x64-v2 в точку HASP API Entry point и в виндовых и в линуховых модулях backbas.
    Последний раз редактировалось HPDX2300; 21.07.2021 в 17:48.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  10. #7
    Гость форума
    Регистрация
    21.07.2021
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    (BTW, ну не верю я, что МИМО - это девушка
    А я вот, кстати, возмущена таким сексизмом.

    И правильное название решения - Mimo-UniDll. Первоисточник здесь:
    [Только зарегистрированные пользователи могут видеть ссылки. ]

    На этом половую дискуссию заканчиваю.

  11. #8
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    Цитата Сообщение от Mimo2020 Посмотреть сообщение
    А я вот, кстати, возмущена таким сексизмом.
    Ну и дура, набитая опилками. Ох и гонор, ох и понт.
    "Тесту место у печи" - женщина знай своё место.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  12. #9
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    повтор поста №1 т.к. ссылки на картинки изменились:
    1) к techsys.длл применялся VMProtect, этой же хренью WELL обработал backbas.длл и rserver.длл . Результат работы скрываемого VMProtect-ом кода находится в памяти процесса - бери и смотри.
    2) Запустим ProcessMonitor и посмотрим протокол запуска толстого клиента
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    3) techsys.длл загружается в адресное пространство процесса "динамически" - вызовом из модуля core83.длл функции LoadLibraryW в либе kernel32.длл
    [Только зарегистрированные пользователи могут видеть ссылки. ]
    4) при загрузке techsys.длл автоматически выполняется её DllMain - этот код сперва раскодирует свои секции кода, выполнение которого загрузит techsys_10.длл, backbas.длл - шо мы и наблюдаем по картинке в п.2
    если посмотреть [Только зарегистрированные пользователи могут видеть ссылки. ], то вызов функции LoadLibraryW в либе kernel32.длл сперва сделан из модуля core83.длл (нижний - это загрузка techsys.длл), затем из модуля techsys.длл (верхний - это загрузка backbas.длл)
    5) загрузив backbas.длл (wintrust.длл и odbc.длл загрузятся следом автомагически т.к. они статически линкованы в backbas.длл) сразу пропатчат прям в памяти процесса (такое редактирование не сохраняется на диск).
    Последний раз редактировалось HPDX2300; 21.07.2021 в 22:19.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  13. #10
    Спец Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    356
    Сказал(а) спасибо
    59
    Поблагодарили 764 раз(а) в 160 сообщениях

    По умолчанию Re: Исследуем патчер UniDLL_v4

    картинки 4-го поста тоже переехали:
    отличия backbas.1 и backbas.длл:
    [Только зарегистрированные пользователи могут видеть ссылки. ]

    [Только зарегистрированные пользователи могут видеть ссылки. ]

    [Только зарегистрированные пользователи могут видеть ссылки. ]

    [Только зарегистрированные пользователи могут видеть ссылки. ]

    Как можно "уговорить" изделие работать без "костыля" techsys.длл ? - берем 1Ц8-УП.ехе (есть в medkit********.rar) и применяем его к backbas, изменения в backbas 1) 2) 4) вносим руками. Вуаля! Щас я это быстро проверю на практике.
    P.S. проверил 18.1289-х86 работает со старым унипатчем, с одним изменением - в нем SecTable надо чуток изменить: 9А -> A9.
    Изделие находит патченную унипатчем либу поиском в памяти процесса SecTable (9A 21 2C 25 DE 65 6C 65)
    Помните Ukei раздавал "ручные" репаки, в которых патчилась одна лишь либа бэкбейс? Создатель такого репака (Ukei говорил "я не афтор, я тока распространитель-популяризатор") менял именно SecTable после применения унипатча.
    Последний раз редактировалось HPDX2300; 21.07.2021 в 23:41.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  14. 2 пользователя(ей) сказали cпасибо:

    bc4s (02.08.2021), Михаил38 (02.08.2021)

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Патчер для 7%ЕСХН
    от ЛюдмилаЧ в разделе Полезности
    Ответов: 0
    Последнее сообщение: 31.01.2011, 15:37

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •