HackShield-Bypass

09/27/2010 11:46 MrCrackR#31
ich hab eben auch metin2 mit ollydbg gepatcht.
ich musste nur 3 JE durch 3 JNE ersetzen.
vllt mach ich dazu heute noch ein tutorial mit video.

EDIT: eben gemerkt, dass es 4 JNE sein müssen, da
es sonst zu einem UNINITIALIZE_ERROR kommt.
09/27/2010 11:57 @xDrive#32
Die ganze sache hat funktiniert. Dafür 1 thx von mir.
Wie einige schon gesagt haben, es gibt ein größeres Problem, man sieht kein Inventar und ich glaube es dauert bisschn länger als alle denken. Morgen kommen bestimmt weitere updates von dem hackschield...
09/27/2010 12:05 XChangX#33
xD thx^^
habe es gemacht aber verstehe net was es bringt xD kann es jmd pls genauer beschreiben iventar sehe ich aber hack geht net^^
09/27/2010 12:52 Ponca#34
bei mir gehts auch obwohl ich bemerkt hab das easymetin2 immer so nach 20-25 min neustartet und so das hackschield umgeht denk ich mal !! Denn als ich Easymetin2 erstemal gestern probiert hatte stand auf einmal da nach 20 min etwa Bot Stop und der hat sich nicht mehr weiter bewegt !!
09/27/2010 14:00 LKW#35
Boah wenn man eh nix im inventar sieht und jede 2 min gekickt wird DANN 1. IST DAS GENAU DAS GLEICHE wie als würde man mit einem ungepachten metin2 reingehen ( also vorm hackschild die version ) genau das gleiche,

2. kann man anscheinend dann nicht mit easymetin2 rein.

3. bringts nicht, vergesst es, hoffen wir auf was neues -> brauche dringend einen multihack pn me wer ein mit bypass hat / oder bei dem er funzt mit irgendein bypass
09/27/2010 14:39 mcjoker1991#36
ok hat bei mir alles geklappt jedoch versteh ich nicht was es mir bringt dachte ich kann wieder hacken -.- falsch gedacht wie es aussieht seh ich mein inventar nicht das wars -.- undjetzt? XD
09/27/2010 14:45 PredatorsFTW#37
nice tut ^^
09/27/2010 15:27 Ponca#38
Also ich seh alles was ich droppen tu ohne propleme im Inventar !!!
09/27/2010 16:44 Computerfreek#39
Das schon, aber die Sachen die davor drin waren nicht oder?
Denke das ist einfach ein Packet welches der HS an den Server sendet, und dieser dann die Inventardaten wieder zurück.
Ansonsten werden die Daten fürs Invi eben ausgelassen.
Müsste mal also mit nem Packeteditor bzw nem Sniffer mal schauen was da so passiert.
09/27/2010 17:13 Dobbrunz#40
Quote:
Originally Posted by Computerfreek View Post
Datei in bin umbenennen?

Google -> Erweiterung bei bekannten Dateitypen ausblenden

Hilft 100%

genau das hilft irgendwie nicht, weil wenn ich starte, dann patcht das ganze wieder und es ist nichtmehr die .bin datei...
09/27/2010 17:19 Mi4uric3#41
Wieder nur das niceste von Disconnect :)
09/27/2010 17:30 tim66613#42
Wird nicht von langem Nutzen sein, da das AhnHSRequest Packet nicht richtig beantwortet wird und man so nach ca. 30min. gekickt wird (mit darauffolgendem temp. IP-Block).

Packet ID: 204
Packet Handler Function Address: 0x41F3B0
Pseudocode aus dem Client:
Code:
char __thiscall CPythonNetworkStream__RecvAhnHSRequestPacket(CPythonNetworkStream *this)
{
  CPythonNetworkStream *self; // esi@1
  char worked; // al@2
  int v3; // eax@3
  unsigned __int8 response[403]; // [sp+8h] [bp-330h]@3
  unsigned __int8 packet[403]; // [sp+1A0h] [bp-198h]@1

  self = this;
  if ( CNetworkStream__Recv(&this->baseclass, 403, packet) )
  {
    memset(response, 0, 400u);
    *(_WORD *)&response[400] = 0;
    response[402] = 0;
    response[0] = 203;
    v3 = _AhnHS_MakeResponse(&packet[1], *(unsigned __int16 *)&packet[401], &response[1]);
    if ( v3 )
    {
      TraceError("HShield: _AhnHS_MakeResponse return error(%u)", v3);
      worked = 0;
    }
    else
    {
      if ( CNetworkStream__Send(&self->baseclass, 403, response) )
      {
        worked = 1;
      }
      else
      {
        TraceError("HShield: Send failed");
        worked = 0;
      }
    }
  }
  else
  {
    TraceError("HShield: Recv failed");
    worked = 0;
  }
  return worked;
}
ASM Code (aus dem Client):
Code:
.text:0041F3B0 ; char __thiscall CPythonNetworkStream__RecvAhnHSRequestPacket(CPythonNetworkStream *this)
.text:0041F3B0 ?RecvAhnHSRequestPacket@CPythonNetworkStream@@IAE_NXZ proc near
.text:0041F3B0                                         ; CODE XREF: CPythonNetworkStream::GamePhase(void)+4DDp
.text:0041F3B0
.text:0041F3B0 response        = byte ptr -330h
.text:0041F3B0 packet          = byte ptr -198h
.text:0041F3B0
.text:0041F3B0                 push    ebp
.text:0041F3B1                 mov     ebp, esp
.text:0041F3B3                 and     esp, 0FFFFFFF8h
.text:0041F3B6                 sub     esp, 330h
.text:0041F3BC                 push    esi
.text:0041F3BD                 push    edi
.text:0041F3BE                 lea     eax, [esp+338h+packet]
.text:0041F3C5                 push    eax             ; buf
.text:0041F3C6                 push    193h            ; size
.text:0041F3CB                 mov     esi, ecx
.text:0041F3CD                 call    ?Recv@CNetworkStream@@QAE_NHPAD@Z ; CNetworkStream::Recv(int,char *)
.text:0041F3D2                 test    al, al
.text:0041F3D4                 jnz     short loc_41F3EB
.text:0041F3D6                 push    offset aHshieldRecvFai ; "HShield: Recv failed"
.text:0041F3DB                 call    ?TraceError@@YAXPBDZZ ; TraceError(char const *,...)
.text:0041F3E0                 add     esp, 4
.text:0041F3E3                 xor     al, al
.text:0041F3E5                 pop     edi
.text:0041F3E6                 pop     esi
.text:0041F3E7                 mov     esp, ebp
.text:0041F3E9                 pop     ebp
.text:0041F3EA                 retn
.text:0041F3EB ; ---------------------------------------------------------------------------
.text:0041F3EB
.text:0041F3EB loc_41F3EB:                             ; CODE XREF: CPythonNetworkStream::RecvAhnHSRequestPacket(void)+24j
.text:0041F3EB                 movzx   edx, word ptr [esp+338h+packet+191h]
.text:0041F3F3                 xor     eax, eax
.text:0041F3F5                 mov     ecx, 64h
.text:0041F3FA                 lea     edi, [esp+338h+response]
.text:0041F3FE                 rep stosd
.text:0041F400                 stosw
.text:0041F402                 lea     ecx, [esp+338h+response+1]
.text:0041F406                 push    ecx
.text:0041F407                 stosb
.text:0041F408                 push    edx
.text:0041F409                 lea     eax, [esp+340h+packet+1]
.text:0041F410                 push    eax
.text:0041F411                 mov     [esp+344h+response], 0CBh
.text:0041F416                 call    __AhnHS_MakeResponse
.text:0041F41B                 test    eax, eax
.text:0041F41D                 jz      short loc_41F435
.text:0041F41F                 push    eax             ; char
.text:0041F420                 push    offset aHshield_ahnhs_ ; "HShield: _AhnHS_MakeResponse return err"...
.text:0041F425                 call    ?TraceError@@YAXPBDZZ ; TraceError(char const *,...)
.text:0041F42A                 add     esp, 8
.text:0041F42D                 xor     al, al
.text:0041F42F                 pop     edi
.text:0041F430                 pop     esi
.text:0041F431                 mov     esp, ebp
.text:0041F433                 pop     ebp
.text:0041F434                 retn
.text:0041F435 ; ---------------------------------------------------------------------------
.text:0041F435
.text:0041F435 loc_41F435:                             ; CODE XREF: CPythonNetworkStream::RecvAhnHSRequestPacket(void)+6Dj
.text:0041F435                 lea     ecx, [esp+338h+response]
.text:0041F439                 push    ecx             ; packet
.text:0041F43A                 push    193h            ; size
.text:0041F43F                 mov     ecx, esi        ; this
.text:0041F441                 call    ?Send@CNetworkStream@@QAE_NHPBX@Z ; CNetworkStream::Send(int,void const *)
.text:0041F446                 test    al, al
.text:0041F448                 jnz     short loc_41F45F
.text:0041F44A                 push    offset aHshieldSendFai ; "HShield: Send failed"
.text:0041F44F                 call    ?TraceError@@YAXPBDZZ ; TraceError(char const *,...)
.text:0041F454                 add     esp, 4
.text:0041F457                 xor     al, al
.text:0041F459                 pop     edi
.text:0041F45A                 pop     esi
.text:0041F45B                 mov     esp, ebp
.text:0041F45D                 pop     ebp
.text:0041F45E                 retn
.text:0041F45F ; ---------------------------------------------------------------------------
.text:0041F45F
.text:0041F45F loc_41F45F:                             ; CODE XREF: CPythonNetworkStream::RecvAhnHSRequestPacket(void)+98j
.text:0041F45F                 pop     edi
.text:0041F460                 mov     al, 1
.text:0041F462                 pop     esi
.text:0041F463                 mov     esp, ebp
.text:0041F465                 pop     ebp
.text:0041F466                 retn
.text:0041F466 ?RecvAhnHSRequestPacket@CPythonNetworkStream@@IAE_NXZ endp
Kind Regards Tim
09/27/2010 18:06 Computerfreek#43
Aber man könnte doch theoretisch die Funktion nutzen, um dem Server vorzugaukeln dass der HS läuft, oder?
Damit wäre dann evtl. das Problem mit dem unsichtbaren Inventar gelöst und das Kickbann Problem genauso.
09/27/2010 18:15 Che#44
wurde schon einer gekickbannt? o.O ich glaub ich nehm lieber doch den em2 bypass xD
09/27/2010 18:16 Mi4uric3#45
Ich wurde nach 3 Minuten an einem einsamen Ort gekickt.
Ich stand nur rum, hatte keinen Hack oder sonstwas an.
Ich stand einfach nur da.
Jedoch konnte ich mich danach wieder einloggen.