Сейчас на форуме: _MBK_, vsv1, ut2004 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› PATCH!
Посл.ответ Сообщение

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

Создано: 02 марта 2007 05:12
· Личное сообщение · #1

Как написать программу-патч на делфи



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 02 марта 2007 05:35
· Личное сообщение · #2

А смысл? юзай DUP, там уже все сделано!

Смысл везде простой открыть файл перейти на смещение и поменять байты, после чего закрыть файл!

Если возникнут еще вопросы, то См. справку по Win API



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 02 марта 2007 06:00
· Личное сообщение · #3

RSI пишет:
А смысл? юзай DUP, там уже все сделано!

Не над0. Пусть учится, а не юзает г0т0в0е.
Юзай TFileStream. А ваще п0гугль х0р0шеньк0.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 02 марта 2007 06:46
· Личное сообщение · #4

sniperZ пишет:
Юзай TFileStream.


юзай апи лучше...
PE:=CreateFile(PChar(F_PEFilePath),GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or
FILE_SHARE_WRITE,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);

CreateFileMapping(PE, nil,PAGE_READWRITE, 0, MEMSZ, nil);
MEMPTR:=MapViewOfFile(FM,FILE_MAP_ALL_ACCESS, 0, 0, MEMSZ);

и понеслась)))

-----
[nice coder and reverser]




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 02 марта 2007 10:49 · Поправил: sniperZ
· Личное сообщение · #5

Hellspawn пишет:
юзай апи лучше...

.Я знаю, чт0 эт0 лучше. Н0 если аффтар задаёт такие глупые в0пр0сы, т0 пусть с TFileStream начинает.
В0пр0с0в будет меньше задавать.



Ранг: -6.8 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 02 марта 2007 13:35
· Личное сообщение · #6

Link[3D] Вот пример без оболочки:


program cdrwincrk;
{$APPTYPE CONSOLE}
uses Windows;

var iByteWrt:Cardinal;
hFile:THandle;
const JmpByte:integer=$EB;

Begin
Writeln('Crack for CDRWin v5.01 - 5.02 by Over G[DWC Gr0up]');
hFile:=CreateFile('cdrwin5.exe', GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
SetFilePointer(hFile, $3D99, nil, 0); //Смещение на 003D99
WriteFile(hFile, JmpByte, 1, iByteWrt, nil); //Пишем байт $EB по адресу 003D99
SetFilePointer(hFile, $18871, nil, 0); //Смещение на 0018871
WriteFile(hFile, JmpByte, 1, iByteWrt, nil); //Пишем байт $EB по адресу 0018871
CloseHandle(hFile);//Закрываем файл
Writeln('File Successfull cracked!'+#13#10+'Press ENTER to exit');
Readln;
End.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 03 марта 2007 01:06
· Личное сообщение · #7

N0iD пишет:
const JmpByte:integer=$EB;

гык, тогда уж
const JmpByte:byte=$EB;

-----
Yann Tiersen best and do not fuck



 eXeL@B —› Вопросы новичков —› PATCH!
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати