[Problem]Hack

03/02/2011 16:45 Blubsen456#1
Ich hab einen Hack geschrieben, doch immer wenn ich diesen injekte, und dann Crossfire starte, kommt Client Error. Das passiert dauernd hab schon mehrere Male versucht.

Gibt auch Thanks wenn der Beitrag hilfreich war ^^
03/02/2011 16:46 Metin2.Levler#2
wenn du uns sagen würdest was für ein hack und wie du den hack gemacht hast würden wir dir helfen !
03/02/2011 16:53 Blubsen456#3
Naja bin neu und glaub eher das ich was falsch gemacht habe aber : In C++ leere DLL gemacht, Base gefixt und Source Codes eingefügt ( NoNadeDamage,NoWeaponWeight ),
dann injekten und Crossfire gecrasht xD

Edit: Ich hab das alles aus reiner Vermutung und Erfahrung und bissl Tut's durchlesen gemacht ^^
03/02/2011 16:56 Dani'#4
Wenn du durch Tuts oder ähnlichen Dingen programmieren gelernt hast kann es sein das dein Programm (Hack) nicht richtig gecodet ist.
Mit reiner Erfahrung klappt das nicht immer^^
Da brauchst du schon Wissen oder ne Ausbildung^^
03/02/2011 16:57 Metin2.Levler#5
dann würde ich dir raten weiter tut´s zu lesen du hast was an der reihen folge oder an den source codes falsch gemacht,kann auch sein falscher injekt Programm.
03/02/2011 17:01 Blubsen456#6
Skeita Injektor ? XD

Naja glaube dann auch eher was falsch gemacht zu haben, ne patched base zu benutzen und die VERSUCHEN zu fixen hat wohl dann nicht geklappt, ich probiers einfach weiter, war vllt. auch net sooo schlau xD

Edit : Ka ob ich das darf aber ich poste jetzt mal die genutzte Base xD :

#include <windows.h>



void __cdecl PushToConsole(char* szVal ) {
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( (dwCShell + ******) );
void* CONoff = ( void* )*( DWORD* )( *LTClient + ****);
_asm
{
push szVal;
call CONoff;
add esp, 4;
}
}
}

void hjk() {
Sleep(3000);
bool nadedamage = true;
bool weaponweight = true;

for(;;) {


DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x754) = 0.0f;
}
}

else {
DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x754) = 0.0f;
}
}



DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x1F88) = 0.0f;
}
}

else {
DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x1F88) = 0.0f;
}
}



DWORD WINAPI das(LPVOID) {
while(GetModuleHandleA("CShell.dll") == NULL ) {
Sleep(100);
}
hjk();
return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL,das, NULL, NULL, NULL);
}
return TRUE;
}

oder xD :

#include <windows.h>
#include <iostream>

using namespace std;

void __cdecl PushToConsole(char* szVal ) {
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( (dwCShell + 0x299D40) );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
_asm
{
push szVal;
call CONoff;
add esp, 4;
}
}
}


DWORD WINAPI hello(LPVOID) {
while(GetModuleHandleA("CShell.dll") == NULL ) {
Sleep(100); //100ms
}


bool NadeDamage = false;
bool WeaponWeight = false;



for(;;) {
__asm pushad;
if(GetAsyncKeyState(VK_NUMPAD1)&1) {
NadeDamage = !NadeDamage;
}
if(GetAsyncKeyState(VK_NUMPAD2)&1) {
WeaponWeight = !WeaponWeight;
}



Sleep(100);
__asm popad;

if (NadeDamage) {
DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x754) = 0.0f;
}
}



if (WeaponWeight) {
DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
if (pWeaponsPtr)
{
for (int i = 0; i < 512; i++)
{
DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
if (pWeapon)
continue;

*(float*)(pWeapon + 0x1F88) = 0.0f;
}
03/02/2011 17:15 Metin2.Levler#7
gute eigenschaft nicht aufgeben :D