Посл.ответ |
Сообщение |
Ранг: 0.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 24 августа 2006 01:47 · Личное сообщение · #1
Объясните пожалуйста, как можно програмным способом изменить онин (или более) байт в программе?
| Сообщение посчитали полезным: |
|
Ранг: 123.7 (ветеран) Активность: 0.1↘0 Статус: Участник 1nn0$/100
|
Создано: 24 августа 2006 02:31 · Личное сообщение · #2
korasik ну например открыть файл с возможностью записи, дойти до нужного байта, записать нужное значение, закрыть файл...
----- Blame the victim! | Сообщение посчитали полезным: |
Ранг: 301.4 (мудрец), 194thx Активность: 0.17↘0.01 Статус: Участник
|
Создано: 24 августа 2006 09:42 · Личное сообщение · #3
Опиши точнее свой вопрос.... если в памяти надо прогу поправить, то ReadProcess, а если сам ехе, то можно например _lopen,_lwrite
| Сообщение посчитали полезным: |
Ранг: 3.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 24 августа 2006 17:10 · Личное сообщение · #4
reversing.kulichki.com/files/patch/cogen.rar
Вот тебе патчегенератор.
Он генерит исходник на асме, за одно и разберёшься...
| Сообщение посчитали полезным: |
![](img/s6.gif) Ранг: 279.1 (наставник) Активность: 0.16↘0 Статус: Участник wizard
|
Создано: 01 сентября 2006 18:49 · Личное сообщение · #5
А HIEV начто,класная прога!!!Для небольших изменений самое то,конечно если знаеш где и начто изменить.Он есть на этом сайте (СКАЧАТЬ \ Инструменты крэкера\hiew 7.10)
----- Что один человек сделал , другой всегда сломать может... | Сообщение посчитали полезным: |
Ранг: 36.9 (посетитель) Активность: 0.05↘0 Статус: Участник
|
Создано: 02 сентября 2006 01:05 · Личное сообщение · #6
MACKLIA пишет:
А HIEV начто,класная прога!!!Для небольших изменений самое то,конечно если знаеш где и начто изменить.Он есть на этом сайте (СКАЧАТЬ \ Инструменты крэкера\hiew 7.10)
Ему похоже нужно было изменять эти байты из своей проги, а не какими-то инструментами..
| Сообщение посчитали полезным: |
Ранг: 2.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 02 сентября 2006 02:52 · Личное сообщение · #7
Берешь WinHex, в отладчике ищешь последовательность байт, которую надо менять, грузишь прогу в WinHex, ищешь эту последовательность, меняешь байтик (выделив его и нажав нужную букву/цифру на клавиатурке), сохраняешь в файле с расширением EXE. Усе...
| Сообщение посчитали полезным: |
Ранг: 15.6 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 02 сентября 2006 09:37 · Личное сообщение · #8
C помощью CreateFile открываешь нужный тебе exe'шник с флагом GENERIC_WRITE. Далее, с помощью функции SetFilePointer переходишь на нужный адрес. После перехода с помощью WriteFile пишешь в файл нужные тебе байты после чего CloseHandle, чтобы закрыть файл.
| Сообщение посчитали полезным: |
Ранг: 2.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 03 сентября 2006 01:44 · Личное сообщение · #9
[norwed], а ведь с HEX-редакторами куда проще.
| Сообщение посчитали полезным: |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 03 сентября 2006 03:32 · Личное сообщение · #10
RS_Briz пишет:
а ведь с HEX-редакторами куда про
Тов. korasik думал, что есть функция Записать(куда,откуда,сколько). Его наверное щука с"ела
| Сообщение посчитали полезным: |
Ранг: 15.6 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 04 сентября 2006 02:51 · Личное сообщение · #11
RS_Briz
korasik пишет:
как можно програмным способом
Прочитай ещё раз вопрос.
| Сообщение посчитали полезным: |
Ранг: 3.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 10 сентября 2006 13:01 · Личное сообщение · #12
korasik
а ты не можешь выложить прогу и обьяснить конкретно в чем дело ?
| Сообщение посчитали полезным: |
Ранг: 15.6 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 11 сентября 2006 05:13 · Личное сообщение · #13
FrOsT_CG, прочитай вопрос. Зачем тебе прога? Тебя спрашивают как сделать патч!
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 18 сентября 2006 06:50 · Личное сообщение · #14
Объясните пожалуйста, как можно програмным способом изменить онин (или более) байт в программе?
korasik
Отвечаю чёико на поставленный вопрос:
MOV BYTE PTR [XXXXXXXX],01
где ХХХХХХХХ - адрес, покотрому надо записать байт, а 01 - новое значение байта, но может быть другим
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
Ранг: 9.9 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 20 сентября 2006 11:58 · Личное сообщение · #15
Delphi:
procedure TfrmMain.btnPatchClick(Sender: TObject);
var
inFstr: string;
inF: file;
buf: byte;
begin
inFstr:='c:\windows\system32\C_866.NLS';
if FileExists(inFstr) then
begin
AssignFile(inF,inFstr);
Reset(inF,1);
Seek(inF,$828);
BlockRead(inF, buf, 1);
if Buf=$3F then
begin
buf:=$49;
Seek(inF,$828);
BlockWrite(inF, buf, 1);
end;
CloseFile(inF);
MessageDlg('Исправление успешно завершено!',
mtInformation,[mbOk],0);
close;
end
else
begin
MessageDlg('Ошибка исправления. Возможно вы используете операционную систему класса Win9x',
mtError,[mbOK],0);
exit;
end;
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 20 сентября 2006 12:15 · Личное сообщение · #16
st_slayer пишет:
MessageDlg('Ошибка исправления. Возможно вы используете операционную систему класса Win9x',
mtError,[mbOK],0);
помоему не к чему так пользовотеля пугать) лучше просто сказать, дескать файл занят, писать в него нельзя
----- [nice coder and reverser] | Сообщение посчитали полезным: |