محلی که این تابع صدا زده شده را پیدا کنید و کلا CALL مربوطه را NOP کنید
البته این روش پیشنهاد نمیشه ، چون روشی اصولی نیست و در اکثر مواقع ممکنه عملکرد برنامه را خراب کنه. ولی تو این مورد بزنید بترکونید ، چیزی که خراب نمیشه ، ضرری هم به کسی نمیرسه :)
اگه فیلم بزارم ، شاید هیچ وقت براتون سوالی پیش نیاد....
امروز بر خلاف همیشه تصمیم گرفته بودم آموزش بدم ، الانم حواسم نبود ساعت 12 شب رد شده باید برگردم به اخلاق قبلی ( سیندرلا بازی :))))
چون این چیزها مثل یک چاقو هست ، اگه بدی دست بچه ، هم دست خودشو میبره هم ممکنه بزنه یکی را بکشه .... نمونه اش چند صفحه قبل بخونید چطور باافتخار زحمات یک تولید کننده ( جمع آوری کننده حتی ) یک لحظه بر باد رفته ....
کرک و علمش هم میتونه خوب باشه و 100 برابر میتونه خطرناک و کاری باشه کثیف در حدی که ممکنه اگه کسی عقل و درکش را نداشته باشه به راحتی تمام زحمات چندین ماهه یک برنامه نویس را به باد بده و یک خانواده را از نون خوردن بندازه.... خطرش اینه.
توی ایران هم اینجور آدمها با این طرز تفکر کم نیستند....
سورس عمومی این کرک می بدون یونیتهایی که مربوط به توابع آنتی کرک هستند ولی به صورت کلی تمام مراحل مشخص شده اند :
حتی وقتی میرسید به تایع GetFileSize حتما خندتون میگیره که چرا بااینکه 2-3 روز پیش توی انجمن نوشتمش ، امروز به یاد و فکرش نبودید که اینو بعد از انپک چک کنید :)))
کد:
unit Unit1;
// این سورس فقط 2تا روتینش بدلایل امنیتی حذف شده است :) بقیه چیزها سرجاشه
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ANTI,MagicApihook, VCLUAC,SHEllAPI;
type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
Timer2: TTimer;
Timer3: TTimer;
UACManifest1: TUACManifest;
Button1: TButton;
Button2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
PUB:String;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption :='Age Mitoni in Matno Avaz kon';
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if Label1.Caption<>'Age Mitoni in Matno Avaz kon' then
begin
Form1.Create(Self);
end;
end;
procedure TForm1.Timer3Timer(Sender: TObject);
var
HREG :Thandle;
begin
HREG := FindWindow(nil,Pchar('DeDe 3.50.02 (c) 1999-2002 by DaFixer'));
if hREG<>0 then PostMessage(hReg,WM_CLOSE,0,0);
if Label1.Caption<>'Age Mitoni in Matno Avaz kon' then
begin
Application.Terminate;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i,j:integer;
S2,S:string;
PID,Cnt: DWORD;
F: THandle;
size:Longint;
hFile: Thandle;
ACTIVE_THREAD;
try
hFile := CreateFileA( pchar(paramstr(0)) , GENERIC_READ ,
FILE_SHARE_READ , nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if( hFile <> INVALID_HANDLE_VALUE ) then
begin
Size :=GetFileSize(hfile,nil);
end;
CloseHandle(hFile);
// if size <> then Application.Terminate;
if size >199996 then Application.Terminate;
except
end;
PID:=GetCurrentProcessID;
F:=CreateFileA(Pchar(MagicApihook.GetPath(Paramstr(0))+'PID.dat'),GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if F=INVALID_HANDLE_VALUE then
begin
// MessageBox(0,'Can not Create ProcessID file...','Error...',MB_ICONERROR);
Exit;
end;
WriteFile(F,PID,SizeOf(PID),Cnt,nil);
CloseHandle(F);
DeleteFile('PID.dat');
DebugPrivilege(False);
for i:=0 to 250 do
begin
S:= S+Label1.Caption;
end;
for i:=0 to 50 do
begin
S:= S+Label1.Caption;
S2 :='Age Mitoni in Matno Avaz kon';
end;
for i:=0 to 150 do
begin
S:= S+Label1.Caption;
S2 :='Age Mitoni in Matno Avaz kon';
Label1.Caption := S2;
PUB := S2;
end;
for i:=0 to 450 do
begin
S:= S+Label1.Caption;
S2 :='Age Mitoni in Matno Avaz kon';
end;
Anti_CRACKER();
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute( GetDesktopWindow,pchar('open'),pchar('http://forum.iranled.com/showthread.php?tid=15462&page=4'),nil,nil,1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
AddDebugPrivilage;
AntiProcDump;
antidebug;
AntiSoftIce;
AntiAttach();
Fuck_DBG();
Check_Phantom1();
Check_Phantom2();
DBGDetect();
AntiAttach;
BLOK_KEY;
end;
end.