HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Реверсинг
    Реверсинг. Задай вопрос - получи ответ
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.09.2009, 23:53
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Начало процедуры, как уже заметил zeppe1in, рекспект ему и уважуха по адресу: 0055684C. Брекйпоинт туда и трассируем по F8:

Первый раз мы видим верный серийный номер:
Код:
005568D6  |. 8B55 F0        MOV EDX,DWORD PTR SS:[EBP-10]
Процедура проверки:
Код:
00556908  |. E8 FFF6EAFF    CALL unpacked.0040600C
Проверка условия:
Код:
0055690D  |. 75 63          JNZ SHORT unpacked.00556972
А ниже если не было прыжка мы можем увидеть сохранение в файл верного серийного номера:

Код:
key.ini

[key]
k=*********

Последний раз редактировалось Dosia; 06.09.2009 в 23:58..
 
Ответить с цитированием

  #2  
Старый 07.09.2009, 00:05
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
С нами: 10437270

Репутация: 117
По умолчанию

Dosia, надо было хоть чегонить wolmer'у оставить)
 
Ответить с цитированием

  #3  
Старый 07.09.2009, 18:45
Alex87
Новичок
Регистрация: 29.10.2008
Сообщений: 20
С нами: 9227364

Репутация: 9
По умолчанию

Нужны опкоды MSIL (.NET), нашел 1 сайт, но он китайский http://www.asukaze.net/etc/cil/opcode.html
Есть что-нибудь полнее и хотя-бы на английском?
 
Ответить с цитированием

  #4  
Старый 07.09.2009, 19:23
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

И что с того что китайский, пояснения же на английском
 
Ответить с цитированием

  #5  
Старый 08.09.2009, 20:51
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Dosia, хм... спасибо! а как вы нашли это окно обыкновенное? (искал по слову "JMP.&user32.ShowWindow","ShowWindow" ничего вроде не находило (искал в w32dasm,IDA))
 
Ответить с цитированием

  #6  
Старый 09.09.2009, 10:36
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Хм, все очень просто, после распаковки файла я открыл его олей, после чего нажал "Ctrl-N", таким образом я выполним поиск всех функций импортируемых исполняемым файлом, после чего нашел в этом списке "ShowWindow", не "JMP.&user32.ShowWindow", а именно ShowWindow, адрес в IAT 570A74
 
Ответить с цитированием

  #7  
Старый 09.09.2009, 23:19
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Цитата:
Сообщение от Dosia  
Хм, все очень просто, после распаковки файла я открыл его олей, после чего нажал "Ctrl-N", таким образом я выполним поиск всех функций импортируемых исполняемым файлом, после чего нашел в этом списке "ShowWindow", не "JMP.&user32.ShowWindow", а именно ShowWindow, адрес в IAT 570A74
Это мне понятно вроде

Но меня интересует сам момент как вы подцепили что именно от туда 0055690D проверка идет (т.е. как именно нашли эту проверку (я понимаю что по showwindow но подробней!))(ведь я же не могу всегда тыкать бряки на каждом углу)
 
Ответить с цитированием

  #8  
Старый 10.09.2009, 11:33
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Хороший вопрос, так как декомпилятор нам тут не поможет. Автор данной программы не шифрует строки и это его основная ошибка, именно при поиске строки: "79-81-80", я оказался тут:



Как видиш название файла выдает его с головой =)

Дальше я сходил по обоим адресам ( 556927, 556ACB )куда пушится строка "key.ini". Поставил бряки на начало данных процедур ( 55684C , 556A98 ). Перезапустил программу. Нажал "Старт", оказался по адресу 556A98, очевидно что там программа проверяла наличие файла или че то типо того, я не стал особо изучать процедуру, така как никаких переходов (вообще никаких ;D) я там не увидел, в общем, я протрассировал это процедуру по "F8". Потом - нажал "F9" (RUN). Всплывает форма (как мы уже выяснили в более ранних постах), текст в поле "ID" подозрительно похож на возвращаемое функцией GetVolumeInformation значение ;D, но это так, лирическое отступление, мы вводим что то типа "qwe123", чтобы потом если че посершить память (спорное конечно заявление ;D). Жмем , прерываемся по адресу 55684C. В процедуре всего 2 перехода:
1)
Код:
0055690D     75 63          JNZ SHORT unpacked.00556972
2)
Код:
0055687D  |. 0F84 F9000000  JE unpacked.0055697C
Что мы делаем? мы трассируем процедуру по "F8", первый переход, какой то не понятный, ну и пофик на него, нас то интересует тот, после которого пушится в стек строка "key.ini". Заметьте, сразу после перехода, можно почти со 100% уверенностью сказать, что если перехода не будет - то будет что то интересное. По ходу трассировки этой процедуры до интересующего нас перехода ( 55690D ), как я уже писал можно увидеть настоящий пароль. Переход с адреса 55690D переносит нас по адресу 556972, выше видим безусловный переход ( JMP ), сомнений не остается, переход по адресу 55690D, именно то, что мы искали. Надеюсь теперь все понятно. =)
 
Ответить с цитированием

  #9  
Старый 10.09.2009, 13:32
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Dosia, почему при запуске из OllyDbg у меня не откр программу а выкидывает в отладку модуля kernel32? (в адрес 7C81EB33) (хотя к примеру если запустить крякми из под ollydbg то он запускается нормально)

Цитата:
Автор данной программы не шифрует строки и это его основная ошибка
Что если я столкнусь с программой которая шифрует строки? То как тогда искать эти строки/процедуру проверки?

Последний раз редактировалось wolmer; 10.09.2009 в 13:50..
 
Ответить с цитированием

  #10  
Старый 10.09.2009, 13:41
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Ставить брейкпоинты на GetWindowText, GetDlgItemText ...

Если сообщение - MessageBox

Поиск по памяти.

Также если знаеш что идет сохранение в файл, можно поставить бряки на: CreateFile, WriteFile.

Вообще все зависит от конкретной ситуации =)
Просто надо иметь справочник по функциям API и немного опыта, потому что иногда вызваются специфические функции (VisualBasic - rctMsgBox).

Цитата:
Dosia, почему при запуске из OllyDbg у меня не откр программу а выкидывает в отладку модуля
Хм, затрудняюсь оветить, да и время уже все, мне пора, буду вечером только

Щас zeppe1in еще дополнит =)

Последний раз редактировалось Dosia; 10.09.2009 в 17:56..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с железом. Задай вопрос, получи ответ Alexsize "Железо" 1181 10.06.2010 12:08



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...