[Request] Questpacket und CL

02/18/2014 13:41 VirusBastard#1
Heyho,
ich bräuchte Hilfe. Arbeite an einem Tool, welches automatisch einloggen und anfangen soll zu Minen. Hat zufällig schon jemand das Packet zum Ansprechen des Miners bzw zum Starten des Hackens parat?
Hat wer ne Idee, wie man nach einem random CL schnellstmöglich reloggt?
Wie ist das Paket für die Serverauswahl? Bei mir geht es leider erst mitm Loginrecvpaket los.
Herzlichen Dank
02/18/2014 15:05 Mahatma#2
kann heute abend mal nen sniffer anwerfen und dir bisschen was sniffen. musst halt noch genau sagen welche packets du brauchst.

serverauswahl is kein packet an sich - es wird halt je nachdem ob hanin/naraeha ein connect zur ip des servers ausgeführt.
sofern das kalwindow aktiv ist, ists am einfachsten zu machen indem du ein enter ans game schickst. wenn du zu hanin und net naraeha connecten willst, kannst du entweder die ip bzw reihenfolge der server in der config ändern oder du hookst die connect funktion und änderst die ip direkt darin.

am einfachsten wieder einzuloggen nach nem cl wirds vielleicht sein wenn du sobald du nen dc erkannt hast einfach das game via exit() beendest und ne eigenständige .exe codest, welche checkt ob alle games laufen und die ansonsten restartet (updater ausführen + enter drücken).
02/18/2014 18:36 meak1#3
case 0x08: __asm jmp 0x0049502C break; //RandomConnectInfo
case 0x09: __asm jmp 0x004951AF break; //VersionCheck

SendKey = 0

memcpy(Packet, "\x19\x00\x08\xE2\xC3\x00\x00\x2A\x73\xFA\x4B\x23\ x42\xAB\x1C\xBF\x6A\x34\x7C\x74\xD4\x9E\x68\x01\xE 1", 25);

Plen = (*(PWORD(Packet)));
EncryptTable(SendKey,(unsigned char*)Packet+2,Plen-2);

0x08 ist random scheiße damit der server antwortet,
dann kriegst du ein Recv 0x02A
PHP Code:
if(buf[2] == 0x2A){
    Print(
'R',0x57,buf);
SendKey=*(BYTE*)&buf[7];
RecvKey=*(BYTE*)&buf[7];
Sync=*(DWORD*)&buf[83];
printf("SnyC %X\n",Sync);
_asm{
    
MOV EAXSync
    SHR EAX
0x7
    MOV ECX
EAX
    MOV EDX
EAX
    SHR EDX
0x9
    SHL EDX
0x9
    SUB EAX
EDX
    
XOR EAX0x1A85
    MOV Sync
EAX
}
printf("Sync:%x\n",Sync);
printf("KEY:%x\n",SendKey);
AcceptAddy=*(DWORD*)&buf[3];

_asm{
MOV EAX,AcceptAddy
XOR EDX,EDX
MOV ECX
,0x0ED1
DIV ECX
ADD EDX
,0x235C
mov SendLogin
,EDX
}
 
printf("Key for Serv: 0x%X\n",SendLogin);
char Packet2[12];
memcpy(Packet2"\x0C\x00\x09"3);
memcpy(Packet2+5,"\x00\x00\x01",3);
*(
DWORD*)&Packet2[3]=Sync;
*(
DWORD*)&Packet2[8]=SendLogin;
send(s,Packet2,sizeof(Packet2),0); 
das ist aber mit der crypt also AES + crypttable, kp wie es ausschaut in der call func SendPacketMain, denke aber 0x09 'bd' 0x01, 'SendLogin', weißt ja jetzt wie es ausschaut
PHP Code:
memcpy(Packet2"\x0C\x00\x09"3);
memcpy(Packet2+5,"\x00\x00\x01",3);
*(
DWORD*)&Packet2[3]=Sync;
*(
DWORD*)&Packet2[8]=SendLogin
Bei einem CL ist die verbindung unterbrochen und es werden keine Packets mehr gesendet, dadurch nicht machbar glaube ich ?!

NPC's ids ändern sich nach jedem update aber kal wird ja selten geupdatet
02/18/2014 20:32 VirusBastard#4
Vielen Dank soweit !
Muss mal gucken wie ich das umsetzen kann. Bin ja nicht soo der pro :D
Naja also nach einem CL drückst ja das Fenster weg und kannst danach wieder nen Server wählen
02/18/2014 22:01 katze123#5
Quote:
Originally Posted by VirusBastard View Post
Heyho,
ich bräuchte Hilfe. Arbeite an einem Tool, welches automatisch einloggen und anfangen soll zu Minen. Hat zufällig schon jemand das Packet zum Ansprechen des Miners bzw zum Starten des Hackens parat?
Hat wer ne Idee, wie man nach einem random CL schnellstmöglich reloggt?
Wie ist das Paket für die Serverauswahl? Bei mir geht es leider erst mitm Loginrecvpaket los.
Herzlichen Dank
weil du erst da sniffst wo die pakete mit AES gecrypted sind ^^

und jo, starten is nur ein packet, weiß grad nich die nummer, aber das is ja fix schnell gesniffed. range is egal und npc ansprechen musste nich.
02/19/2014 09:30 KillerExtreme#6
naja das Conection Lost fenster kommt ja nicht immer dann musst du schon die ganze engenie killen
02/19/2014 13:41 Mahatma#7
hab mal eben mine zeugs gesnifft...hab die packets mal so aufgeschrieben, dass die mit der sendfunc von kal funzen müssten:
Code:
Send(0xC1,"d",0);	 //MINE_PORT_MINESPOT_GENERAL
Send(0xC1,"d",1);	 //MINE_PORT_BACK
Send(0xC1,"d",2);	 //MINE_START_GENERAL
Send(0xC1,"d",4);	 //MINE_START_WHITE_TIGER
Send(0xC1,"d",7);	 //MINE_STOP
Send(0xC1,"d",9);	 //MINE_PORT_MINESPOT_PREMIUM
hatte nur ne white tiger axe, für die andren premium axes hab ich jz net gesnifft, kannste aber einfach testen bzw gehe ich davon aus dass es ca so sein wird:
Code:
Send(0xC1,"d",3);	 //MINE_START_BLUE_DRAGON
Send(0xC1,"d",5);	 //MINE_START_RED_BIRD
Send(0xC1,"d",6);	 //MINE_START_BLACK_TORTISE
gibt übrigens nen range-check: du kannst zwar ausserhalb des mining spots (z.b. da wo die ganzen mine-shops sind) nach wie vor minen, sobald du aber ein stückchen weiter weg bist (iwo ausserhalb von geum oh mine) is minen jedoch net möglich.
02/21/2014 22:46 VirusBastard#8
möglich 100 äxte auf einmal zu verminen damit? :D muss ich mal testen.
besten Dank auf jeden Fall. Habe mittlerweile nooblösung gefunden mit npc per paket auswählen und dann per klick.bat entsprechend die axt auswählen :D