Blues
05-05-2013, 09:06 AM
http://gmclan.org/uploader/3899/bmcmc.png
...and mc for all...
This small app remove mutex from Tibia.exe. Work for all version.
Download: http://tibiabluebot.pl
Source:
unit main;
interface
uses
Windows, ShellApi, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, OutlookBtn, MPlayer;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
OutlookBtn1: TOutlookBtn;
Label3: TLabel;
Label4: TLabel;
OpenDialog1: TOpenDialog;
OutlookBtn2: TOutlookBtn;
Memo1: TMemo;
Label5: TLabel;
Timer1: TTimer;
MediaPlayer1: TMediaPlayer;
procedure Label2Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure OutlookBtn1Click(Sender: TObject);
procedure OutlookBtn2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function ReadBiggerFile: AnsiString;
var
i,j:integer;
biggerfile: TFileStream;
newfile: TFileStream;
plik:ansistring;
begin
if form1.Label3.caption='Path' then exit;
biggerfile := TFileStream.Create(form1.label3.caption, fmOpenReadWrite or fmShareDenyNone);
newfile := TFileStream.Create(form1.label3.caption+'_mc.exe', fmCreate); //or fmShareDenyWrite);
try
SetLength(plik, biggerfile.Size);
biggerfile.Read(plik[1], biggerfile.Size);
i:=pos('tibiaplayermutex',LowerCase(plik));
if i>0 then
form1.Memo1.Lines.Add('Mutex found at: $'+inttohex(i,7));
if i=0 then ShowMessage('It''s MC or is not Tibia');
if i=0 then halt;
for j:=0 to 16 do
plik[i+j]:=#0;
i:=pos('enter game',LowerCase(plik));
if i>0 then begin
form1.Memo1.Lines.Add('Enter Game Button found at: $'+inttohex(i,7));
plik[i]:='L';
plik[i+1]:='o';
plik[i+2]:='r';
plik[i+3]:='d';
plik[i+4]:='C';
plik[i+5]:='o';
plik[i+6]:='m';
plik[i+7]:='p';
plik[i+8]:='i';
plik[i+9]:='M';
plik[i+10]:='C';
plik[i+11]:=#0;
plik[i+12]:=#0;
end;
i:=pos('enter preview',LowerCase(plik));
if i>0 then begin
form1.Memo1.Lines.Add('Enter Preview Button found at: $'+inttohex(i,7));
plik[i]:='L';
plik[i+1]:='o';
plik[i+2]:='r';
plik[i+3]:='d';
plik[i+4]:='C';
plik[i+5]:='o';
plik[i+6]:='m';
plik[i+7]:='p';
plik[i+8]:='i';
plik[i+9]:='M';
plik[i+10]:='C';
plik[i+11]:=#0;
plik[i+12]:=#0;
end;
newfile.Write(plik[1], biggerfile.size);
form1.Memo1.Lines.Add('Patched!');
newfile.Free;
finally biggerfile.Free;
end;
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
halt;
end;
procedure TForm1.Label4Click(Sender: TObject);
begin
ShellExecute(Handle,'open',pchar('http://tibiabluebot.pl'),nil,nil,SW_NORMAL);
end;
procedure TForm1.OutlookBtn1Click(Sender: TObject);
begin
if opendialog1.Execute then
Label3.Caption:=opendialog1.FileName;
end;
procedure TForm1.OutlookBtn2Click(Sender: TObject);
var i:integer;
begin
readbiggerfile;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label5.Font.color:=random($ffffff);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
mediaplayer1.FileName:='funkyfanfare.mp3';
mediaplayer1.Open;
mediaplayer1.Play;
end;
end.
...and mc for all...
This small app remove mutex from Tibia.exe. Work for all version.
Download: http://tibiabluebot.pl
Source:
unit main;
interface
uses
Windows, ShellApi, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, OutlookBtn, MPlayer;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
OutlookBtn1: TOutlookBtn;
Label3: TLabel;
Label4: TLabel;
OpenDialog1: TOpenDialog;
OutlookBtn2: TOutlookBtn;
Memo1: TMemo;
Label5: TLabel;
Timer1: TTimer;
MediaPlayer1: TMediaPlayer;
procedure Label2Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure OutlookBtn1Click(Sender: TObject);
procedure OutlookBtn2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function ReadBiggerFile: AnsiString;
var
i,j:integer;
biggerfile: TFileStream;
newfile: TFileStream;
plik:ansistring;
begin
if form1.Label3.caption='Path' then exit;
biggerfile := TFileStream.Create(form1.label3.caption, fmOpenReadWrite or fmShareDenyNone);
newfile := TFileStream.Create(form1.label3.caption+'_mc.exe', fmCreate); //or fmShareDenyWrite);
try
SetLength(plik, biggerfile.Size);
biggerfile.Read(plik[1], biggerfile.Size);
i:=pos('tibiaplayermutex',LowerCase(plik));
if i>0 then
form1.Memo1.Lines.Add('Mutex found at: $'+inttohex(i,7));
if i=0 then ShowMessage('It''s MC or is not Tibia');
if i=0 then halt;
for j:=0 to 16 do
plik[i+j]:=#0;
i:=pos('enter game',LowerCase(plik));
if i>0 then begin
form1.Memo1.Lines.Add('Enter Game Button found at: $'+inttohex(i,7));
plik[i]:='L';
plik[i+1]:='o';
plik[i+2]:='r';
plik[i+3]:='d';
plik[i+4]:='C';
plik[i+5]:='o';
plik[i+6]:='m';
plik[i+7]:='p';
plik[i+8]:='i';
plik[i+9]:='M';
plik[i+10]:='C';
plik[i+11]:=#0;
plik[i+12]:=#0;
end;
i:=pos('enter preview',LowerCase(plik));
if i>0 then begin
form1.Memo1.Lines.Add('Enter Preview Button found at: $'+inttohex(i,7));
plik[i]:='L';
plik[i+1]:='o';
plik[i+2]:='r';
plik[i+3]:='d';
plik[i+4]:='C';
plik[i+5]:='o';
plik[i+6]:='m';
plik[i+7]:='p';
plik[i+8]:='i';
plik[i+9]:='M';
plik[i+10]:='C';
plik[i+11]:=#0;
plik[i+12]:=#0;
end;
newfile.Write(plik[1], biggerfile.size);
form1.Memo1.Lines.Add('Patched!');
newfile.Free;
finally biggerfile.Free;
end;
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
halt;
end;
procedure TForm1.Label4Click(Sender: TObject);
begin
ShellExecute(Handle,'open',pchar('http://tibiabluebot.pl'),nil,nil,SW_NORMAL);
end;
procedure TForm1.OutlookBtn1Click(Sender: TObject);
begin
if opendialog1.Execute then
Label3.Caption:=opendialog1.FileName;
end;
procedure TForm1.OutlookBtn2Click(Sender: TObject);
var i:integer;
begin
readbiggerfile;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label5.Font.color:=random($ffffff);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
mediaplayer1.FileName:='funkyfanfare.mp3';
mediaplayer1.Open;
mediaplayer1.Play;
end;
end.