| Сейчас на форуме: 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 —› Крэки, обсуждения —› первые шаги в иследовании | 














Разве кто-то еще пользуется этим дерьмом ? Если всмотреться в дистриб, то можно увидеть юзердб и пеид, который давно устарел и экзеинфо пе от 12 года + кучу фунок оно не перехватывает и песочницы многие протекторы палят, так что без подготовки они вам и не помогут, а может и вообще не помогут.Да и перехват - это для ленивых, у которых глаз на одном месте.Другое дело, когда тьма кода.Ах да.Забыл про вес.У апи монитора дистриб в два раза меньше, а BSA привязан к функционалу Sandboxie, а значит не может быть портабельным никак, в отличие от первого.
 Для печати