Вывести трассу вызовов DLL?

Тема в разделе "WASM.RESEARCH", создана пользователем Rel, 19 янв 2019.

  1. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    Indy_, предлагаю сделать мальчиком для битья меня :). Давайте я возьму и испытаю ваш визор. Я его даже уже скачал. Вы только скажите какая нужна для этого система (Win XP, Win 7, Win 10) и какой битности 32 или 64. Так же поясните, какой лучше взять файл для испытаний. Например, на том же блокноте или на калькуляторе можно ваш визор испытать? Напишите такую маленькую инструкцию, как правильно испытать ваш визор. В вашем визоре присутствует exe-файл - как и когда его правильно запустить, чтобы получить результат? Предлагаю получить результат работы вашего визора, чтобы люди поменьше делали неправильных выводов в отношении вас и поняли, что это действительно нужный и полезный инструмент, а не, сами понимаете что... :)
     
  2. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    sty, 32 битная, но сперва лучше поинтересоваться, где там основное приложение, где атом, и что должно быть в итоге. Вообще запилил бы Инди видос, как его код оттестить. Вроде в архиве есть экзешник, но что он и к чему он. Где сам визор и т.п. Инди поступил в лучших традициях "социологии невежества", основной тезис которой : "знание способно защитить себя само".
     
  3. Indy_

    Indy_ Well-Known Member

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

    С регой вчера и такими вопросами тебе не кажется что ты немного обнаглел. Всё давно есть, ищи и изучай. Это инструменты с которыми работают в компилере, не в гуе кнопками. Нужно понимать как там всё устроено. Иначе никак ты это не заюзаешь.
     
  4. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    Так и я о том же (см. выше :) ).

    q2e74, такое впечатление, что вы пытаетесь уловить какую-то логику - там где она отсутствует. С таким подходом любой дурдом за академию наук можно выдать :).
     
  5. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    sty, я сам тот еще городской сумасшедший :)
    - нам рептилиям надо держаться вместе.
    - я земноводное (с) м\ф Ранго.
     
  6. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    q2e74, вот только не надо пытаться примерять на себя "лавры" других участников :). Такого звания удостоин, пока что, лишь один человек на этом форуме :).
     
  7. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    sty, а вас какие файлы то смущают? Вроде по расширению понятно, где от masm, где от msvc, где для windbg. И батник есть. В основном, люди разговаривают вокруг АСТ, но Indy_, не одинок в том, что говорит на другом языке. http://www.cs.toronto.edu/~chechik/courses06/csc2125/data-flow.pdf
    Поэтому, как вы сообразили, что логика отсутствует?
     
  8. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    q2e74, если не трудно, объясните пожалуйста для чего нужны эти файлы, которые у Indy_ в архиве. То что там присутствуют ассемблерные файлы, библиотеки и батник - это я понял :). Мне интересно как вот этим файлам ( Ij.exe Dye.dll xedi.dll ) найти правильное применение :). Вдруг мне это в ближайшей перспективе может понадобится и я буду с благодарностью вспоминать Indy_. Тем более, что какой-то из файлов работает с windbg, если я ничего не перепутал.

    А АСТ - это для работы с графами? Тоже, если не в тягость, помогите развеять туман. Хочу немного подучить язык Indy_ и хоть немного научиться его понимать :).
     
  9. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    sty, не, не помогу. Не в тягость, по другим причинам. Основная, это то, что сам не знаю. Но знаю, что если вы подождете, то созреете для поиска по сайту.
     
  10. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    Ну надо же какая "утонченная" у вас натура и как "изысканно" вы умеете подкалывать незнакомых вам людей. Видимо, сказывается опыт общения с Indy_ и появился лишний повод для самоутверждения. Учит вас жизнь, учит - нет, все равно не имется. Вроде бы уже и близких людей теряли, а соответствующих выводов для себя не сделали. Интересно, что нужно еще отобрать у человека, чтобы до него наконец дошло, что к людям нужно относиться по-человечески. А там глядишь и жизнь бы пошла на поправку. А то так и будете всю жизнь вымещать свое зло на окружающих. Как все-таки мало нужно мелким личностям, для ощущения того, что сегодняшний день прожит не зря.
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330

    вот без троллинга, чисто правду-матку вещаю... во-первых, потому, что он будет работать только на winxp sp2 и x86, ни о какой кроссплатформенности не может идти речь, когда юзаешь Инде код... во-вторых, в отличии от перечисленных мной проектов, оно реализовано не командной опытных разработчиков, а одним человеком, в качестве кода которого я как минимум очень сомневаюсь... в-третьих, нет никакой нормальной документации, я не хочу копаться в сорцах (тем более на асме) лишь для того, чтобы понять, что это какая-то странная херня, применимая только в сферическом вакууме, а не в реальной жизни... в четвертых, на одной чаше весов лежат проверенные временем, документированные, написанные на сишечке/плюсах с нормальным API и байндингами, используемые комьюнити для реальных проектов и тд решения, а на другой поделка Инде... неужели выбор не очевиден...
     
  12. vx1d

    vx1d Member

    Публикаций:
    0
    Регистрация:
    13 дек 2016
    Сообщения:
    118
    Ну вот скрипт для x64 кода, работает на IDA до 7-ой версии, в 7 переименовали API (как минимум)
    сценарий применения:
    - отлаживаем прогу в иде, нужно отследить как распространятся данные по коду (я использую плагин windbg)
    - ставим бряк там где нужно завершить трейс и посмотреть результат
    - загружаем скрипт
    - в IDA\Tracing Options устанавливаем: Trace buffer size=0, Stop condition=TaintSlicer() - будет вызываться после каждой выполненной инструкции, убрать галочку Trace over library functions, выставить цвет выполненных инструкций
    - Toggle: Instruction tracing
    - нажать Alt-Ctrl-M чтобы пометить область памяти (начальный адрес и размер), Alt-Ctrl-R чтобы пометить регистры (имена регистров)
    - Alt-Ctrl-T посмотреть что пометилось
    - нажать F5 (запустить трейс)
    - после остановки на бряке, будет подсвечен код который выполнился, установлен комментарий <T> - где использовались помеченные данные, <U> - неизвестная инструкция
    - идем в Trace Windows смотрим трассу, делаем поиск <T> получаем срез (slice) где использовались помеченные данные
    - в процессе работы возможны остановки после вызова внешних функций, туда трейс не заходит , это сделано чтобы посмотреть используются ли помеченные данные как входные параметры в функцию, либо пометить данные дополнительно после функи
     

    Вложения:

    • TaintSlicer.zip
      Размер файла:
      8,8 КБ
      Просмотров:
      376
    sty и q2e74 нравится это.
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    по сабжу, еще один DBI фреймворк, но уже на базе LLVM: https://qbdi.quarkslab.com/

    ну я о DBI думаю в основном в контексте автоматического динамического анализа малвари, что-то типа cuckoo sandbox с дополнительными обходами pafish и всяких таких вещей... анализировать софт на уязвимость или что-то перехватывать у софта без доступа к его исходникам для меня очень редкая задача...
     
  14. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    sty, зря обиделись на "подождете-созреете", спустя 30 дней со дня старта вашей учетки, откроется подфорум, а сейчас как вы будете искать? Там правда тоже не шибко чего есть, но в какой-то из тем, было обсуждение как запустить код. Кто-то из местных осилил.
    --- Сообщение объединено, 4 фев 2019 ---
    стартовать надо со статей, у Indy_ на сайте есть четыре статьи. Одна как раз про это.
    --- Сообщение объединено, 4 фев 2019 ---
    на этом сайте, на васме.
     
    Последнее редактирование: 4 фев 2019
  15. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    q2e74, а сразу про это нельзя было написать? И небыло бы никаких обид. Я ведь не экстрасенс - мысли чужие читать не умею.

    vx1d, спасибо за скрипт - будем изучать. Небольшое уточнение - а что за плагин?
     
  16. vx1d

    vx1d Member

    Публикаций:
    0
    Регистрация:
    13 дек 2016
    Сообщения:
    118
    в иде несколько движков отладки можно использовать, я использую встроенный windbg_user
     
    sty нравится это.
  17. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    А-а, понял об чём речь :). Еще раз спасибо.
     
  18. Indy_

    Indy_ Well-Known Member

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

    > это имхо уже не серьезно в 2019

    Что бы что то такое собрать на 64 нужна куча кода поддержки, те для любой задачи такой есть на 32. Что бы перейти на 64 придётся вернуться на десятилетие назад и всё реализовать с нуля, имея алгоритмы наработанные в 86(разница в не существенных деталях). Такое провернуть не представляется возможным, так как это всё займёт слишком много времени, при этом мотивов на такое нет - под wow работает 86, а драйвера 64 мне незачем трогать, все задачи нужные решаются в юм.
     
  19. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    именно поэтому надо было изначально кодить на сишечке, или хотя бы на каком-нить бейсике, чтобы не переписывать всю бизнес логику под определенный проц, а иметь набор универсальных алгоритмов, которые при желании можно скомпилить под любую архитектуру... ну а все, для чего по каким-либо необходим асм, кодить либо отдельно на масме/фасме/насме/гасе, либо асемблерными вставками в свой ЯВУ...
    --- Сообщение объединено, 4 фев 2019 ---
    ну тут нужно быть реалистами... рано или поздно придется перестать цепляться за прошлое и принять новые стандарты... wow64 вряд ли куда-то исчезнет в ближайшее время, но касательно твоего чудесного визора, ты же не сможешь им анализировать 64-битное ПО, а его все больше и больше выходит с каждым годом...
    --- Сообщение объединено, 4 фев 2019 ---
    Indy_, на самом деле, мне интересно, чем твой визор лучше или эффективнее или что там? в сравнении с алгоритмами тех же DBI фреймворков?
     
    q2e74 нравится это.
  20. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    Как искать универсальный распоковщик всего на свете, это норм задача. А как автоматизировать (частично, но все же много) из 32 в 64 так это неподъемные десятилетия работы?