ищу антидебаг инди

Тема в разделе "WASM.SOURCES & 2LZ", создана пользователем galenkane, 23 ноя 2023.

  1. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    Полные сорцы вот этих, там еще был cb.exe скомпиленный

    cb.asm - код на ассемблере, который реализует перехват вызовов API ядра Windows и обратных вызовов.
    Вот основные моменты:
    - Вызов Setup() инициализирует структуры данных и вызывает функции для перехвата API.
    - NtGateInit настраивает шлюзы для перехватываемых вызовов NT API.
    - %NTCALL и %RCALL - макросы для выполнения перехваченных системных вызовов.
    - NtCrcToId отображает CRC хеш API на его системный ID, вероятно, для сокрытия использования.
    - Код обработки обратных вызовов вроде WwSetupCallback используется для обработки обратных вызовов в перехваченных API.
    - Используются различные механизмы для скрытия от отладчиков и мониторинга стека.
    Основные задачи:
    - Построение таблицы поиска для перехватываемых API
    - Установка шлюзов для перехваченных вызовов
    - Сопоставление API по CRC вместо имени для сокрытия
    - Перехват обратных вызовов и параметров
    - Скрытие от отладчиков
    Это позволяет перехватывать вызовы ядра на низком уровне и скрытно изменять поведение программ. В целом, похоже на фреймворк для хуков, мониторинга и внедрения в вызовы ядра Windows.
     

    Вложения:

    • antidebug.zip
      Размер файла:
      28 КБ
      Просмотров:
      156
  2. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    Это для Win32, ХР что ли?
     
  3. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.191
    Адрес:
    подполье
    Ага. WinXP SP3. Никакие перехваты не ставит. Пермутирующий.
     
  4. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    нашёл случайно
     

    Вложения:

    • AntiDebug.zip
      Размер файла:
      124,1 КБ
      Просмотров:
      195
    Win32Api нравится это.
  5. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    мужики помогите дофиксить, собирается чудом на masm 6.5 http://gri-software.ru/files/tia/masm.zip
    --- Сообщение объединено, 18 сен 2024 ---
    запуск по Ctrl+Shift+B через VSCode

    там пару плагинов под цветастость есть

    upload_2024-9-18_16-13-33.png
     

    Вложения:

    • AntiDebug.zip
      Размер файла:
      114 КБ
      Просмотров:
      84
  6. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    458
    чего масм такой древнющий?
     
  7. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    какой есть)
     
  8. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    458
  9. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    спешить некуда
     
  10. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    458
  11. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    щас затык почему PEB не видит при запуске
    --- Сообщение объединено, 18 сен 2024 ---
    через это не запустит уверен
     
  12. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    МАСМ подобный ассемблер лучше использовать UASM
     
  13. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    мужики этот компилится,трабла почему PEB не подхватывает и не видит LDR
     
  14. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Код (Text):
    1.  
    2.  
    3. 00000B04  64: A1         2C     mov Eax,fs:[TEB.Peb]
    4.        00000070
    Судя по комментариям, у тебя подключены заголовки, которых в проекте нет. Я ядро нт десятилетиями не листаль но fs:[0x70] как-то странно для PEB.
    Код (Text):
    1.  00000074              C TEB STRUCT
    2.                   C     ; NtTib теперь определена как отдельные поля
    3. 00000000  00000000          C     ExceptionList       DWORD ?
    4. 00000004  00000000          C     StackBase           DWORD ?
    5. 00000008  00000000          C     StackLimit          DWORD ?
    6. 0000000C  00000000          C     SubSystemTib        DWORD ?
    7. 00000010  00000000          C     FiberData           DWORD ?
    8. 00000014  00000000          C     ArbitraryUserPointer DWORD ?
    9. 00000018  00000000          C     Self                DWORD ?
    10.                   C     ; Остальные поля TEB
    11. 0000001C  00000000          C     EnvironmentPointer  DWORD ?
    12. 00000020  00000000          C     ClientId_UniqueProcess DWORD ?
    13. 00000024  00000000          C     ClientId_UniqueThread  DWORD ?
    14. 00000028  00000000          C     ActiveRpcHandle     DWORD ?
    15. 0000002C  00000000          C     ThreadLocalStoragePointer DWORD ?
    16. 00000030  00000000          C     ProcessEnvironmentBlock DWORD ?
    17. 00000034  00000000          C     LastErrorValue      DWORD ?
    18. 00000038  00000000          C     CountOfOwnedCriticalSections DWORD ?
    19. 0000003C  00000000          C     CsrClientThread     DWORD ?
    20. 00000040  00000000          C     Win32ThreadInfo     DWORD ?
    21.                   C     ; ... другие поля ...
    22. 00000044  00000000          C     Tib         NT_TIB <>
    23.        00000000
    24.        00000000
    25.        00000000
    26.        00000000
    27.        00000000
    28.        00000000
    29. 00000060  00000000          C     Cid CLIENT_ID <>
    30.        00000000
    31.                   C     ; Other TEB fields
    32. 00000068  00000000          C     ProcessId                   DWORD ?
    33. 0000006C  00000000          C     ThreadId                    DWORD ?
    34.                   C     ; ... (add other fields as needed)
    35. 00000070  00000000          C     Peb     DWORD ?
    36.                   C     ; Add other fields as needed
    37.                   C TEB ENDS
    Майкрософт утверждает, что 4*12=48(0x30) валидное смещение для указателя PEB.
    Код (Text):
    1. typedef struct _TEB {
    2.   PVOID Reserved1[12];
    3.   PPEB  ProcessEnvironmentBlock;
    4.   PVOID Reserved2[399];
    5.   BYTE  Reserved3[1952];
    6.   PVOID TlsSlots[64];
    7.   BYTE  Reserved4[8];
    8.   PVOID Reserved5[26];
    9.   PVOID ReservedForOle;
    10.   PVOID Reserved6[4];
    11.   PVOID TlsExpansionSlots;
    12. } TEB, *PTEB;
    --- Сообщение объединено, 18 сен 2024 ---
    ЗЫ: https://cracklab.team/index.php?threads/1318/ неожиданно, но многое прояснилось.
     
  15. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    как фиксануть валид смещение? я не ас асма, но голову поломать затягивает
     
  16. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    У крелка вроде правильно:
    Код (Text):
    1. TEB STRUCT
    2.     NtTib                   NT_TIB <>
    3.     EnvironmentPointer      DWORD ?
    4.     ClientId                CLIENT_ID <>
    5.     ActiveRpcHandle         DWORD ?
    6.     ThreadLocalStoragePointer DWORD ?
    7.     ProcessEnvironmentBlock DWORD ?
    8. ...
    28+4+8+4+4=48
    Код (Text):
    1. %ENVP macro R
    2.     mov R,fs:[TEB.ProcessEnvironmentBlock]
    3.     mov R,dword ptr [R][DENV]
    4.     assume R:PENV
    5. endm
    Шляпа в .lst-файле, я так понял это уже ты собирал и хз из чего:
    Код (Text):
    1.  
    2.       C %ENVP macro R
    3.       C     mov R,fs:[TEB.Peb]
    4.       C     mov R,DWORD PTR [R][DENV]
    5.       C     assume R:PENV
    6.       C endm
    Код (Text):
    1.  00000070  00000000          C     Peb     DWORD ?
     
  17. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    из масм 6.15 , там батник есть для сборки
     
  18. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    upload_2024-9-23_4-23-19.png
    мда ок
     
  19. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    197
    Код (Text):
    1. mov   eax,dword[fs:30h]  ; PEB_32
    2. mov   rax,qword[gs:60h]  ; PEB_64
    3. ;-----------------------------------------------
    4.  
    5. 0: kd> dt _teb32
    6. nt!_TEB32
    7.    +0x000 NtTib                   : _NT_TIB32
    8.    +0x01c EnvironmentPointer      : Uint4B
    9.    +0x020 ClientId                : _CLIENT_ID32
    10.    +0x028 ActiveRpcHandle         : Uint4B
    11.    +0x02c TLSPointer              : Uint4B
    12.    +0x030 ProcessEnvironmentBlock : Uint4B  _PEB32
    13.    +0x034 LastErrorValue          : Uint4B
    14. ;.......
    15.  
    16. 0: kd> dt _teb
    17. nt!_TEB
    18.    +0x000 NtTib                   : _NT_TIB
    19.    +0x038 EnvironmentPointer      : Ptr64
    20.    +0x040 ClientId                : _CLIENT_ID
    21.    +0x050 ActiveRpcHandle         : Ptr64
    22.    +0x058 TLSPointer              : Ptr64
    23.    +0x060 ProcessEnvironmentBlock : Ptr64   _PEB
    24.    +0x068 LastErrorValue          : Uint4B
    25. ;.......
    26.  
     
  20. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    302
    PeGetNativeBase встал на movzx eax,[edi].BaseDllName._Length
    --- Сообщение объединено, 23 сен 2024 ---
    собрал на masm 6.14 но чето валится снова

    movzx eax,[edi].BaseDllName._Length
    --- Сообщение объединено, 23 сен 2024 ---
    пеб вычисляет хоть )
    --- Сообщение объединено, 23 сен 2024 ---
    помог рандом хак
    PEB_LDR_DATA STRUCT
    _Length DWORD ?
    Initialized BYTE ?
    undefined1 BYTE ? ; undefined
    undefined2 BYTE ? ; undefined
    u3 BYTE ? ; undefined
    SsHandle DWORD ?
    InLoadOrderModuleList LIST_ENTRY <>
    InMemoryOrderModuleList LIST_ENTRY <>
    InInitializationOrderModuleList LIST_ENTRY <>
    EntryInProgress DWORD ?
    ShutdownInProgress BYTE ?
    u4 BYTE ? ; undefined
    u5 BYTE ? ; undefined
    u6 BYTE ? ; undefined
    ShutdownThreadId DWORD ?
    PEB_LDR_DATA ENDS
    --- Сообщение объединено, 23 сен 2024 ---
    RPL 0x19FE1C
    Setup.PeGetNativeBase 0x0019FE1C
    NtGateInit.PTR 0x0019FE0C
    Setup.NtGateInit 0x19FE1C
    Setup.ENV 0x0019FE1C
    Setup.NTCRC 0x19FE1C
    Setup.TLS 0x0019FE1C
    Setup.TsGet 0x0019FE1C
    TmInit.TmCreateTimer 0x19FE14
    TmInit.TmSetTimer 0x19FE14
    TmInit.TmAccessFile 0x19FE14
    TmInit.TmAccessFile 0x19FE14
    TmInit.TmNewObject 0x19FE14
    Setup.StkTrap 0x19FE18 STKCRC 0x2220000
    Setup.Key 0x19FE1C
    NtReTree.PeMapView 0x19FDF0
    Setup.STKCRC 0x19FE1C
    Setup.NtReTree 0x19FE1C


    Под дебагом получаю.. без Scyllahide..

    если вкл на макс то DEP Violation

    осталось ток остальной лог докурить
     

    Вложения:

    • adb2.zip
      Размер файла:
      369,3 КБ
      Просмотров:
      92