1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Indy_ Dye 4.2

Тема в разделе "WASM.SOURCES & 2LZ", создана пользователем calidus, 13 июл 2021.

Метки:
  1. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    616
    Привет Indy_,

    где можно найти исходник Kite 1.0 ?! Файлы Kite приложенные к Dye не полные. В последней версии поменялись структуры, не мог бы ты выложить обновлённый Ep.asm. Что ещё поменялось кроме структур?

    Ещё вопрос, FtIsFile proc TestFile:HANDLE, File$:PSTR имеет такой прототип, но вызывается как invoke FtIsFile, D[Eax], без описания прототипа нельзя собрать, это ошибка?

    Что скрывается за GetTicks, переходник на GetTickСount()?
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.602
    calidus,

    На сколько помню EP.asm это был сурец с критерием по определению общим способом точек входа через выборку, удивительно работало на любом тестовом модуле, не важно чем накрыт.

    Кайт это конструктор 2015 года, он формировал граф, затем после манипуляций с ним код билдился в буфера. В простейшем случае это перенос процедуры в буфер. Манипуляции с самим графом были довольно сложные из за столь запутанных структур его, но проще врядле можно сделать.

    > Что скрывается за GetTicks, переходник на GetTickСount()?

    Я не могу ничего ответить на это, тк десятки тысяч раз это пересобиралось, для каждого семпла своя сборка, обычно было с кл. Замеры приложением тайминга - на всё это стояли фильтры, он симулировался для апп. Где в этих сборках что искать я хз, это есть всё в бэкапах, но нужна точная инфа что бы конкретную сборку найти.

    В общем если где то раздабыл одну из последних старых сборок молодец, но сам разбирайся в мелочах, ссылка или указатель это на столько мелкие вопросы..

    Rel,

    Не была использована бинарная трансляция, хотя это всё было реализовано. Тут есть эти темы, за это да, могут набутылить. Тк можно встраивать в малварь для решений в реалтайме - те же с-анклавы скрытие памяти обход вм.
     
  3. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.602
    Rel,

    net/com использует бин трансляцию для сборки, к тормозам не приводит, вообще с чего ты решил что нужно каждую инструкцию пропускать через буфер.. это было в первых реализациях тк просто для отладки самого мотора.

    https://wasm.in/threads/ukazatel-v-opisatel.33644/

    - ключевая функция, улучшить никак нельзя, там синхронная адресная трансляция. Отобразив линейный адрес на буфер, можно рассыпать инструкции рандомом в памяти. Тогда как авер создаст сигнатуру, если она просто битовая маска, будет проходить в реалтайме ветвления в буферах ?

    Даже если это теоретически может быть реализовано, то диз сбить не составляет проблемы.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.403
    Не использует, COM вообще, а NET компилирует байткод в нативный с помощью JIT-компилятора. Из чистых интерпретаторов там, наверное, может быть только JScript или VBScript, да и то я не уверен в этом, в том же движке Chakra была JIT-компиляция.

    Причем тут дизасм и аверские сигнатуры - не понятно. Часть сигнатуры вполне может быть внутри инструкции.
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.403
    Ты хочешь, чтобы я тебе нашел малварь, у которой сигнатура внутри инструкции начинается? Забавно, ты думаешь, что мне нужно что-то тебе доказывать?

    Ну я так то не прославился тем, что продал свои наработки блекушникам, как ты. Не создавал барыжных тем, где писал, что "заточен на малварь": https://jeyndoe.github.io/edump/pages/action=vthread&forum=6&topic=22203&page=0.html Так что я далеко не барыга, в отличии от тебя.
    --- Сообщение объединено, 17 июл 2021 ---
    https://www.google.com/search?q=n+grams+signature - вот можешь матчасти почитать, чтобы не позорится в будущем. Может быть важна конкретная последовательность байт, которая может начинаться и заканчиваться как вначале или в конце инструкции, так и внутри нее.
     
    Последнее редактирование: 17 июл 2021
  6. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    616
    Что вы тут устроили в моей теме?! В личке решить это нельзя?!

    Проблема здесь, это строчка -
    Код (ASM):
    1. .if (G_Image.Base <= Eax) && (G_Image.Limit > Eax)
    или оригинальный
    Код (ASM):
    1. .if ([Esi].Tr.LaX.Ea == Eax) && (Eax < 7FFE0000H)    ; LA != EA -> ~TEB; ~USD
    2.             .if (G_iBase <= Eax) && (G_iLimit > Eax)
    3.                 mov edx,[esi].Tr.Ia.Ea.Flags
    4.                 and edx,(1 shl EA_DISP32) or (1 shl EA_SIB) or (1 shl EA_BASE) or (1 shl EA_STR)
    где G_iBase и G_iLimit были перенесены в структуру .. первый код это моя модификация.

    Кроме этого TFR struct не имеет больше структуры ЕА, которая находится теперь в
    Код (ASM):
    1. MDF struct
    2. Ea EA <>
    3. Fetch ULONG ? ; XED_OPERAND_ACTION_x
    4. LaX LADDR <>
    5. LaY LADDR <>
    6. MDF ends
    7. PMDF typedef ptr MDF
    MDF <> пришлось добавить в TFR struct, иначе собрать невозможно.

    А сама MDF нигде не используется. То, что сборки разные это понятно, но эти структуры в Hdr.inc же базовые, вижно, что обновилась структура двига, где старые модули просто не подключаются. Отсюда и вопрос, есть ли обновлённый EP.asm. Но если нет, то придётся вручную подбирать.
    В чём разница изменений внутри двига, если основные фильтры регистрируются отдельно/собираются отдельно?

    Можешь выложить оригинальный исходный код? Не хекс инклуд файл.

    .. invoke GetTicks .. из Ft.asm
    Код (ASM):
    1. SyCreateFile proc C
    2.     assume ebx:PNT_CREATE_FILE
    3. Recall:
    4. comment '
    5.    invoke FtSysCall, sizeof(NT_CREATE_FILE)
    6.    .if !Eax
    7.        mov eax,[ebx].FileHandle
    8.        invoke FtIsFile, D[Eax];, 0
    9.        .if !Eax
    10.            invoke GetTicks
    11.            %DBG "PID: 0x%p T: 0x%p FCREATE Access: 0x%X, Share: 0x%X, Disposition: 0x%X, Options: 0x%X",
    12.                [Ebx].CreateOptions,
    13.                [Ebx].CreateDisposition,
    14.                [Ebx].ShareAccess,
    15.                [Ebx].DesiredAccess,
    16.                Eax,
    17.                fs:[TEB.Cid.UniqueProcess]
    18.        .endif
    19.        xor eax,eax
    20.    .else
    21.        push eax
    22.        invoke StLookupName, Eax
    23.        push eax
    24.        invoke GetTicks
    25.        pop ecx
    26. ;        %DBG "PID: 0x%p T: 0x%p FOPEN failed %s", Ecx, Eax, fs:[TEB.Cid.UniqueProcess]
    27.        pop eax
    28.        .if Eax == STATUS_SHARING_VIOLATION
    29.            invoke Sleep, 100
    30.            jmp Recall
    31.        .endif
    32.    .endif
    33.    jmp SySkip
    34.    '
    35.     jmp SyCall
    36. SyCreateFile endp
    или

    Код (ASM):
    1. SyClose proc C
    2.     assume ebx:PNT_CLOSE
    3. ;///////////////////////////////////////////////////////////////////////  
    4.     invoke FtIsFile, [Ebx].Handle; <<< - FtIsFile proc TestFile:HANDLE, File$:PSTR - FtIsFile PROTO TestFile:HANDLE, File$:PSTR ?!
    5.     .if !Eax
    6.         invoke GetTicks; <<<- GetTickСount()
    7.         %DBG "PID: 0x%p T: 0x%p FCLOSE", Eax, fs:[TEB.Cid.UniqueProcess]
    8.     .endif
    9. ;///////////////////////////////////////////////////////////////////////
    10.     jmp SyCall
    11. SyClose endp
    Ясно, спасибо :good2:
     
    M0rg0t нравится это.
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.602
    calidus,

    Вот примеры. Общий критерий по EP работает везде, не важно даже какой протектор. В общем если говорить инструмент мощный и я первый раз вижу что его кто то нашёл и использовал :)
    --- Сообщение объединено, 18 июл 2021 ---
    calidus,

    Вот базовая сборка конструктора. С ней есчо шло несколько моторов для скрытия памяти, DYPEx", подробности нужно искать на rohitab.com
     

    Вложения:

    • eps.7z
      Размер файла:
      2,4 КБ
      Просмотров:
      55
    • Kite10.7z
      Размер файла:
      637,8 КБ
      Просмотров:
      69
    Последнее редактирование: 18 июл 2021
    calidus нравится это.
  8. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    616
    Привет Indy_,

    ещё один вопрос, ты сделал быстрый трансляционный кэш, не мог бы ты показать сводную таблицу таймингов или множитель падения скорости по вариациям: оригинальный блок, под Dye без кэша, под Dye с кэшированием.

    Пример -
    оригинальный блок: 0.0x
    под Dye без кэша: -4.7x
    под Dye с кэшированием: -2.1x
     
  9. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.602
    calidus,

    Привет.

    Я не могу статистику привести, её было много есть дамп кл тут гдето была. Мне придётся запускать вм, а там столько сборок.. прошлую задачу я пару дней решал - искал последнюю рабочую сборку. C трансляцией и быстрым кэшем работало это всё в реалтайме. Последний раз я это собирал когда был есчо кл, а это довольно давно было.

    Вот тут недавно был вопрос https://cracklab.team/index.php?threads/439/

    - тс глупый, невозможно это решить отладчиком. Для этого необходим визор, бт либо виртуальная машина. Принципы работы вм на харде не позволяют получить все выборки и всю последовательность по IP.
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.403
    На самом деле в этом меня интересует один вопрос. Вот есть Дий версии 4.2. А зачем ему в принципе версии давать, там минорные и мажорные, если его никто, кроме Индия не использует? Некому же за историей изменений и чейндж логами следить, никому это не нужно. Или это просто в качестве подражания взрослым разработчикам? Чтобы почувствовать себя типа настоящим разрабом?
     
  11. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    616
    Rel, это моя выдумка, такой версии нет, в каждой версии были дополнения и новые функциональные блоки, версия 4 по моему списку версий это пред версия до обработки кэша, 4.2 это мой мод. Каждая версия может быть со своим фильтром, поэтому я дополняю версию как 1.а, 1.b, после главной версии. Вспоминать все изменения непрофессионально.