Сейчас на форуме: tyns777, zds, JustLife (+3 невидимых)

 eXeL@B —› Программирование —› Как написать патч к программе на delphi?
Посл.ответ Сообщение

Ранг: 40.4 (посетитель), 3thx
Активность: 0.080
Статус: Участник

Создано: 10 января 2010 21:19
· Личное сообщение · #1

Собственно, у меня вопрос. Вот я нашел прогу, заюзал, взломал. А как создать патч к этой проге? Ну чтоб он находил сам exe-шник программы и изменял там пару строк асм-кода? Ведь создают же кучу патчей типа "crack - патч". Кодирую на Делфях. Кто знает ,заранее всем спасибо.



Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 10 января 2010 21:24
· Личное сообщение · #2

ZLOvar пишет:
Кодирую на Делфях.


сомневаюсь что кодируете, иначе бы не возникало вопроса как сделать патчер

для ленивых и незнающих есть автоматические патч генераторы



Ранг: 40.4 (посетитель), 3thx
Активность: 0.080
Статус: Участник

Создано: 10 января 2010 21:25
· Личное сообщение · #3

__
А поподробнее?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 10 января 2010 21:29 · Поправил: Coderess
· Личное сообщение · #4

Находишь адрес в отладчике переводишь его из VA в RAW (Физический адрес, адрес на диске)
с помощью File Location Calculator (FLC - который имеется в наличии PE Tools)
и используешь комбинацию API функций CreateFile/SetFilePointer/ReadFile/WriteFile/CloseHandle
У гуру было много исходников на разных языках патчей,трейнеров,кейгенов

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 10 января 2010 21:30 · Поправил: Sunzer
· Личное сообщение · #5

Вообще топ должен быть в вопросах для новичков.
На дельфях тоже все просто.

CreateFileA\SetFilePointer\WriteFile\CloseHandle.

В атаче патч мейкер простой.

add: 2 Coderess связку апи одинаковую прямо написали я опоздал чуть чуть

be2e_10.01.2010_CRACKLAB.rU.tgz - PatchEngine.exe




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 10 января 2010 21:30
· Личное сообщение · #6

diablo2oo2.di.funpic.de/dup.htm



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 10 января 2010 21:33
· Личное сообщение · #7

Code:
  1. procedure PatchFile(Address: Cardinal; Bytes: Byte);
  2. var
  3.   F        : File of Byte;
  4.   ChW      : Char;
  5.   ChR      : Char;
  6. begin
  7.   inc(i);
  8.   AssignFile(F, FileName);
  9.   Reset(F);
  10.   Seek(F, Address);
  11.   BlockRead(F, ChR, 1);
  12.   Seek(F, Address);
  13.   ChW:=Char(Bytes);
  14.   BlockWrite(F, ChW, 1);
  15.   CloseFile(F);
  16. end;


-----
xchg dword [eax], eax




Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 10 января 2010 21:41
· Личное сообщение · #8

как вариант можно файл маппинг юзать с FILE_MAP_WRITE, заодно
и CRC32/MD5 удобно проверить перед патчем



Ранг: 40.4 (посетитель), 3thx
Активность: 0.080
Статус: Участник

Создано: 10 января 2010 21:42 · Поправил: ZLOvar
· Личное сообщение · #9

Всем спасибо! Пока что остановился на использовании автоматического патч генератора.
Void
Большое спасибо за код!




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 10 января 2010 21:59
· Личное сообщение · #10

ZLOvar
Если нужна будет помощь, стучи в аську

-----
Research For Food




Ранг: 61.4 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 10 января 2010 22:26
· Личное сообщение · #11

void пишет:
  Seek(F, Address);  BlockRead(F, ChR, 1);

зачем?



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 10 января 2010 22:37
· Личное сообщение · #12

ZLOvar пишет:
Собственно, у меня вопрос. Вот я нашел прогу, заюзал, взломал.


ZLOvar пишет:
Ведь создают же кучу патчей типа "crack - патч". Кодирую на Делфях.



ZLOvar пишет:
Всем спасибо! Пока что остановился на использовании автоматического патч генератора



В свете вышеозначенного любопытно:
1) Сам взломал или крэком, типа который патч?
2) Или пару строк в диалоговом окне поменял хексредактором?

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 25.3 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 10 января 2010 22:44
· Личное сообщение · #13

\n0name пишет:
зачем?

по идее после этих строк должна идти проверка соответствия прочитанного блока и блока, который нужно патчить.
Хотя, может там лежит более глубокий философский смысл



Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 10 января 2010 23:02 · Поправил: -=Hellsing=-
· Личное сообщение · #14

ZLOvar пишет:
Собственно, у меня вопрос. Вот я нашел прогу, заюзал, взломал. А как создать патч к этой проге? Ну чтоб он находил сам exe-шник программы и изменял там пару строк асм-кода? Ведь создают же кучу патчей типа "crack - патч". Кодирую на Делфях. Кто знает ,заранее всем спасибо.

Лучше всего сделать path на Ассемблере вот лови исходники моего патча на Ассемблере.
[Проект патча для RadASM masm sourcecode]




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 10 января 2010 23:16
· Личное сообщение · #15

-=Hellsing=- пишет:
Лучше всего сделать path на Ассемблере

да, если он его знает, а человек ясно дал знать что ему нужно

-----
Лучше быть одиноким, но свободным © $me





Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 11 января 2010 08:32 · Поправил: Runtime_err0r
· Личное сообщение · #16

ZLOvar
Вот тут всё есть http://www.exelab.ru/f/action=vthread&forum=2&topic=2653
Ну и поиск по форуму

Но главный вопрос - зачем ? При нынешних скоростях интернета проще Cracked.EXE выложить




Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 11 января 2010 12:31
· Личное сообщение · #17

__ пишет:
-=Hellsing=- пишет:Лучше всего сделать path на Ассемблере А почему лучше на "Ассемблере"? Это круто типа?


Размер к примеру экономим, а так в принципе все равно. Можно и на си.



Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 11 января 2010 13:16
· Личное сообщение · #18

Sunzer пишет:
Размер к примеру экономим


Почти уверен что множество ламеров на асме сделают по размеру больше чем если
правильно писать на С




Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 11 января 2010 14:49
· Личное сообщение · #19

Sunzer
Можно и на Delphi + KOL наваять biocyborg.narod.ru/rev/KOLforCRK.htm



Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 11 января 2010 15:03
· Личное сообщение · #20

Runtime_err0r пишет:
и на Delphi + KOL


Дети при слове KOL пугаются , так что лучше без него.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 11 января 2010 16:07
· Личное сообщение · #21

Runtime_err0r пишет:
Можно и на Delphi + KOL

На винапи надежнее всетаки

-----
xchg dword [eax], eax





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 11 января 2010 19:01
· Личное сообщение · #22

Закрыт флудотоп.


 eXeL@B —› Программирование —› Как написать патч к программе на delphi?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати