eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Патчер для крекми #1 от Fantom'a
Посл.ответ Сообщение

Ранг: 0.3 (гость)
Статус: Участник

Создано: 23 июля 2013 23:24 · Поправил: Max Payne New!
Цитата · Личное сообщение · #1

Всем привет. Захотелось написать патчер к crackme для тренировки взял первый crackme Fantom'a простенький но дело тут вовсе не в сложности самого crackme, а в написании кода патчера. Вот скрин из отладчика:

А вот код патчера (яп - делфи):
Code:
  1. program Patch;
  2.  
  3. uses
  4.   SysUtils, Windows;
  5.  
  6. var
  7.   f: file of Byte;
  8.   cw: Char;
  9. begin
  10.   AssignFile(f, 'CRACKME1.EXE');
  11. {$I-}Reset(f);
  12. {$I+}if IOResult <> 0 then
  13.     raise Exception.Create('File not found')
  14.   else
  15.   begin
  16.     CopyFile('CRACKME1.EXE', 'CRACKME1.EXE.BAK', True);
  17.     Seek(f, $00401299);
  18.     cw := Char($EB);
  19.     BlockWrite(f, cw, 1);
  20.     CloseFile(f);
  21.   end;
  22. end.

Само собой не работает Подскажите может ошибки какие допустил (ясно дело они есть раз не работает). Может кто предложит использовать API функции знаю знаю но и на этих же должно работать. Спасибо.


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2013 23:39 New!
Цитата · Личное сообщение · #2

Max Payne пишет:
$00401299

Это Virtual Address. А ф-ия Seek работает с оффсетом. Тебе нужно преобразовать VA to Offset.

| Сообщение посчитали полезным: Max Payne


Ранг: 0.3 (гость)
Статус: Участник

Создано: 23 июля 2013 23:56 New!
Цитата · Личное сообщение · #3

Не сочти за дерзость, но пролей свет на вышесказанное или может знаешь где почитать.


Ранг: 518.5 (!)
Статус: Участник
Победитель турнира 2010

Создано: 24 июля 2013 00:07 New!
Цитата · Личное сообщение · #4

--> Link <--

| Сообщение посчитали полезным: DenCoder, plutos, Abraham



Ранг: 521.6 (!)
Статус: Участник
_Вечный_Студент_

Создано: 24 июля 2013 03:03 New!
Цитата · Личное сообщение · #5

File Offset = RVA - Section Virtual Offset + Section Raw Offset

| Сообщение посчитали полезным: ARCHANGEL

 eXeL@B —› Вопросы новичков —› Патчер для крекми #1 от Fantom'a

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS