Mix Hack

07/15/2007 16:20 bloodx#16
zum injecten probier mal sowas hier:
also c++ musste mal testen (=
musst nur den dll link einfügen also wo die liegt und Prozess ID.
#include <string>
#include <windows.h>

#define MAXWAIT 10000

bool insertDll(DWORD procID, std::string dll)
{

HMODULE hLocKernel32 = GetModuleHandle("Kernel32");
FARPROC hLocLoadLibrary = GetProcAddress(hLocKernel32, "LoadLibraryA");


HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, 0, &tkp, sizeof(tkp), NULL, NULL);
}


HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procID);


dll += '&#092;0';
LPVOID hRemoteMem = VirtualAllocEx(hProc, NULL, dll.size(), MEM_COMMIT, PAGE_READWRITE);


DWORD numBytesWritten;
WriteProcessMemory(hProc, hRemoteMem, dll.c_str(), dll.size(), &numBytesWritten);


HANDLE hRemoteThread = CreateRemoteThread(hProc, NULL, 0, (LPTHREAD_START_ROUTINE)hLocLoadLibrary, hRemoteMem, 0, NULL);

cout << hRemoteThread << endl;


bool res = false;
if (hRemoteThread)
res = (bool)WaitForSingleObject(hRemoteThread, MAXWAIT) != WAIT_TIMEOUT;


VirtualFreeEx(hProc, hRemoteMem, dll.size(), MEM_RELEASE);


CloseHandle(hProc);

return res;
}

gebe aber keine 100% Garantie das es auch geht :S
07/15/2007 16:49 terra75#17
Quote:
Originally posted by Kyala+Jul 15 2007, 16:20--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Kyala @ Jul 15 2007, 16:20)</td></tr><tr><td id='QUOTE'>
Quote:
Originally posted by -terra75@Jul 15 2007, 16:17
Quote:
Originally posted by -Kyala@Jul 15 2007, 16:12
<!--QuoteBegin--terra75
Quote:
Quote:
@Jul 15 2007, 16:05
Aso, kleine Zwischenfrage die nicht unbedingt beantwortet werden muss.
Hab mir den Priv.Server für Kal runtergeladen und alles so gemacht wie in der Beschreibung. Den Server kann ich komplett mit allem starten. Allerdings kann ich mich beim Start von Kal nichtmal aufm Server einloggen obwol ich die server.ini auch geändert habe.

So, reicht erstmal .. genug für ordentlich Gesprächsstoff ^^

Terra

xlate-e.dat auch geändert?

Öhm . .nee .. stand aber auch nix dabei das man die ändern muss. Was muss ich dort genau machen ?

Terra
Code:
;&#40;country_type ENG&#41;
;
;	Server List
;

&#40;serverlist &#40; name &#34;ServerName&#34;&#41; &#40; IP &#34;IP&#34;&#41; &#40; PORT &#34;30001&#34;&#41; &#40;config &#34;debug&#34;&#41;&#41;
[/b][/quote]
OK, dankeschön ... mal zu Hause ausprobieren.
Wär ich jetzt alleine nie drauf gekommen ^^

So, nun zurück zu den wichtigen Sachen :)

Terra
07/15/2007 16:53 bloodx#18
Meldanen wenn du schon was hast poste es mal hier (= ich glaube langsam sollte das Forum mal besser werden also die Kal-Sektion 0.o
07/15/2007 16:55 terra75#19
@bloodx:

Also wie schon geschrieben arbeite ich mit Delphi. Zwar ist dort auch C++ mit drinn aber ich arbeite mit Pascal.

Habe wohl was gleiches hier aus dem Forum:
Code:
function InjectLibrary&#40;dwProcessID&#58; DWord; pLibraryName&#58; PChar&#41;&#58; Boolean; stdcall;
var
 dwProcessID2 &#58; DWord;
 dwMemSize  &#58; DWord;
 dwWritten  &#58; DWord;
 dwThreadID  &#58; DWord;
 pLLA     &#58; Pointer;
 pTargetMemory&#58; Pointer;
begin
 Result &#58;= False;

 dwProcessID2 &#58;= OpenProcess&#40;PROCESS_ALL_ACCESS,false,dwProcessID&#41;;
 if &#40;dwProcessID2 &#60;> 0&#41; then
  dwProcessID &#58;= dwProcessID2;

 dwMemSize &#58;= Length&#40;pLibraryName&#41;+1;
 pTargetMemory &#58;= VirtualAllocExX&#40;dwProcessID,nil,dwMemSize, MEM_COMMIT or MEM_RESERVE,PAGE_EXECUTE_READWRITE&#41;;
 pLLA &#58;= GetProcAddress&#40;GetModuleHandleA&#40;'kernel32.dll'&#41;,'LoadLibraryA'&#41;;
 if &#40;pLLA &#60;> nil&#41; and &#40;pTargetMemory &#60;> nil&#41; and &#40;pLibraryName &#60;> nil&#41; then
 begin
  if WriteProcessMemory&#40;dwProcessID,pTargetMemory,pLibraryName,dwMemSize,dwWritten&#41; and
   &#40;dwWritten = dwMemSize&#41; then
  Result &#58;= CreateRemoteThreadX&#40;dwProcessID,nil,0,pLLA,pTargetMemory,0,dwThreadID&#41; &#60;> 0;
 end;
 if &#40;dwProcessID2 &#60;> 0&#41; then
  CloseHandle&#40;dwProcessID2&#41;;
end;
Damit sollte es auch gehen. Soweit ja ganz easy nur was soll ich in die DLL reinschreiben?
Muss doch irgendwie wissen was ich ändern muss um zu einem Ergebniss zu kommen.

Hatte mir eigentlich überlegt den Datenstrom auszulesen um erstmal rauszubekommen was bei einer bestimmten Aktion passiert. Wenn ich den Bereich dann wiederhole sollte dann ja die Aktion im Game wieder auftauchen. Also nix anderes wie bei KalHackIt nur das ich einen anderen Weg gehen würde.

Oder gehe ich die ganze Sache doch falsch an ?

Terra
07/24/2007 23:23 syntex#20
KalHackIt Packet Tutorial :>
Copyright by SYNTEX , dont copy it!

Sniff.ini :
Code:
&#91;show-all&#93;
RECV=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
SENT=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
&#91;sent-all&#93;
RECV=000000000000000000000000000000000000000000000000000000000000000000
SENT=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

&#91;recv-all&#93;
RECV=ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
SENT=000000000000000000000000000000000000000000000000000000000000000000
&#91;default&#93;
RECV=000000000000000000000000000000000000000000000000000000000000000000
SENT=000000000000000000000000000000000000000000000000000000000000000000

MixHack:
PacketHeader: 62 01
Upgrade Weapon = Upgrade Weapon Packet
Armor = Armor Packet
Stones = Demons Blood packet
75k Geons = Geon Packet.

How to MixHack?
type .block block s 1a
drop your upgrade weapon get the Packet (xx xx xx xx)
drop your other weapon that is needeed for the entchant (xx xx xx)
drop your Armor part and get the Packet (xx xx xx xx)
drop a demons blood and get the Packet (xx xx xx xx
drop 75,000 geons and get the Packet (xx xx xx xx)

Screenshot (helps much):
[Only registered and activated users can see links. Click Here To Register...]


reicht doch wohl oder?!

ich kanns für dich auch noch in Deutsch schreiben , aber solltest du verstehen!