C++ #include "windows.h"
int main(int argc, char* argv[])
{
char JmpByte[] = "xeb";
HANDLE hFile;
DWORD iByteWrt = 0;
printf("Crack for CDRWin v5.01 - 5.02 by Over G[DWC Gr0up] ");
hFile=CreateFile("cdrwin5.exe",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
SetFilePointer(hFile,0x3D99,NULL,0); //Смещение на 003D99
WriteFile(hFile, JmpByte, 1, &iByteWrt, NULL); //Пишем байт EB по адресу 003D99
SetFilePointer(hFile,0x18871,NULL,0); //Смещение на 0018871
WriteFile(hFile, JmpByte, 1, &iByteWrt, NULL); //Пишем байт EB по адресу 0018871
CloseHandle(hFile); //Закрываем файл
printf("File Successfull cracked!");
return 0;
}
ASM:
.386
.model flat,stdcall
option casemap:none
include masm32includewindows.inc
include masm32includeuser32.inc
include masm32includekernel32.inc
includelib masm32libuser32.lib
includelib masm32libkernel32.lib
.data
AppName db "Crack for CDRWin v5.01 - 5.02 by Over G[DWC Gr0up]",0
isOK db " File successfull cracked!",0
CrkPrg db "cdrwin5.exe",0
JmpByte db 0EBh
.data?
hFile HANDLE ?
hWnd HANDLE ?
SizeWrite DWORD ?
.code
start:
invoke MessageBox,hWnd,ADDR AppName,ADDR AppName,64
invoke CreateFile,ADDR CrkPrg,GENERIC_WRITE, FILE_SHARE_WRITE, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,NULL
mov hFile,eax
invoke SetFilePointer,hFile,03D99h,NULL,0 //Смещение на 003D99
invoke WriteFile,hFile,ADDR JmpByte,1,ADDR SizeWrite,NULL //Пишем байт EB по адресу 003D99
invoke SetFilePointer,hFile,018871h,NULL,0 //Смещение на 0018871
invoke WriteFile,hFile,ADDR JmpByte,1,ADDR SizeWrite,NULL //Пишем байт EB по адресу 0018871
invoke CloseHandle,hFile
invoke MessageBox,hWnd,ADDR isOK,ADDR AppName,64
ret
end start