[Release]Code für Defusespeedhack in Delphi/Pascal

08/25/2010 20:57 aитhʁax#1
#removed
08/25/2010 21:04 -[T]ige[R]-#2
Quote:
Originally Posted by Anthrox1337 View Post
Hi,
da ich aufgehört habe Crossfire zu spielen,(Oder nur noch selten spiele)
mache ich nun meinen Hack-Sourcecode public. Den Hack habe ich selbst programmiert.(Mit ein Hilfe von einem Kollegen)
Bitte keine Kommentare wie "geht nicht", oder ähnliches.
Der Hack enthält keine aktuellen Offsets und funktioniert deshalb auch nicht.
Mit aktuellen Offsets geht er perfekt.
Also hier ist der Link:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...](Virustotal geht grade nicht, deshalb bei Jotti)

MfG Anthrox
was kann der alles?
08/25/2010 21:20 aитhʁax#3
Quote:
Originally Posted by [L33D]StRiK3r View Post
was kann der alles?
Wenn du das richtige Offset drin hast kannst du einstellen wie schnell du defusen möchtest.
Dazu veränderst du in der Zeile 77 diesen Code:
Code:
  PlayerInfo^.C4DefuseTime := PlayerInfo^.C4DefuseTime / 5;
Das heisst die normale Zeit geteilt durch fünf also fünf mal schneller.
08/25/2010 21:24 Masterjun#4
Ich versuchs mal ;)
08/25/2010 21:25 *Smiley*#5
also ist der aktuell oder was?
08/25/2010 21:32 Sanman.#6
haha cool echt nice!
08/25/2010 21:36 *Smiley*#7
wie kann man den denn benutzen also was muss ich machen?
08/25/2010 21:52 murrat97#8
und wie öffne ich das ? mit welchem programm ?

hier noch [Only registered and activated users can see links. Click Here To Register...]

Wenns geholfen hat bitte THX.
08/25/2010 21:55 kenpatschi#9
denke mal mit winrar veruch mal mit winrarzu öffnen thx net vergessen od vorher selberauf viren überprüffen
08/25/2010 22:05 Masterjun#10
OMG :facepalm:
mit editor öffnen, dann haste den Source Code, den dann in eine dll compilieren, und dann injekten
08/25/2010 22:10 -20-Sawboy-20-#11
ja dann gib mir mal ein tool der es zu dll macht
08/25/2010 22:35 murrat97#12
Lol^^ ich versteh nur Bahnhof 1. kann ich das nicht mim editor öffnen
und 2. welches programm macht die datei zur dll ?

Edit ich kanns mit script editor öffnen, dass sieht dann so aus

library DefusePlant;

{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }


uses
SysUtils,
Classes,
Windows;

{$R *.res}
type
PBasicPlayerInfo = ^TBasicPlayerInfo;
TBasicPlayerInfo = packed record // 00A8
BasicPlayerInfoType: DWord; // 0000
MovementSpeed: Single; // 0004
MovementWalkRate: Single; // 0008
MovementDuckWalkRate: Single; // 000C
MovementSideMoveRate: Single; // 0010
MovementFBRunAnimRate: Single; // 0014
MovementLRRunAnimRate: Single; // 0018
MovementFBWalkAnimRate: Single; // 001C
MovementLRWalkAnimRate: Single; // 0020
MovementAccelation: Single; // 0024
MovementFriction: Single; // 0028
JumpTime: Single; // 002C
JumpVelocity: Single; // 0030
JumpLandedWaitTime: Single; // 0034
JumpLandedNoJumpTimeRate: Single; // 0038
JumpRepeatPenaltyMoveRate: Single; // 003C
JumpRepeatPenaltyHeightRate: Single; // 0040
JumpLandedMovePenaltyTimeRate: Single; // 0044
JumpLandedMovePenaltyMoveRate: Single; // 0048
Unknown0: array[1..40] of Byte; // 004C
DamagePenaltyTime: Single; // 0074
DamagePenaltyMoveRate: Single; // 0078
C4PlantTime: Single; // 007C
C4DefuseTime: Single; // 0080
MaxCanDefuseDistance: Single; // 0084
CharacterHiddenAlpha: Single; // 0088
CharacterHiddenWalkAlpha: Single; // 008C
CharacterHiddenRunAlpha: Single; // 0090
MovementHiddenRate: Single; // 0094
CrossHairColor: Single; // 0098
CrossHarColorRedChangeRate: Single; // 009C
CrossHairColorGreenChangeRate: Single; // 00A0
CrossHairColorBlueChangeRate: Single; // 00A4
end;

const
OFFSET_PLAYERINFO = $1024E240; // Note: Offset ist nicht aktuell

var
PlayerInfo: PBasicPlayerInfo;
CShellBase: Cardinal;
hThreadMain: THandle;

function ThreadMain(Param: Pointer): DWord; stdcall;
begin
CShellBase := 0;
repeat
CShellBase := Cardinal(GetModuleHandle('cshell.dll'));
until CShellBase > 0;
while (PCardinal(CShellBase + OFFSET_PLAYERINFO)^ = 0) do
begin
Sleep(100);
end;
PlayerInfo := Pointer(PCardinal(CShellBase + OFFSET_PLAYERINFO)^);
PlayerInfo^.C4DefuseTime := PlayerInfo^.C4DefuseTime / 5;
Result := 0;
end;

var
DLLProcNext: procedure(Reason: Integer);

procedure DLLMain(Reason: Integer);
var
TID: DWord;
begin
case Reason of
DLL_PROCESS_ATTACH:
begin
DisableThreadLibraryCalls(SysInit.hInstance);
// Hauptthread starten
hThreadMain := CreateThread(nil, 0, @ThreadMain, nil, 0, TID);
end;
DLL_THREAD_ATTACH:;
DLL_THREAD_DETACH:;
DLL_PROCESS_DETACH:
begin
// Hauptthread beenden
if (hThreadMain > 0) then
begin
TerminateThread(hThreadMain, 0);
end;
// Programm beenden
ExitProcess(0);
end;
end;
if Assigned(DLLProcNext) then DLLProcNext(Reason);
end;

begin
// DLL Main initialisieren und aufrufen
DLLProcNext := Pointer(InterlockedExchange(Integer(@DLLProc), Integer(@DLLMain)));
DLLMain(DLL_PROCESS_ATTACH);
end.
08/26/2010 00:52 Masterjun#13
Quote:
Originally Posted by murrat97 View Post
library DefusePlant;

{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }


uses
SysUtils,
Classes,
Windows;

{$R *.res}
type
PBasicPlayerInfo = ^TBasicPlayerInfo;
TBasicPlayerInfo = packed record // 00A8
BasicPlayerInfoType: DWord; // 0000
MovementSpeed: Single; // 0004
MovementWalkRate: Single; // 0008
MovementDuckWalkRate: Single; // 000C
MovementSideMoveRate: Single; // 0010
MovementFBRunAnimRate: Single; // 0014
MovementLRRunAnimRate: Single; // 0018
MovementFBWalkAnimRate: Single; // 001C
MovementLRWalkAnimRate: Single; // 0020
MovementAccelation: Single; // 0024
MovementFriction: Single; // 0028
JumpTime: Single; // 002C
JumpVelocity: Single; // 0030
JumpLandedWaitTime: Single; // 0034
JumpLandedNoJumpTimeRate: Single; // 0038
JumpRepeatPenaltyMoveRate: Single; // 003C
JumpRepeatPenaltyHeightRate: Single; // 0040
JumpLandedMovePenaltyTimeRate: Single; // 0044
JumpLandedMovePenaltyMoveRate: Single; // 0048
Unknown0: array[1..40] of Byte; // 004C
DamagePenaltyTime: Single; // 0074
DamagePenaltyMoveRate: Single; // 0078
C4PlantTime: Single; // 007C
C4DefuseTime: Single; // 0080
MaxCanDefuseDistance: Single; // 0084
CharacterHiddenAlpha: Single; // 0088
CharacterHiddenWalkAlpha: Single; // 008C
CharacterHiddenRunAlpha: Single; // 0090
MovementHiddenRate: Single; // 0094
CrossHairColor: Single; // 0098
CrossHarColorRedChangeRate: Single; // 009C
CrossHairColorGreenChangeRate: Single; // 00A0
CrossHairColorBlueChangeRate: Single; // 00A4
end;

const
OFFSET_PLAYERINFO = $1024E240; // Note: Offset ist nicht aktuell

var
PlayerInfo: PBasicPlayerInfo;
CShellBase: Cardinal;
hThreadMain: THandle;

function ThreadMain(Param: Pointer): DWord; stdcall;
begin
CShellBase := 0;
repeat
CShellBase := Cardinal(GetModuleHandle('cshell.dll'));
until CShellBase > 0;
while (PCardinal(CShellBase + OFFSET_PLAYERINFO)^ = 0) do
begin
Sleep(100);
end;
PlayerInfo := Pointer(PCardinal(CShellBase + OFFSET_PLAYERINFO)^);
PlayerInfo^.C4DefuseTime := PlayerInfo^.C4DefuseTime / 5;
Result := 0;
end;

var
DLLProcNext: procedure(Reason: Integer);

procedure DLLMain(Reason: Integer);
var
TID: DWord;
begin
case Reason of
DLL_PROCESS_ATTACH:
begin
DisableThreadLibraryCalls(SysInit.hInstance);
// Hauptthread starten
hThreadMain := CreateThread(nil, 0, @ThreadMain, nil, 0, TID);
end;
DLL_THREAD_ATTACH:;
DLL_THREAD_DETACH:;
DLL_PROCESS_DETACH:
begin
// Hauptthread beenden
if (hThreadMain > 0) then
begin
TerminateThread(hThreadMain, 0);
end;
// Programm beenden
ExitProcess(0);
end;
end;
if Assigned(DLLProcNext) then DLLProcNext(Reason);
end;

begin
// DLL Main initialisieren und aufrufen
DLLProcNext := Pointer(InterlockedExchange(Integer(@DLLProc), Integer(@DLLMain)));
DLLMain(DLL_PROCESS_ATTACH);
end.
HEEY, da hat es einer mal gecheckt und den Source Code gepostet.
Also, das ist der Source Code, nun noch den richtigen Offset nehmen und dann zu dll kompilieren. Und dann Injecten und Speed Defusen ;)
08/26/2010 01:14 Sanman.#14
kennst dich ja damit aus
08/26/2010 01:19 Masterjun#15
Quote:
Originally Posted by MasterBlaster14 View Post
kennst dich ja damit aus
Es steht ja nicht umsonst links unter meinem Namen "Fast schon Hacker xD"