eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: anmolodtsov (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› первые шаги в иследовании
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 1.6 (гость)
Статус: Участник

Создано: 22 сентября 2015 17:58 New!
Цитата · Личное сообщение · #1

нашел старенькую програмку, можно ее не выкладывать?
пробую дебажить через олю.

есть два поля, похожих на TEdit и кнопка.
хочу при чтении с TEdit что бы срабатывал бряк.

ставлю на GetWindowsTextA и GetDlgltemTextA
не срабатывают.
как еще можно пробовать ловить чтение текста?

как можно попробовать поймать нажатие кнопки?

спасибо.

Ранг: 2.6 (гость)
Статус: Участник

Создано: 22 сентября 2015 18:11 · Поправил: 22 сентября 2015 18:41 ProstoAndreyX New!
Цитата · Личное сообщение · #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


Ранг: 33.8 (посетитель)
Статус: Участник

Создано: 22 сентября 2015 19:31 New!
Цитата · Личное сообщение · #3

exec85

На чем написано ? Чем упаковано ? Как проявляются признаки незарегености ?
Может проще найти каку строку типа незарег ?
Ну и в личку брось ссылку, я сейчас более-менее свободен, полного солюшена не дам, подсказку подскажу возможно


Ранг: 140.5 (ветеран)
Статус: Участник

Создано: 22 сентября 2015 19:56 New!
Цитата · Личное сообщение · #4

exec85 пишет:
два поля, похожих на TEdit

А мож это и есть TEdit? Если дельфи ковыряешь, то там все контролы на своих внутренних классах работают, а винапи используют только чтобы цикл сообщений крутить. В этом случае IDR должен помочь.

Ранг: 1.6 (гость)
Статус: Участник

Создано: 22 сентября 2015 20:20 New!
Цитата · Личное сообщение · #5

ProstoAndreyX
Спасибо. Попробую.

dimka_new
Не смотрел на чем написано, просто приатачился. Спасибо за помощь! Я хочу сам разобраться. Хочу сам дойти. Много чего читал, смотрел надо разложить по полочкам ну и по набираться опыту. А для этого нужна практика.
Я пока не сдался.

-=AkaBOSS=-
Ну это в программировании tedit, не что бы визуально было понятно о чем речь. Не факто что делфи или борланд.

Вопросы:
Имеет ли различее приатачился ли я, или запускаю прогу из оли?

Ставлю бряк, запускаю, бряк не сработал, нажимаю на паузу, потом стартую, прога рушится. Что это означает? Анти дебажные механизмы?

| Сообщение посчитали полезным: ProstoAndreyX


Ранг: 20.5 (новичок)
Статус: Участник

Создано: 22 сентября 2015 21:11 New!
Цитата · Личное сообщение · #6

exec85 пишет:
Имеет ли различее приатачился ли я, или запускаю прогу из оли?

Вообще attach нужен в узкоспециализированных случаях, напрмер, когда происходит необрабатываемое исключение (ввиду багов) в уже работающей проге (не обязательно с какой либо защитой) и нужно быстро прибыть на место для выяснения обстоятельств. Для этого винда даже назначает сама отладчик в прикладном уровне (в опциях OllyDbg можно назначить дефолтным отладчиком винды). Короче главный смысл - когда начальный старт программы без отладчика проморгали, а теперь надо срочно прицепиться.
По дефолту, всегда стартуют сразу из под отладчика.

exec85 пишет:
, нажимаю на паузу

Чтобы воскресить прогу после паузы нужны руки и везение. Там по-моему нельзя сразу стартовать, трайсингом(force) нужно убедиться в отсутствии системных исключений (обычно по доступу к страницам).
Насчет бряка: Смотря вообще, куда ты бряк поставил? И какого типа бряк? Может там просто управление не передается

Ранг: 1.6 (гость)
Статус: Участник

Создано: 23 сентября 2015 09:29 New!
Цитата · Личное сообщение · #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

ошибка в потоке? я так понимаю....
программа при старте по умолчанию начинает слушать порт, логично это делать в потоке.
так же, можно наблюдать визуально, что логи начинают сыпаться не сразу а через какое то время. это время наверно и есть время открытия потока.

ишем где отключить поток?
или выбираем атач в нужном месте???

второй вариант мне больше нравится... остановливаемся на нем?

Ранг: 226.2 (наставник)
Статус: Участник

Создано: 23 сентября 2015 10:00 New!
Цитата · Личное сообщение · #8

exec85 пишет:
ага, в низу оля пишет:
Thread 00000464 terminated, exit code 1

ошибка в потоке? я так понимаю....

Почему ошибка? Просто push 1, call ExitProcess

Ранг: 1.6 (гость)
Статус: Участник

Создано: 23 сентября 2015 11:03 New!
Цитата · Личное сообщение · #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 ? по умолчанию она же ищес в аски?

Ранг: 2.6 (гость)
Статус: Участник

Создано: 23 сентября 2015 12:03 New!
Цитата · Личное сообщение · #10

Суть API-это какая-то подпрограмма в системной(или нет)DLL.
Как остановишься в DLL,ищёшь RETN и переходишь к основому exe.
Дальше ставишь бряки(если надо),чуть выше того где остановился,на условных прыжках
или CALL.
Чтобы найти место проверки.
Ну и меняешь условия прыжков\смотришь в какой из CALL происходит проверка.

Добавлено спустя 8 минут
Ну и саму API,в системной dll патчить не стоит.
Как текст найти:переводишь текст из ASCII в HEX
http://www.asciitohex.com/
и ищёшь прямо в памяти,чем угодно-хоть WinHex.
А так OllyDbg умеет текст сама искать,Search for=>All referenced strings.

Ранг: 226.2 (наставник)
Статус: Участник

Создано: 23 сентября 2015 12:35 New!
Цитата · Личное сообщение · #11

| Сообщение посчитали полезным: gov_777, unknownproject, Mishar_Hacker, ClockMan, -=AkaBOSS=-


Ранг: 1.6 (гость)
Статус: Участник

Создано: 23 сентября 2015 14:06 New!
Цитата · Личное сообщение · #12

а как понять что за функция должна быть вызвана:
7C809AC1 E8 4B8AFFFF CALL kernel32.7C802511
оля ничего не подсказывает.. но мне кажится что это что то системное.. а почему названия нету?

Ранг: 488.4 (мудрец)
Статус: Участник

Создано: 23 сентября 2015 15:33 New!
Цитата · Личное сообщение · #13

exec85 а в пути кормить никто не обещал. попробуй другую сборку ольки. а во вторых.. это подфунка.. она не экспортируется.. следовательно имени нету >>>>7C809AC1<<< E8 4B8AFFFF CALL kernel32.7C802511
это ты уже в системной длл.. подымайся на уровень высше.. в адресное пространство твоей проги

Добавлено спустя 2 минуты
ProstoAndreyX пишет:
Я лично использую Buster Sandbox Analyzer.
Ставишь сначала Sandboxie,потом Buster,запускаешь анализ в Buster'е и потом программу в Sandboxie.
И он отмечает все API's которые программа
использует+какие файлы создаёт,к каким сайтам обращается и т.д
....
весьма интересный подход.. чет не задумывался никогда использовать это в таком разрезе.. спасибо

| Сообщение посчитали полезным: ProstoAndreyX


Ранг: 6.0 (гость)
Статус: Участник

Создано: 23 сентября 2015 23:57 New!
Цитата · Личное сообщение · #14

ProstoAndreyX пишет:
Ставишь сначала Sandboxie,потом Buster,запускаешь анализ в Buster'е и потом программу в Sandboxie.

Расскажите, пожалуйста, как поставить этот плагин Buster ? Указываю в нем папку для анализу, он выдает ошибку http://www.floomby.ru/s2/qUFcFd

Ранг: 1.6 (гость)
Статус: Участник

Создано: 24 сентября 2015 00:05 New!
Цитата · Личное сообщение · #15

Сейчас я как пионер, глазами анализирую код, пытаюсь понять а не за этим ли колом скрывается заветный цмп. Самое интересное что путь от нажатия кнопки до заветного окна, перед которым то что я ищу, мне уже кажется безконечным.
Некоторые моменты конечно попадаются интересные, то как например в памяти собиралась строка, и эта строка искалась в названиях открытых окон. Или вызов функции работы с реестром происходил через ret. Но трассировка в ручную начинает напрягать. Как можно ее хотя бы чуток автоматизировать?
Точнее я скажу так, я не могу понять какую комбинацию, или условие, или последовательность я ищу. В уроках все просто три сосны, одна вперед, две назад, если и щас не видешь, то смотри лучше еще разок. А у меня кода так сказать и "соли" до чертиков. Может я уже что то и проглядел. Уф заного пересматривать тяжело.
Поделитесь логикой, схемотехникой! Что ловят сначала, потом, потом, потом? Наверняка есть хитрый прием.
Вот думаю, можно бряк поставить если какая то определенная строка скажем в регистре появится, точнее ссылка на строку?

Ранг: 6.0 (гость)
Статус: Участник

Создано: 24 сентября 2015 00:14 · Поправил: 24 сентября 2015 00:16 mazaxak New!
Цитата · Личное сообщение · #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

Ранг: 2.5 (гость)
Статус: Участник

Создано: 24 сентября 2015 00:46 New!
Цитата · Личное сообщение · #17

Да, интересная штука. На 10-ке шуршит...

Добавлено спустя 1 час 5 минут
mazaxakМожешь скинуть ссыль на этот крекми? Заинтриговала эта пара утилит. У меня ини-файл немного другой. Интересно глянуть.

Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 24 сентября 2015 05:20 · Поправил: 24 сентября 2015 05:22 unknownproject New!
Цитата · Личное сообщение · #18

mazaxak пишет:
Прога заработала, но выводит в лог не все апи функции, вот запускаю крекми, а в логе нет messageboxa, хотя в крекми она есть.

У --> Api monitor<-- намного больше возможностей, к тому же там можно выбрать перехват функций в контексте приложения, чтобы избежать детекта той же антиотладкой.
Пример взлома ПО с файлом лицензии, лимитированным по времени -> --> Link <--.
Buster Sandbox Analyzer давно не обновляется и содержит в себе устаревшие инструменты.Давно им как-то пользовался, когда малвари ковырял.

| Сообщение посчитали полезным: gov_777


Ранг: 2.5 (гость)
Статус: Участник

Создано: 24 сентября 2015 06:42 New!
Цитата · Личное сообщение · #19

Мне так и показалось сразу, что это очень упрощенный апимонитор

Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 24 сентября 2015 10:08 · Поправил: 24 сентября 2015 10:08 unknownproject New!
Цитата · Личное сообщение · #20

Скорее расширение для Sandboxie.Да и он мало поможет, если защита спалит песочницу и/или виртуалку (смотря откуда пускать) или вообще работает в обход нее.

Ранг: 6.0 (гость)
Статус: Участник

Создано: 24 сентября 2015 11:41 New!
Цитата · Личное сообщение · #21

gov_777, http://my-files.ru/k7jicn держи крекми)

Ранг: 1.6 (гость)
Статус: Участник

Создано: 24 сентября 2015 12:20 · Поправил: 24 сентября 2015 12:25 exec85 New!
Цитата · Личное сообщение · #22

Code:
  1. 00F8A97F    FF15 4473FE00   CALL NEAR DS:[FE7344]                    ; kernel32.GetTickCount
  2. 00F8A985    8945 F8         MOV SS:[EBP-8],EAX
  3. 00F8A988    6A 00           PUSH 0
  4. 00F8A98A    8B4D F0         MOV ECX,SS:[EBP-10]
  5. 00F8A98D    E8 DEFFFFFF     CALL 00F8A970
  6. 00F8A992    0FB6C0          MOVZX EAX,AL
  7. 00F8A995    85C0            TEST EAX,EAX
  8. 00F8A997    74 04           JE SHORT 00F8A99D
  9. 00F8A999    B0 01           MOV AL,1
  10. 00F8A99B    EB 6A           JMP SHORT 00F8AA07
  11. 00F8A99D    6A 01           PUSH 1
  12. 00F8A99F    FF15 4873FE00   CALL NEAR DS:[FE7348]                    ; kernel32.Sleep
  13. 00F8A9A5    FF15 4473FE00   CALL NEAR DS:[FE7344]                    ; kernel32.GetTickCount
  14. 00F8A9AB    2B45 F8         SUB EAX,SS:[EBP-8]
  15. 00F8A9AE    3B45 08         CMP EAX,SS:[EBP+8]
  16. 00F8A9B1  ^ 72 D5           JB SHORT 00F8A988

анти отладочный прием? засекается время выполнения кода? время приходит в EAX ? тоесть это время надо сохранить?
а функция Sleep что замораживает???

Ранг: 2.6 (гость)
Статус: Участник

Создано: 24 сентября 2015 12:47 New!
Цитата · Личное сообщение · #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 у меня нет в конфиге.

Ранг: 6.0 (гость)
Статус: Участник

Создано: 24 сентября 2015 13:08 New!
Цитата · Личное сообщение · #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

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

Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 24 сентября 2015 13:17 · Поправил: 24 сентября 2015 13:31 unknownproject New!
Цитата · Личное сообщение · #25

ProstoAndreyX пишет:
всякие рег-мониторы

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

Не отрисовывается варнинг пикча.Функция не заполняется всеми аргументами, потому и фэйл.Как минимум не все экспорты user32 хукаются, а их порядочно.Нет никакого смысла в возне с мониторингом, когда достаточно одного отладчика.

Ранг: 6.0 (гость)
Статус: Участник

Создано: 24 сентября 2015 13:37 New!
Цитата · Личное сообщение · #26

unknownproject пишет:
Разве кто-то еще пользуется этим дерьмом ?

Да вот тот кстати Апи монитор по-моему тоже лучше всего для этого подходит.

| Сообщение посчитали полезным: gov_777


Ранг: 1.6 (гость)
Статус: Участник

Создано: 24 сентября 2015 14:42 · Поправил: 24 сентября 2015 14:46 exec85 New!
Цитата · Личное сообщение · #27

https://yadi.sk/d/MDUUWWcjjHuZK

сдался...
с чего начинать? что ловить?

Ранг: 2.5 (гость)
Статус: Участник

Создано: 24 сентября 2015 15:05 New!
Цитата · Личное сообщение · #28

Набор распаковщиков Armadillo

Ранг: 1.6 (гость)
Статус: Участник

Создано: 24 сентября 2015 16:03 · Поправил: 24 сентября 2015 16:19 exec85 New!
Цитата · Личное сообщение · #29

ага
ArmaG3ddon 1.9
расшифровал...
создал два файла name.exe и name_.exe
какая в них разница? какой дальше смотреть?

хелп к прогие видел, так и не понял что имеется ввиду.

они оба исполняемы?

Ранг: 2.5 (гость)
Статус: Участник

Создано: 24 сентября 2015 16:35 New!
Цитата · Личное сообщение · #30

exec85 пишет:
расшифровал...

Интересно глянуть на распакованный SyslogWatcherPro.exe
. 1 . 2 . 3 . >>
 eXeL@B —› Крэки, обсуждения —› первые шаги в иследовании

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS