Сейчас на форуме: Magister Yoda, vasilevradislav (+4 невидимых) |
eXeL@B —› Крэки, обсуждения —› первые шаги в иследовании |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 22 сентября 2015 17:58 · Личное сообщение · #1 нашел старенькую програмку, можно ее не выкладывать? пробую дебажить через олю. есть два поля, похожих на TEdit и кнопка. хочу при чтении с TEdit что бы срабатывал бряк. ставлю на GetWindowsTextA и GetDlgltemTextA не срабатывают. как еще можно пробовать ловить чтение текста? как можно попробовать поймать нажатие кнопки? спасибо. |
|
Создано: 22 сентября 2015 18:11 · Поправил: ProstoAndreyX · Личное сообщение · #2 Я лично использую Buster Sandbox Analyzer. Ставишь сначала Sandboxie,потом Buster,запускаешь анализ в Buster'е и потом программу в Sandboxie. И он отмечает все API's которые программа использует+какие файлы создаёт,к каким сайтам обращается и т.д И ищёшь по времени(когда кнопку регистрации жмёшь)или по списку просто. Сайт Buster'а:http://bsa.isoftware.nl/ Сайт Sandboxie:www.sandboxie.com Установка в Sandboxie(нажми Installation and usage на сайте). P.S Всё абсолютно бесплатно. Добавлено спустя 30 минут Это к тому,что нельзя составить список API-подходящий ко всем программ. А Buster,неплохой универсальный способ API найти. | Сообщение посчитали полезным: gov_777, VodoleY |
|
Создано: 22 сентября 2015 19:31 · Личное сообщение · #3 |
|
Создано: 22 сентября 2015 19:56 · Личное сообщение · #4 |
|
Создано: 22 сентября 2015 20:20 · Личное сообщение · #5 ProstoAndreyX Спасибо. Попробую. dimka_new Не смотрел на чем написано, просто приатачился. Спасибо за помощь! Я хочу сам разобраться. Хочу сам дойти. Много чего читал, смотрел надо разложить по полочкам ну и по набираться опыту. А для этого нужна практика. Я пока не сдался. -=AkaBOSS=- Ну это в программировании tedit, не что бы визуально было понятно о чем речь. Не факто что делфи или борланд. Вопросы: Имеет ли различее приатачился ли я, или запускаю прогу из оли? Ставлю бряк, запускаю, бряк не сработал, нажимаю на паузу, потом стартую, прога рушится. Что это означает? Анти дебажные механизмы? | Сообщение посчитали полезным: ProstoAndreyX |
|
Создано: 22 сентября 2015 21:11 · Личное сообщение · #6 exec85 пишет: Имеет ли различее приатачился ли я, или запускаю прогу из оли? Вообще attach нужен в узкоспециализированных случаях, напрмер, когда происходит необрабатываемое исключение (ввиду багов) в уже работающей проге (не обязательно с какой либо защитой) и нужно быстро прибыть на место для выяснения обстоятельств. Для этого винда даже назначает сама отладчик в прикладном уровне (в опциях OllyDbg можно назначить дефолтным отладчиком винды). Короче главный смысл - когда начальный старт программы без отладчика проморгали, а теперь надо срочно прицепиться. По дефолту, всегда стартуют сразу из под отладчика. exec85 пишет: , нажимаю на паузу Чтобы воскресить прогу после паузы нужны руки и везение. Там по-моему нельзя сразу стартовать, трайсингом(force) нужно убедиться в отсутствии системных исключений (обычно по доступу к страницам). Насчет бряка: Смотря вообще, куда ты бряк поставил? И какого типа бряк? Может там просто управление не передается |
|
Создано: 23 сентября 2015 09:29 · Личное сообщение · #7 открываю олю, программу. нажимаю плэй на оле. программа рушится. винда выдает окно: отправить отчет об ошибке. крепкий орешик попался! в программе анти отладка? пора раскрывать по тихоньку карты... вообшем эта программка, сислогер, которая слушает 514:udp, небольшая. но цель оказалась коварной. я не сдаюсь! анализ через RDG detector показал что написана microsoft visual c ++ версия нет. возможно armadillo deteccion heuristica externak scan dll: armadillo v6.0x (public build) Injector (Detecciyn heuristica) я бы сказал что мне кроме вижуал си остальные слова не знакомы... какой должна быть логика моих дальнейших действий? Добавлено спустя 15 минут ага, в низу оля пишет: Thread 00000464 terminated, exit code 1 ошибка в потоке? я так понимаю.... программа при старте по умолчанию начинает слушать порт, логично это делать в потоке. так же, можно наблюдать визуально, что логи начинают сыпаться не сразу а через какое то время. это время наверно и есть время открытия потока. ишем где отключить поток? или выбираем атач в нужном месте??? второй вариант мне больше нравится... остановливаемся на нем? |
|
Создано: 23 сентября 2015 10:00 · Личное сообщение · #8 |
|
Создано: 23 сентября 2015 11:03 · Личное сообщение · #9 при атачился. ага, сработала bp ShowWindows стек: 0012DD4C 00463E05 /CALL to ShowWindow from NameProg.00463DFF 0012DD50 001201A2 |hWnd = 001201A2 ('Name Prog',class='#32770',parent=001201FC) 0012DD54 00000001 \ShowState = SW_SHOWNORMAL 0012DD58 00466EB5 RETURN to NameProg.00466EB5 from NameProg.00463DF2 место остановки: 7E37AF56 > B8 2B120000 MOV EAX,122B правильно я понимаю что останов произошел внутри функции? и адрес 00463E05 это то место от куда мы прыгнули? по сути мне надо вернуться назад. что бы оглядеться. это как то оля умеет? или нажать ->| ну тоесть выскочить за call-ом? по сути эта функция ShowWindows, если ее испонить, для меня же безопасна? Добавлено спустя 36 минут ура, зацепился. вопрос вчем разница между GetDlgItemTextW и GetDlgItemTextA ? Добавлено спустя 42 минуты правильно я понимаю GetDlgItemTextW текст будет в utf8 (дух байтовый) или не факт что utf8 ? ну и логичный вопрос как олю научить искать текс в utf8 ? по умолчанию она же ищес в аски? |
|
Создано: 23 сентября 2015 12:03 · Личное сообщение · #10 Суть API-это какая-то подпрограмма в системной(или нет)DLL. Как остановишься в DLL,ищёшь RETN и переходишь к основому exe. Дальше ставишь бряки(если надо),чуть выше того где остановился,на условных прыжках или CALL. Чтобы найти место проверки. Ну и меняешь условия прыжков\смотришь в какой из CALL происходит проверка. Добавлено спустя 8 минут Ну и саму API,в системной dll патчить не стоит. Как текст найти:переводишь текст из ASCII в HEX http://www.asciitohex.com/ и ищёшь прямо в памяти,чем угодно-хоть WinHex. А так OllyDbg умеет текст сама искать,Search for=>All referenced strings. |
|
Создано: 23 сентября 2015 12:35 · Личное сообщение · #11 |
|
Создано: 23 сентября 2015 14:06 · Личное сообщение · #12 |
|
Создано: 23 сентября 2015 15:33 · Личное сообщение · #13 exec85 а в пути кормить никто не обещал. попробуй другую сборку ольки. а во вторых.. это подфунка.. она не экспортируется.. следовательно имени нету >>>>7C809AC1<<< E8 4B8AFFFF CALL kernel32.7C802511 это ты уже в системной длл.. подымайся на уровень высше.. в адресное пространство твоей проги Добавлено спустя 2 минуты ProstoAndreyX пишет: Я лично использую Buster Sandbox Analyzer. Ставишь сначала Sandboxie,потом Buster,запускаешь анализ в Buster'е и потом программу в Sandboxie. И он отмечает все API's которые программа использует+какие файлы создаёт,к каким сайтам обращается и т.д .... весьма интересный подход.. чет не задумывался никогда использовать это в таком разрезе.. спасибо ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... | Сообщение посчитали полезным: ProstoAndreyX |
|
Создано: 23 сентября 2015 23:57 · Личное сообщение · #14 |
|
Создано: 24 сентября 2015 00:05 · Личное сообщение · #15 Сейчас я как пионер, глазами анализирую код, пытаюсь понять а не за этим ли колом скрывается заветный цмп. Самое интересное что путь от нажатия кнопки до заветного окна, перед которым то что я ищу, мне уже кажется безконечным. Некоторые моменты конечно попадаются интересные, то как например в памяти собиралась строка, и эта строка искалась в названиях открытых окон. Или вызов функции работы с реестром происходил через ret. Но трассировка в ручную начинает напрягать. Как можно ее хотя бы чуток автоматизировать? Точнее я скажу так, я не могу понять какую комбинацию, или условие, или последовательность я ищу. В уроках все просто три сосны, одна вперед, две назад, если и щас не видешь, то смотри лучше еще разок. А у меня кода так сказать и "соли" до чертиков. Может я уже что то и проглядел. Уф заного пересматривать тяжело. Поделитесь логикой, схемотехникой! Что ловят сначала, потом, потом, потом? Наверняка есть хитрый прием. Вот думаю, можно бряк поставить если какая то определенная строка скажем в регистре появится, точнее ссылка на строку? |
|
Создано: 24 сентября 2015 00:14 · Поправил: mazaxak · Личное сообщение · #16 Прога заработала, но выводит в лог не все апи функции, вот запускаю крекми, а в логе нет messageboxa, хотя в крекми она есть. Вот скрин Файл настроек: [BSA] InjectDll=C:\Program Files\Sandboxie\Buster Sandbox Analyzer\LOG_API\LOG_API32_VERBOSE.DLL OpenWinClass=TFormBSA Enabled=y ConfigLevel=7 BoxNameTitle=n BorderColor=#0000FF NotifyInternetAccessDenied=y Template=BlockPorts NotifyDirectDiskAccess=y ProcessLimit1=20 ProcessLimit2=30 |
|
Создано: 24 сентября 2015 00:46 · Личное сообщение · #17 |
|
Создано: 24 сентября 2015 05:20 · Поправил: unknownproject · Личное сообщение · #18 mazaxak пишет: Прога заработала, но выводит в лог не все апи функции, вот запускаю крекми, а в логе нет messageboxa, хотя в крекми она есть. У Пример взлома ПО с файлом лицензии, лимитированным по времени -> Buster Sandbox Analyzer давно не обновляется и содержит в себе устаревшие инструменты.Давно им как-то пользовался, когда малвари ковырял. ----- TEST YOUR MIGHT | Сообщение посчитали полезным: gov_777 |
|
Создано: 24 сентября 2015 06:42 · Личное сообщение · #19 |
|
Создано: 24 сентября 2015 10:08 · Поправил: unknownproject · Личное сообщение · #20 |
|
Создано: 24 сентября 2015 11:41 · Личное сообщение · #21 |
|
Создано: 24 сентября 2015 12:20 · Поправил: exec85 · Личное сообщение · #22 Code:
анти отладочный прием? засекается время выполнения кода? время приходит в EAX ? тоесть это время надо сохранить? а функция Sleep что замораживает??? |
|
Создано: 24 сентября 2015 12:47 · Личное сообщение · #23 exec85 пишет: анти отладочный прием? засекается время выполнения кода? время приходит в EAX ? тоесть это время надо сохранить? а функция Sleep что замораживает??? Описание API's: Функция GetTickCount извлекает число миллисекунд, которые истекли с тех пор как система была запущена Sleep останавливает выполнение программы на определенное время.Процедура Sleep не является функцией и не возвращает значение. И это не антиотладка! Но что бы быть уверенным,можно поставить бряк на JE и изменить флаг-посмотреть что измениться. Наверняка ничего. Добавлено спустя 8 минут unknownproject пишет: Buster Sandbox Analyzer давно не обновляется и содержит в себе устаревшие инструменты.Давно им как-то пользовался, когда малвари ковырял. Устаревшие?Хм..всё прекрасно работает. Заменяет кучу утилит,всякие рег-мониторы\API-мониторы и снифер. mazaxak пишет: InjectDll=C:\Program Files\Sandboxie\Buster Sandbox Analyzer\LOG_API\LOG_API32_VERBOSE.DLL OpenWinClass=TFormBSA Enabled=y ConfigLevel=7 BoxNameTitle=n BorderColor=#0000FF NotifyInternetAccessDenied=y Template=BlockPorts NotifyDirectDiskAccess=y ProcessLimit1=20 ProcessLimit2=30 InjectDll=C:\Program Files\Buster Sandbox Analyzer\LOG_API\LOG_API32.DLL InjectDll=C:\Program Files\Buster Sandbox Analyzer\LOG_API\LOG_API32_VERBOSE.DLL Одной dll'ки не хватает!И ProcessLimit у меня нет в конфиге. |
|
Создано: 24 сентября 2015 13:08 · Личное сообщение · #24 ProstoAndreyX, сделал так. [BSA] InjectDll=C:\Program Files\Sandboxie\Buster Sandbox Analyzer\LOG_API\LOG_API32_VERBOSE.DLL InjectDll=C:\Program Files\Sandboxie\Buster Sandbox Analyzer\LOG_API\LOG_API32.DLL OpenWinClass=TFormBSA Enabled=y ConfigLevel=7 BoxNameTitle=n BorderColor=#0000FF NotifyInternetAccessDenied=y Template=BlockPorts NotifyDirectDiskAccess=y Но все равно в лог попадает куча разных апи, а функций считывания серийника и месагбокса нету. |
|
Создано: 24 сентября 2015 13:17 · Поправил: unknownproject · Личное сообщение · #25 ProstoAndreyX пишет: всякие рег-мониторы Разве кто-то еще пользуется этим дерьмом ? Если всмотреться в дистриб, то можно увидеть юзердб и пеид, который давно устарел и экзеинфо пе от 12 года + кучу фунок оно не перехватывает и песочницы многие протекторы палят, так что без подготовки они вам и не помогут, а может и вообще не помогут.Да и перехват - это для ленивых, у которых глаз на одном месте.Другое дело, когда тьма кода.Ах да.Забыл про вес.У апи монитора дистриб в два раза меньше, а BSA привязан к функционалу Sandboxie, а значит не может быть портабельным никак, в отличие от первого. mazaxak пишет: месагбокса нету Не отрисовывается варнинг пикча.Функция не заполняется всеми аргументами, потому и фэйл.Как минимум не все экспорты user32 хукаются, а их порядочно.Нет никакого смысла в возне с мониторингом, когда достаточно одного отладчика. ----- TEST YOUR MIGHT |
|
Создано: 24 сентября 2015 13:37 · Личное сообщение · #26 unknownproject пишет: Разве кто-то еще пользуется этим дерьмом ? Да вот тот кстати Апи монитор по-моему тоже лучше всего для этого подходит. | Сообщение посчитали полезным: gov_777 |
|
Создано: 24 сентября 2015 14:42 · Поправил: exec85 · Личное сообщение · #27 |
|
Создано: 24 сентября 2015 15:05 · Личное сообщение · #28 |
|
Создано: 24 сентября 2015 16:03 · Поправил: exec85 · Личное сообщение · #29 |
|
Создано: 24 сентября 2015 16:35 · Личное сообщение · #30 |
. 1 . 2 . 3 . >> |
eXeL@B —› Крэки, обсуждения —› первые шаги в иследовании |