Сейчас на форуме: asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Отладка x64 программ
Посл.ответ Сообщение

Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 марта 2010 19:20 · Поправил: Dzher
· Личное сообщение · #1

Здравствуйте. Столкнулся с такой проблемой. Для изучения модуля (библиотеки dll) одной программы использовал дебаггер Olly. Успешно нашел нужные джампы, занопил некоторые команды, в hex редакторе пропатчил соотв. образом длл. Всё ОК, но теперь появилась необходимость тоже самое проделать с дллкой для х64 версии программы. Правильно ли я понимаю, что пропатчить черех hex редактор мне, по аналогии с версией х86, х64 библиотеку не удастся и надо заново проходить процесс отладки в дебаггере? Проблема в том, что я не могу найти удобный и функциональный дебаггер для х64 программ. Изучаю в данный момент WinDbg, но что-то у меня никак не получается выйти из системных дллок после бряка в нужную программу



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 30 марта 2010 20:58
· Личное сообщение · #2

Dzher пишет:
Правильно ли я понимаю, что пропатчить черех hex редактор мне, по аналогии с версией х86, х64 библиотеку не удастся и надо заново проходить процесс отладки в дебаггере?

Не обязательно, зависит конкретно от случая..... что меняешь и на что.

Dzher пишет:
Проблема в том, что я не могу найти удобный и функциональный дебаггер для х64 программ.

IDA




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 марта 2010 21:27
· Личное сообщение · #3

Топиков типа "что есть для реверса в х64" уже хватает, погугли, там основные тулзы описаны, потом выбирай и юзай. Хотя согласен, что софта пока не фонтан.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 марта 2010 22:18
· Личное сообщение · #4

MasterSoft пишет:
Не обязательно, зависит конкретно от случая..... что меняешь и на что.

В принципе, меняю только 2 джампа. Потом в гекс редакторе нахожу нужный оффсет поиском гекс значения, например, 83BE AC000000 00 75 и меняю 75 на EB. Тоже самое найти в дллке х64 не получается. Может ты знаешь какие-то другие варианты?

MasterSoft пишет:
IDA

Не знаю почему, но в Иде данная программа не хочет аттачится. Через WinDbg аттачится без проблем.


Archer пишет:
Топиков типа "что есть для реверса в х64" уже хватает, погугли, там основные тулзы описаны, потом выбирай и юзай. Хотя согласен, что софта пока не фонтан.

Уж поверь, я гуглю уже с неделю. Все что нашел полезного - Fdbg, но он крайне глючный и неудобный.
Вот потому и интересно, как в таких случаях стоит поступать, то есть дллки по функциональности одинаковые, но одна для х86 версии программы, а другая для х64. Может там просто меняются как-то гекс значения команд? Уроков по WinDbg тоже много не нашел, как с бряка вернутся в свою прогу, а не идти гулять по системным дллкам - я так и не понял. В основном нашел объяснения, как юзать WinDbg для анализа crash dumpов.



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 30 марта 2010 22:29
· Личное сообщение · #5

Dzher пишет:
Может ты знаешь какие-то другие варианты?

Ды, просто тупо пербери варианты:
83????0000000075 или 83BEAC????????75 или 83??AC0000000075 ну и т.д. Хотя ИМХО это тупой вариант, не по-крякерски как-то.

Dzher пишет:
Уж поверь, я гуглю уже с неделю.

Ну в таком случае сам всё уже видел и знаешь. От этого топика дебагеры не появятся. Так что придётся обходится тем что есть.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 марта 2010 12:31 · Поправил: Dzher
· Личное сообщение · #6

MasterSoft пишет:
Ды, просто тупо пербери варианты:
83????0000000075 или 83BEAC????????75 или 83??AC0000000075 ну и т.д. Хотя ИМХО это тупой вариант, не по-крякерски как-то.

Эх, перепробовал подобный поиск по маске. Выполнял кучу замен - так ничего и не добился. Буду теперь спрашивать на англоязычных форумах по реверсу. Спасибо за попытку помочь.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 01 апреля 2010 08:51
· Личное сообщение · #7

MasterSoft

ты предлагаешь применять 32-х битные маски к 64-х битному коду?

-----
EnJoy!




Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 апреля 2010 12:35
· Личное сообщение · #8

Jupiter пишет:
ты предлагаешь применять 32-х битные маски к 64-х битному коду?

А как тогда поступать? Все же необходимо выполнить отладку повторную под х64?



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 01 апреля 2010 14:05
· Личное сообщение · #9

Dzher пишет:
А как тогда поступать?

Лучше отладка. Хотя какие то куски можешь попробовать траслировать 64-х битный код



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 апреля 2010 14:23
· Личное сообщение · #10

pavka пишет:
Лучше отладка. Хотя какие то куски можешь попробовать траслировать 64-х битный код

Хм, нашел вот это ref.x86asm.net/ Выходит, что опкоды основных инструкций должны совпадать.
Мда. прийдется всё же разбираться с этим WinDbg. Может кто-то, кто с ним работал подскажет, как после бряка на адресс в памяти вернутся в свою прогу, а не уйти блуждать по системным библиотекам?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 04 апреля 2010 17:04
· Личное сообщение · #11

А по сигнатуре никак не найти? Не по тупой из байтов, а чуть головой подумать, типа привязаться к вызовам апи и тд. А бряк на адрес памяти срабатывает там, где и положено ему. Если читают/пишут из системной либы-стало быть, такова судьба. И виндбг тут не при чём, сиди и тыкай запуск дальше, пока нужное не выпадет.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 апреля 2010 21:00
· Личное сообщение · #12

Archer пишет:
А по сигнатуре никак не найти? Не по тупой из байтов, а чуть головой подумать, типа привязаться к вызовам апи и тд. А бряк на адрес памяти срабатывает там, где и положено ему. Если читают/пишут из системной либы-стало быть, такова судьба. И виндбг тут не при чём, сиди и тыкай запуск дальше, пока нужное не выпадет.

Я уже разобрался. Два вечерка посидел с документацией и гуглом и в итоге всё ок. Windbg очень мощная штука, теперь только им и буду пользоваться И действительно, я бы не нашел эти джампы, ибо в х64 версии они другие .


 eXeL@B —› Вопросы новичков —› Отладка x64 программ
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати