|
You last visited: Today at 05:01
Advertisement
frage zu kalhack11 und frage zu asm
Discussion on frage zu kalhack11 und frage zu asm within the Kal Online forum part of the MMORPGs category.
11/08/2014, 13:03
|
#1
|
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
|
frage zu kalhack11 und frage zu asm
ich versuche gerade bisschen kalhacks zu programmieren.
wie ich cd hacks, speed og/ug programmiere hab ich schon gecheckt und gemacht, mit pattern scanning oder pointern, jetzt hab ich 2 fragen
1. ich hab mir das kalhack11 von bakabug angeschaut und habe eine kleinigkeit nicht verstanden, und dachte mir ihr könntet mir wenig helfen 
unzwar
void Storm(DWORD coordinateX, DWORD coordinateY, DWORD storm)
{
int v = 0;
for(v;v<storm;v++)
{
SendDetour(0x10,"bdd",43,coordinateX,coordinateY);
}
}
woher kommt das 43, erst dachte ich wäre wegen mage-43 aber, das ist ja garkein storm hab ich eben gesehn  , war das vllt nur bisschen verpeilt und da sollte 42 hin?^^(davon geh ich mal in meinem nächsten beispiel aus  auch die coordinate x und y, versteh ich nicht ganz woher weiß der das die hinkommen
oder neben wir mal z.b mockery, würde das dann so aussehen
void Mockery( DWORD MonsterId, DWORD times)
{
int v = 0;
for(v;v<times;v++)
{
SendDetour(0x10,"bd",4, MonsterId);
}
}
ok jetzt zu meiner anderen frage zu asm, hab schon ug/og speed etc geschrieben, nun wollte ich auto battle integrieren,
__declspec(naked) void BotChange()
{
__asm
{
MOVsX ECX, [0x70F0E4] // hier gibt mein c++ ein fehler aus movsx ein ungültiger operandertyp ist, da ich noch kein experte
MOV BotRegister, 70F0E4h //bin versteh ich nicht ganz wieso
CMP ECX, 2h
jmp[BotJmpBack]
}
naja habs dannach zu
__declspec(naked) void BotChange()
{
__asm
{
MOV CX, [0x70F0E4]
MOV BotRegister, 70F0E4h
CMP ECX, 2h
jmp[BotJmpBack]
}
geändert habe iwie gelesen das, dass das selbe sei, naja nun klappts auch aber der bot pickt nur und attackt garnicht xD
im gegensatz wenn ich kalulz benutze attackt er nur und pickt nicht xDD
wenn jemand mir schon bei einem der beiden helfen kann wäre ich dankbar
|
|
|
11/08/2014, 16:30
|
#2
|
elite*gold: 0
Join Date: Oct 2007
Posts: 1,255
Received Thanks: 200
|
uhm zum programieren kann ich dir nciht wirklich was sagen nur schonmal so viel Stormhack funktioniert eh nicht mehr, ist gefixt seit ewigen zeiten. Die X und Y coordiante war glaub ich mit dem Mausklick ermittelt worden , damit wurde auch das Port to klick möglich (für Port to klick giebt es mitlerweile autoblock wenn man es zu sehr übertreibt.)
|
|
|
11/08/2014, 16:49
|
#3
|
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
|
danke für die antwort, das es gefixt ist weiß ich, aber naja ich willst nur zum verständnisshalber wissen
|
|
|
11/09/2014, 12:31
|
#4
|
elite*gold: 0
Join Date: Feb 2008
Posts: 1,105
Received Thanks: 186
|
you get x and y from your position normally (or from pointers? )
what does that botthread do? activates autobattle?
|
|
|
11/09/2014, 13:20
|
#5
|
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
|
1. the x and y position will be typed in, its the location where the storms will be sent to.
2. yea it should, there is in adress in uce which changes if u activate autobattle(u can activate autobattle by changing that value also), but if i activate auto battle with my dll, my char doesnt attack(he just trys to pick) but the value of the adress changes to the value where it should be activated, thats why im quite confused xD
|
|
|
11/09/2014, 17:49
|
#6
|
elite*gold: 281
Join Date: Oct 2007
Posts: 6,248
Received Thanks: 887
|
Quote:
Originally Posted by erfan100
void Storm(DWORD coordinateX, DWORD coordinateY, DWORD storm)
{
int v = 0;
for(v;v<storm;v++)
{
SendDetour(0x10,"bdd",43,coordinateX,coordinateY);
}
}
woher kommt das 43, erst dachte ich wäre wegen mage-43 aber, das ist ja garkein storm hab ich eben gesehn  , war das vllt nur bisschen verpeilt und da sollte 42 hin?^^
|
jobsystem:
Code:
( key "mage-42")
( name "Thunder Storm")
( limit mage)
( action 43)
die skillID im packet stimmt immer mit der actionID @jobsys überein.
Quote:
Originally Posted by erfan100
oder neben wir mal z.b mockery, würde das dann so aussehen
void Mockery( DWORD MonsterId, DWORD times)
{
int v = 0;
for(v;v<times;v++)
{
SendDetour(0x10,"bd",4, MonsterId);
}
}
|
mockery würde so aussehen:
Code:
SendDetour(0x10,"bbd",4, objectType, targetID);
objectType is dann z.b. 0 oder 1 - je nachdem ob du ein mob oder nen andren player attackierst
|
|
|
11/09/2014, 19:36
|
#7
|
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
|
Quote:
Originally Posted by Mahatma
jobsystem:
Code:
( key "mage-42")
( name "Thunder Storm")
( limit mage)
( action 43)
die skillID im packet stimmt immer mit der actionID @jobsys überein.
mockery würde so aussehen:
Code:
SendDetour(0x10,"bbd",4, objectType, targetID);
objectType is dann z.b. 0 oder 1 - je nachdem ob du ein mob oder nen andren player attackierst
|
aaah ok vielen dank, eine frage noch woher weiß du das da objecttype hinkommt, muss man sich das denken, oder aus iwo auslesen?
noch eine kleine frage, packets senden klappt nur wenn man hackshield umgeht richtig?
|
|
|
11/10/2014, 18:20
|
#8
|
elite*gold: 281
Join Date: Oct 2007
Posts: 6,248
Received Thanks: 887
|
Quote:
Originally Posted by erfan100
aaah ok vielen dank, eine frage noch woher weiß du das da objecttype hinkommt, muss man sich das denken, oder aus iwo auslesen?
noch eine kleine frage, packets senden klappt nur wenn man hackshield umgeht richtig?
|
objectType is einfach ne variable die halt nen wert hat - musste selbst definieren bzw kannst auch fix 0 oder 1 reinschreiben^^
ich habs so gemacht, dass er sich anhand der ID selbst raussucht obs ein player oder mob is, wenn du jz aber nen bot schreibst soll der ja eigentlich nur mobs attacken, dann kannste das auch fix reinschreiben
wen du ne dll injectest brauchste nur die kal send function callen - den hackshield "umgehst" du sozusagen mit der dll injection.
um send zu sniffen musst du die send function hooken/detouren - das würde der hackshield dennoch unterbinden weil er die memory region scannt und mitkriegst sobald du da was veränderst.
den hackshield "auszumachen" bringt dir aber auch wenig, weils alle paar minuten ein "hackshield packet" gibt - sobald der hackshield also nicht mehr laufen würde und die antwort auf so ein hackshield request vom server nicht mehr berechnen kann würdest du also vom server expellt werden
|
|
|
11/10/2014, 19:16
|
#9
|
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
|
Quote:
Originally Posted by Mahatma
objectType is einfach ne variable die halt nen wert hat - musste selbst definieren bzw kannst auch fix 0 oder 1 reinschreiben^^
ich habs so gemacht, dass er sich anhand der ID selbst raussucht obs ein player oder mob is, wenn du jz aber nen bot schreibst soll der ja eigentlich nur mobs attacken, dann kannste das auch fix reinschreiben
wen du ne dll injectest brauchste nur die kal send function callen - den hackshield "umgehst" du sozusagen mit der dll injection.
um send zu sniffen musst du die send function hooken/detouren - das würde der hackshield dennoch unterbinden weil er die memory region scannt und mitkriegst sobald du da was veränderst.
den hackshield "auszumachen" bringt dir aber auch wenig, weils alle paar minuten ein "hackshield packet" gibt - sobald der hackshield also nicht mehr laufen würde und die antwort auf so ein hackshield request vom server nicht mehr berechnen kann würdest du also vom server expellt werden 
|
also zu 1. das objecttype die variable ist, hatte ich schon verstanden, ich hab mich wenig schlecht ausgedrückt also nochma  also 1. woher weißt du das da ne 1/0 rein muss? 2. woher weiß ich ob 0 für player oder mob ist? ( natürlich werd ichs jetzt eh testen) aber der verstädnisshalber einfach
und 2. das mit dem hackshield ist schon ne komplizierte angelegenheit, muss mich mal damit beschäftigen, klingt aber sehr verwirrend xD theoretisch wäre es aber doch aber möglich das man den request, mit einem selbst geschriebenen fake hackshield zu beantworten, oder?
|
|
|
11/10/2014, 19:56
|
#10
|
elite*gold: 0
Join Date: Oct 2007
Posts: 1,255
Received Thanks: 200
|
ich glaub so einfach ist das nicht, wenn ich mich recht entsinne hat mal einer das hackschield gekillt indem er kal auf nim server laufen lassen hat und dann von dort immer das hackschield packet geklaut hat als es gebraucht wurde auf dem client wo er am hacken war.
|
|
|
11/11/2014, 17:41
|
#11
|
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
|
ja man könnte das request an einen anderen Clienten senden, der berechnet es dir und man sendet das zurück auf dem 2ten Clienten.
Aber generell das Hackshield Packet ist eig. ganz simpel wenn man weiß wie man Reversen kann^^
So wie ich damals dachte Bakabug hat alles selber geschrieben :/
Aber das ist alles nur Copy&paste der functionen, man muss halt alle hackshield funktionen kopieren...
Ich hatte eig. schon sogut wie alles fertig, nur mein PC ist halt scheiße und es laggt zuviel beim Reversen das man da kb mehr drauf hat i-wann^^
Hätte noch paar funktionen kopieren müssen, mir fehlten eig. nurnoch 2 bytes oder so.
1. Man kann die normale Send funktion noch hooken aber bringt einem nur was mit Decrypt/Encrypt und da kann man doch dann sehen das 1ns Mob ist und 0 Player wenn man die Packets halt snifft...
2. ja wie schon gesagt ist es möglich aber ich kenne auch nur 1nen der es damals geschafft hat.
Umgehen ist da noch die einfache variante, wozu killen wenn man auch so alles machen kann ;x
|
|
|
All times are GMT +1. The time now is 05:07.
|
|