![]() |
eXeL@B —› Вопросы новичков —› Запутался с адресами |
Посл.ответ | Сообщение |
|
Создано: 04 августа 2015 17:05 · Личное сообщение · #1 День добрый, нашел программу необходимую с кряком, решил посмотреть где автор кряка сделал изменения, так для общего развития. Закинул ExamDiff Pro 7 два бинарника, оригинал и крякнутый, закинул в иду оригинал, запутлся что то я с адресами и офсетами. В иде http://i.piccy.info/i9/6933a5a21ec2c22ce635a68cb481287d/1438696175/52326/936211/1.png адрес например одной из инструкций 6С0074 в ExamDiff смотрю нет такого адреса и в помине http://i.piccy.info/i9/8c421826b8c8c118664c566522874be6/1438696183/135171/936211/2.png Подскажите где ошибся? Откуда такая путаница с адресами. Кто то спросит как нашел эту инструкцию, а вверху изменения прога выделяет и это изменение по опкоду jnz это в хексе 75 нашел. ![]() |
|
Создано: 04 августа 2015 17:21 · Личное сообщение · #2 |
|
Создано: 04 августа 2015 18:40 · Поправил: viksabur · Личное сообщение · #3 |
|
Создано: 04 августа 2015 19:08 · Поправил: plutos · Личное сообщение · #4 Во-первых, в правилах форума ясно сказано: Пункт 2: При создании топика в качестве темы указывайте суть вопроса, НЕ надо тем топиков "помогите", "срочно". или "Запутался с адресами" Во-вторых, прежде чем что-то в ИДУ "закидывать", может быть все же почитать теорию, хотя бы основы? ну хотя бы здесь:http://acmvm2.srv.mst.edu/wp-content/uploads/2014/07/PE-Header-Bible.pdf ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 04 августа 2015 19:37 · Личное сообщение · #5 1. Так это и была суть вопроса, запутался с адресацией, никаких помогите, срочно там не было. 2. У меня нет цели стать реверсом номер один и знать все тонкости и нюансы РЕ заголовков и прочее, читал про VA, RVA но все равно не очень понял собственно поэтому и задал вопрос, для этого форумы собственно и существуют. Завязывайте поучать, что читать и где гуглить, есть желание подскажите по сабжу нет, ну проходите мимо. ![]() |
|
Создано: 04 августа 2015 19:43 · Личное сообщение · #6 |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 04 августа 2015 19:53 · Личное сообщение · #7 viksabur На пальцах, поверхностно: Навернож ExamDiff показывает сырые смещения от начала файла. А в случае с IDA Pro, файло грузится по определенному адресу -базе (ImageBase). Для обычного ексешника (грубо говоря), база (ImageBase) всегда будет равна (конечно, это заблуждение, но для нубов сойдет) 0x400000h по дефолту. Т.Е. имеем: Code:
не надо быть гениальным математиком, чтобы из адреса, который в IDA Pro (RVA), вычесть ImageBase и получить сырое смещение, которое можно найти в ExamDiff (первый раз слышу, кстати, за эту прогу). А ВООБЩЕ: Можно было взять OllyDbg и не задавать такие вопросы. IDA Pro там совершенно не нужна. Какие еще вопросы могут быть?! ![]() |
|
Создано: 04 августа 2015 20:15 · Личное сообщение · #8 Сама IDA показывает offset от начала файла, прямо под листингом (типа строка статуса), над горизонтальным скролл-баром... ![]() |
|
Создано: 04 августа 2015 20:18 · Личное сообщение · #9 reversecode пишет: не проще ли взять тогда нормальный diff-asm Нормальный это какой, можно ссылки или ссылку ELF_7719116 пишет: Для обычного ексешника (грубо говоря), база (ImageBase) всегда будет равна (конечно, это заблуждение, но для нубов сойдет) 0x400000h по дефолту Как проверить ImageBase экзешника не для нюбов что бы, что бы наверняка знать, загрузить в любой РЕ редактор и посмотреть значение, или в иде или ольке как то можно проще? ![]() |
|
Создано: 04 августа 2015 20:33 · Поправил: LinXP · Личное сообщение · #10 viksabur пишет: В иде http://i.piccy.info/i9/6933a5a21ec2c22ce635a68cb481287d/1438696175/52326/936211/1.png адрес например одной из инструкций 6С0074 в ExamDiff смотрю нет такого адреса неудачно ты картинку подрезал, смотри внимательней: http://i.piccy.info/i9/8c396a56047d85c4d3583f541517d685/1438709427/10497/936314/ida.png viksabur пишет: Кто то спросит как нашел эту инструкцию дык не трудно: сравнить два бинарника, прыгнуть в иде на нужное смещение: Jump > Jump to file offset... ![]() |
|
Создано: 04 августа 2015 20:38 · Поправил: UniSoft · Личное сообщение · #11 viksabur пишет: любой РЕ редактор в любом PE редакторе обычно есть конвертер... CFF Explorer VIII (http://www.ntcore.com/) так и называется Address Converter... PE Tools - кнопочка FLC (File Location Calculator)... и т.д. LinXP пишет: http://i.piccy.info/i9/8c396a56047d85c4d3583f541517d685/1438709427/10497/936314/ida.png RVA - offset = ImageBase ну это же далеко не так, проверьте это утверждение на своем же скриншоте ;) может все таки VA - RVA = ImageBase? (а offset вовсе не равен RVA для нормализованного PE) ELF_7719116 пишет: ImageBase + сырое смещение = RVA и тут все совсем как-то не так... VA - ImageBase = RVA уже ввели... ![]() |
|
Создано: 04 августа 2015 21:05 · Поправил: viksabur · Личное сообщение · #12 Спасибо всем кто помог на практике разобраться. По ImageBase вопрос, решил посчитать его, что имеем RVA = 6c0074 Offset = 2bf474 соответственно ImageBase = 400с00 Если взять любой РЕ редактор и посмотреть РЕ заголовок нашего файла пишет, что ImageBase = 400000h Ну явно 400с00 не 400000 Добавлено спустя 1 час 14 минут UniSoft оказался прав всех правых)) Внизу у иды в нижней строке offset и VA, а не RVA. RVA еще высчитать нужно, не сложно или в PE Tools или руками RVA = VА – Image Base = 2с0074, соответсвенно если захотим узнать какой Image Base точно, а не для нюбов, как выше понтился (с понтом какие еще вопросы могут быть?!) ELF_7719116 Image Base = VA - RVA = 400000h, теперь все сходится. Спасибо еще раз UniSoft. ![]() |
|
Создано: 04 августа 2015 22:26 · Личное сообщение · #13 |
![]() |
eXeL@B —› Вопросы новичков —› Запутался с адресами |