| Посл.ответ | 
Сообщение | 
 Ранг: 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
 Вот тебе патчегенератор.
 Он генерит исходник на асме, за одно и разберёшься...
   | Сообщение посчитали полезным:  | 
  Ранг: 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, прочитай вопрос. Зачем тебе прога? Тебя спрашивают как сделать патч!
   | Сообщение посчитали полезным:   | 
  Ранг: 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;
   | Сообщение посчитали полезным:   | 
  Ранг: 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]  | Сообщение посчитали полезным:   |