задача стояла простая: залезть в прогу и слегка изменить возможности.
установил IDA, дизассемблировал, а потом из этого создал файл с++. внес все необходимые изменения и хочу просто откомпиллировать этот файл. установил wxDev-C++ так он какой-то проект создает.
просто скомпиллировать можно полученный с++ код?
пишите в личку, пожалуйста
29 января 2010 в 21:05
кругом одни идиоты…
29 января 2010 в 21:02
а что уже olly dbg отпал…одну блин инструкцию исправить – проблему нашёл…
29 января 2010 в 18:02
Так ты не литералы команд смотри, а код… jmp короче, чем jle. Остальное можно попробовать забит NOPами.. А там уж как повезёт.
29 января 2010 в 17:05
>> бинарник в текстовом файле открываем?
блин… HVIEW наример для этого есть… но я вообще то имел в виду самостоятельно написанную программу которая откроет, пропатчит и закрое файл. Между прочим 3 строчки кода, не считая прототипа main и заголовков файлов в include
29 января 2010 в 17:05
text:0047CF37 jle short loc_47CF50
вот строчка из иды
jle нужно на jmp заменить… но это ведь ассемблер…
ща посмотрим
29 января 2010 в 17:04
место исправления четко нашел
но в IDA не могу исправить, поэтому всевдо код сделал
посоветуйте как действовать, пожалуйста
29 января 2010 в 17:04
ну как.. в бинарнике тоже место нашел по смешению.. и пропатчил пару байт (ну или не пару.. сколько нужно, но так чтобы окуратно ничего не испортить – там баланс стека или еще что то).
29 января 2010 в 17:04
как внести небольшие изменения в программу?
мне нужно из условного джампа сделать безусловный, в принципе все
29 января 2010 в 17:04
… приехали…
берем бинарник… открываем его на запись, перемешаемся на место где нужно пропатчить 1 байт (предварительно вычислив значение смешения от начала файла в IDA) и записываем на его место нужное значение команды.. закрываем бинарник. Собственнно все.
29 января 2010 в 17:04
эммм
это набор слов…
бинарник в текстовом файле открываем?
29 января 2010 в 17:04
Мда.. ТС! По Вам башорг скучает!
Вперёд на wasm.ru, и учиться-учиться-учиться..
29 января 2010 в 17:03
м-да.. Гладны через Ж… вот что получилось.
IDA нужна только для дизасемблирования и понимания алгоритма, никто и нигде не скажет что даже асемблерный код сгенерированный IDA будет 100% работоспособный, а вы уже на С++ замахиваетесь.
Изучил код, подправил в бинарном файле вот ивсе дела.. если места мало – тогда извращатся прийдется – всякими там переходами. Все в общем зависит от конкретного случая… и не забыть еще контрольную сумму файла подправить после этого.