Như vậy bạn đã crack xong game TypeSHARK ver 1.00 của Popcap.. Thật chất đó là một chương trình tạo ra để làm thay cracker dùng crack phần mềm.. Khi một cracker crack xong một soft, chẳn
Trang 1text:004A4070 mov al, bl < - Lưu ý
.text:004A4072 pop ebx
.text:004A4073 call loc_4EE297
.text:004A4078 mov esp, ebp
.text:004A407A pop ebp
.text:004A407B retn 8 < - vệt sáng nằm ngay đây
Khi đó, AL=0 (vì chưa đăng ký hay đăng ký sai) Nhìn lên trên 1 xíu, ta thấy tại vị trí 4A4070 chứa mã lệnh mov al,bl
Như vậy, ta có thể thay đổi lệnh này sau cho giá trị của AL luôn là 1
> đổi từ mov al,bl sang mov al,01
>byte: 8A C3 sang B0 01
4 Crack tập tin WinTS:
Trong IDA, nhảy tới vị trí lệnh 4A4070, nhìn vào thanh status bar nằm ở dưới, ta thấy có 2 số :
+ 4A4070 : là vị trí lệnh trong chương trình
+ A4070 : là vị trí của lệnh trong tập tin
Mở HexWorkshop lên, nạp tập tin WinTS.exe vào, gõ Ctrl-G, chọn Hex, gõ vào A4070
HexWorkshop sẽ chuyển tới vị trí này Nhấn TAB để con nháy nằm bên phần có số Hex và gõ vào B001
Nhấn Ctrl-S để save lại
Như vậy bạn đã crack xong game TypeSHARK ver 1.00 của Popcap
IV Viết Patch Generator bằng ngôn ngữ C và Pascal
_Patch gen là gì? Thật chất đó là một chương trình tạo ra để làm thay cracker dùng crack phần mềm Khi một cracker crack xong một soft, chẳng lẽ khi cài lại phần mềm đó một lần nữa lại phải hì hục ngồi crack lại Rất bất tiện Vì lẽ đó patch gen ra đời Trên thế giới hiện có rât nhiều Patch Gen được viết sẵn cho cracker Một vài patch gen nổi tiếng có thể kể ra như Code Fusion, Patch Engine, DZA patcher,Tola's PG, File Patcher v/v Nhưng tại sao chúng ta phải dùng của họ mà không tự viết một cái để xài nhỉ He he nghe qua thì hơi phức tạp nhưng thật sự thì cũng có gì khó mấy nếu bạn có một chút kinh nghiệm lập
Trang 2trình về ngôn ngữ C, Pascal, Delphi, Vb, VC, MASM32 v/v Cái quan trọng nhất là bạn phải nắm rõ được " Kiểu File" Vì Patch Gen được viết chủ yếu hoạt động trên kiểu này :d
_Sau đây là hai Patch Gen mà tôi thường sử dụng nhất Patch Gen bằng ngôn ngữ Pascal là tôi chế biến từ Patch gen của NVH(c)
1.Patch Gen bằng pascal (Patch gen để crack Mirc 603)
uses crt;
const
offset1=$000C5A48; {Địa chỉ offset cần crack}
var
ch:char;
procedure patch(location:longint);
var
F:file of byte;
x:array[0 1]of byte; {Số byte cần crack}
begin
{$I-}
Assign(F,'mirc.exe'); {gán tên file cần crack}
Reset(F); {Mở file vừa gán để đọc }
{$I+}
If Ioresult<>0 then { Nếu tìm không thấy file}
Trang 3Begin
clrscr;
textcolor(lightgreen);
Writeln;Writeln;
Writeln('Ban Phai Chay File Crack Trong Thu Muc Co Chua File Can CraCk !');
Readln;
End Else {nguoc lai}
Seek(F,location);
x[0]:=$75; {Giá trị cần đổi của file crack}
Write(F,x[0]);{Ghi lên file}
Close(F); { Đóng file}
End;
Begin
Clrscr;
textcolor(lightgreen);
Writeln(' by hacnho from VCT ');
Textcolor(white);
Gotoxy(10,9);
Writeln('Ban hay nhan phim P de Patch, Phim bat ky de thoat:');
Trang 4Ch:=Readkey;
If(ch='p')or(ch='P')then
begin
patch(offset1);
Writeln;Writeln;Writeln;
Gotoxy(17,15);Writeln('mIRC603 PaTcH successful !');
Gotoxy(17,17);Writeln('***** More CRaCk, please contact me at *****'); Gotoxy(20,18); Writeln;
Gotoxy(20,19); Writeln('*************************************'); Gotoxy(20,20); Writeln('* E-Mail : tommy9982@yahoo.com *');
Gotoxy(20,21); Writeln('* YIM : tommy9982 *');
Gotoxy(20,22); Writeln('* http://www.vietcracks.com *');
Gotoxy(20,23); Writeln('*************************************'); Readln;
end
else Exit
end
2.Patch Gen bằng C
#include <stdio.h>
#define EXEfile "mirc.exe" /* Tên file cần crack */
Trang 5#define off1 0x000C5A48/* Địa chỉ offset cần crack */
#define progver "mIRC 603" /* Tên chương trình đang crack */
int crackit(long int location, FILE *tocrack)
{
unsigned char x[1]; /* Số bytes cần patch */
fseek(tocrack,location, SEEK_SET);
x[0] = 0x75; /*Giá trị cần đổi của file crack */
fwrite(x,1,tocrack);
return 0;
}
void throwbanner()
{
printf("\n\n");
printf(" %s crack\n\n",progver);
printf(" by\n\n\n");
printf(" by hacnho from VCT\n\n\n");
}
void waitforenter()
{
char wait[1024];
printf("\nPress enter to continue\n");
gets(wait);
}
void anylastnotes()
{
printf("\nNow start up mIRC 603, choose \"Options\", then \"Registration
\"" );
printf("\nEnter whatever you want for your name and reg number and now you\n");
Trang 6printf("are regged.\n\n");
}
int main(){
FILE *part1;
throwbanner();
part1 = fopen(EXEfile, "r+");
if (part1 == NULL)
{
printf("%s could not be opened! Are you running this crack in the
same\n",EXEfile);
printf("directory as %s, and are you sure %s isn't already
\n",EXEfile,EXEfile);
printf("loaded into memory?\n");
waitforenter();
exit(1);
}
crackit(off1,part1);
fclose(part1);
printf("\nPatch sucessfull! \n\n");
waitforenter();
anylastnotes();
waitforenter();
return 0;
}
-
VI.Lời Kết
_Thế là chúng ta đã đi hết 8 phần đầu tiên của "How to become a cracker" Đáng lẽ tôi đã viết xong Phần Hai "Cracker! Who are You" Nhưng nghĩ đi nghĩ lại thấy rằng nếu viết tut dạy crack nữa thì anh em sẽ nói nhàm, cho nên hacnho
Trang 7quyết định không viết tut dạng này nữa mà sẽ viết từng tut một cho từng soft Thí dụ đối với soft IconToy thì sẽ có tut Icontoy Tôi sẽ không hướng dẫn tràn lan nữa mà sẽ gói gọn trong từng tut một để các bạn tiện theo dõi và học hỏi Xuyên suốt những tut sắp tới đây sẽ có đầy đủ các dạng của crack như Patch, Tìm Serial, make loader, Unpacking, Make keygen v/v Cũng sẽ có những tut nước ngoài tôi sưu tầm về cho anh em đọc tham khảo Dĩ nhiên là bằng Anh Ngữ Để tạo hấp dẫn tôi sẽ viết một số crack me hoặc download về sau đó
upload để anh em mình cùng crack cho vui để học hỏi thêm một số cách mã hoá
và nâng cao tay nghề
_Các tut sẽ được tôi post trong Topic " Tut by member "
-
Bài viết của hacnho
(Xin vui lòng để lại dòng này khi bạn trích dẫn- Chân thành cảm ơn)
-The End
<<< =[Back]= [[<<