Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Kal Online
You last visited: Today at 14:48

  • Please register to post and access all features, it's quick, easy and FREE!

 

Bypassing Hackshield <-> Defeating Armadillo

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
Bypassing Hackshield <-> Defeating Armadillo

Hey Leute <- ich hab aus Wissenshunger versucht KalOnline zu unpacken. An die, die es schon geschafft haben. Es ist mit Armadillo geschützt.

PEiD v0.94 <- Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks

Tools wie ArmaGUI krepieren am HackShield, da kommt eine schwule Fehlermeldung. Bei DilloDIE war ich recht zuversichtlich, weil HackShield nichts sagt, sondern die Engine.exe feststellt, dass sie nicht mit /load Parameter gestartet wurde und mir somit sagt, dass es nicht Standalone ausgeführt werden kann.

Ich versuch mich schon 2 Tage daran und mit OllyDBG komm ich nicht an HackShield vorbei.

OllyDBG CiM Edition

Bei HackShield dankt der ab und macht nichts mehr.

Habt ihr irgendeine Idee wie ich entweder HackShield töte oder Armadillo entferne ? Ich find HackShield und Armadillo interessant, mal was anderes als UPX oder AsProtect. ^^



FFCloud is offline  
Old   #2
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
HShild bypass .. ? BRAUCHSTE NET XD

Einfach eine DLL-reinladen .. eine DUMP erstellen der ~5,7 mb groß ist
von 0x00400k - ??????

Dann mit z.b. PE-Explorer .. oder Stud_PE (das benütze ich..)

Die Sections wiederherstellen.. dann kannste schon disammblen ..
Sections wiederherstellen wie ?
Einfach die packed engine.exe mit VC debuger starten xD
Das blöde Armadillo dingsda.. sagt nix und ladet die sections
von engine.exe... dann jumpste mal schnell auf
0x00401k .. (code-part start) .. kopiers dir die ersten z.b 20 bytes..
speicherst dir dann dem virtualoffset
Suchst dann mit nen Hexeditor in engine.exe (unpacked !)..
diese 20 Bytes... dann haste den rawoffset

Ja und dann schreibs es im Stud_PE um..
Da die rawoffsets und rawsize .. immer 0 sind, wegen Armadillo ..
Lade einfach eine gute EXE und schau dir die Sections an xD

z.b. RAWSIZE ist immer aufgerundet .. z.b. 1230 (virtualsize) => 2000 (rawsize)

^^ .. die nächste Section ist einfach ..
NewSectionRawOffset = RawOffset + RawSize;


dann noch die IMPORT-Sections auf den richtigen offset umschreiben ...
(oder ein haufen DLL's reinschreiben xD)

Und im ENTRY-POINT.. eine JMP reinschreiben zum echten ENTRY-POINT
(oder ENTRY-POINT umschreiben.. ich find jmp reinschreiben geht leichter xD)
Dann kannst sogar die unpacked engine.exe starten xD
(wennst alles richtig machst ~.~ .. ist ja ein haufen arbeit .. automatisch geht da nix xD)

Have a lot of fun.. xD


BakaBug is offline  
Thanks
5 Users
Old   #3
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
Das hört sich ganz einfach an =). Ich versuch mich zum ersten mal an Armadillo und ich finde das Ding suckt gewaltig.

Also OllyDBG ist in dem Fall komplett für die Katze. Ich probiers mal aus <- grad noch eine kurze Frage, was für eine DLL ich injiziere ist egal, oder ? Bin noch etwas Nooby in dem Gebiet.
FFCloud is offline  
Old   #4
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
Quote:
Originally Posted by FFCloud View Post
Awas für eine DLL ich injiziere ist egal, oder ?
Egal ist das net .. sagen wirs so deine DLL sollte geladen werden vor HShild xD
Sprich am besten ist eine PROXY-DLL ...

z.b. ADVAPI32.dll oder KERNEL32.dll oder USER32.dll.. die werden schon mit dem Arma dingsda Loader geladen .. musst aber aus passen das Arma dingsda .. die sections schon erstellt hat ..
einfach nen thread starten und schauen ob auf 0x00400k MZ steht (DOS Header)
(oder 2sek sleep .. xD natürlich in einem THREAD ! sonst stopt alles)

Einfach registry den Eintrag unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\KnownDLLs
den namen deine proxy dll rauslöschen .. dann wird die dll vom Verzeichnis geladen ..
wie z.b ws2_32.dll (die steht standart net im KnownDlls drin)

Kannst es auch mit API Init DLL Eintrag dingda probieren (hab ich noch nei gemacht deswegen weiß ichs net.. - hab ich aber irgendwo in CodeProjects gelsen .. unter APIHooking oder so) ..
Da ist dann auf jeden fall einfach ne DLL zu erstellen

Auf jeden fall mein aktueller DUMP-CODE .. ohne PE/MZ-Header reader ..
sprich offsets müssen selber angegeben werden, schaut so aus:
PHP Code:
 printf("DUMPING Engine.exe ");
  
ofstream file ("Engine_DUMP.exe"ios::out|ios::binary);
  if (
file.is_open())
  {
    
charmemblock=(char*)0x00400000;
    
file.write (memblock5705728); //5.2 mb
    
file.close();

    
cout << " the complete memory is written to Engine_DUMP.exe  n";

    
delete[] memblock;
  } 
btw this is C++ not PHP

Und den EntryPoint hab ich so gefunden:
PHP Code:
int WINAPI MyHook(LPOSVERSIONINFOA lpVersionInformation)
{
    
//backadress xD
    
DWORD backadress=0;
    
__asm
    
{
        
mov eax,[ebp+4];
        
mov backadress,eax;
    }
    if  (
backadress 0x00700000)
    {
        
printf("Entry Point found! I believe it's near 0x%08x n",backadress);
        
Sleep(1000);
    }
    return 
GetVersionExW(LPOSVERSIONINFOW(lpVersionInformation));

Einfach ein GetVersionExA hook
Jo ..Kal wurde in VC geschrieben ... schön das beim EntryPoint .. IMMER GetVersionExA.. abgefrag wird xD
thx Microsoft

Einfach den ersten Offset aufschrieben .. dann im VC debugger auf die adress springen und den Anfang der funktion suchen (ja der ist 3-4 zeilen weiter oben xD)
push 60 steht dann dort .. glaub ich
Dann haste auch schon den EntryPoint

Vllt kommste auch mit nen Injector rein.. aber hmh das ist net so sicher xD musste ausprobieren


BakaBug is offline  
Thanks
1 User
Old   #5
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
Ah wollt noch sagen..

Auch wenn hshild errors anzeigt.. solange deine dll drinnen ist
...
kannst auch alles rauskopieren xD

Also deswegen könnte auch ein injector vllt gehen...
BakaBug is offline  
Old   #6
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
Das mit dem Dumpen hat vorzüglich geklappt ^^ und ich steh jetzt vor nem anderen Problem. Und zwar laut deinem Snippet Hookst du GetVersionEx, wenn es ausgeführt wird, dann schnappst du dir die Addresse auf, wo es ausgeführt wurde und E Viola. Ich hab so viel Ahnung von WINAPI Hooks wie vom Fischen <- Lokale und Globale Tastenhooks, Mousehooks und andere Hooks ja, aber keine API Hooks, wobeis im Endeffekt das gleiche ist, nur anders >.<'. Also, Delphi wegschmeißen und mit C++ beschäftigen.


EDITEDITEDITEDIT:

Aber ich bin zuversichtlich, dass ichs noch packe ^^ bin immerhin ein Sturkopf
FFCloud is offline  
Old   #7
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
Du musst net mal API-Hooken es reicht wennst es überschriebst .. z.b. Intercept
PHP Code:
Intercept(INST_JMP,(DWORD)GetVersionExA,(DWORD)MyHook,5); //oder 6 bytes wurscht 
Wenns den Intercept von meinem how to gamehack benützt
BakaBug is offline  
Old   #8
 
elite*gold: 0
Join Date: Dec 2007
Posts: 65
Received Thanks: 7
Would anyone be willing to translate in english?
BOMB9999 is offline  
Old   #9
 
elite*gold: 120
Join Date: Sep 2007
Posts: 10,472
Received Thanks: 4,413
Too many to translate and you wouldnt understand it anyway xD


--
Ich kann net pennen böh -.-
exeduz is offline  
Old   #10
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
nach einem Tag rumärgern hab ich eine DLL gebaut die die kompletten Calls an Kernel32.dll redirected und die eigene GetVersionExA benutzt. Jetzt hab ich das Problem beim translaten deines Textes in Delphi, da läuft net alles so rund. OEP gibt der mir 0 aus und hängt sich auf. Wenn ich die Ursprüngliche GetVersionExA benutze funktioniert es wie geplant ohne Probleme. Liegt aber an der Routinenabhandlung. Habs noch nicht geschafft die Params durch GetVersionExW zu holen und weiter zu geben. Muss mir diese API mal genauer anschauen <- die SUCKT, nie wirklich betrachtet beim Programmieren. Also ich bin kurz vorm Durchbruch ^^

Gruß Cloud
FFCloud is offline  
Old   #11
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
?
Du musst die parameter net von GetVersionExW .. auslesen
du überschriebst GetVersionA mit deiner funktion..

und vor dort ließt du die BACK-ADRESS aus (steht doch in meinem sample ~.~)

Was mit noch auf gefalllen ist .. (besser gesagt Zero)..
wenn man auf 0x00401k sich die ersten bytes kopiert kommt man zu
rawoffset 0x0001k .. naja leider ist das falsch ...

Du musste schon vergleichen ob der rest auch gleich ist xD
(also nach den 16bytes .. oder 20bytes)
BakaBug is offline  
Old   #12
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
Ich bin hohl ...
FFCloud is offline  
Old   #13
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
Ich hab die EXE gedumped hab den OEP hab alles... aber es geht nicht... -.- jetzt hab ich die unpacked EXE die nicht startet sondern GetVersionExA ausführt und dat wars.

Mysteriös ab und zu startet sie bis zum Loading-Window und PAM:
Error while unpacking program, code LP5. Please report to author.

Hat jemand ne Ahnung ?
FFCloud is offline  
Old   #14
 
elite*gold: 0
Join Date: Jan 2008
Posts: 122
Received Thanks: 145
Quote:
Originally Posted by FFCloud View Post
Ich hab die EXE gedumped hab den OEP hab alles... aber es geht nicht... -.- jetzt hab ich die unpacked EXE die nicht startet sondern GetVersionExA ausführt und dat wars.

Mysteriös ab und zu startet sie bis zum Loading-Window und PAM:
Error while unpacking program, code LP5. Please report to author.

Hat jemand ne Ahnung ?
du musst den OEP noch umschrieben --__--
oder im OEP eine JMP zum ECHTEN-OEP schreiben
BakaBug is offline  
Old   #15
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 5
I've successfully unpacked engine.exe from Armadillo. HackShield is not bypassed. Many thanks to BakaBug. On request I will write an tutorial.

Greetings fly out to MeepMoep and BakaBug =)


FFCloud is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
hackshield bypassing?
ok so I'm just trying to make a little bot , nothing fancy, no packet sending or whatever, just pixel bot I got the code pretty much ready...
2 Replies - Kal Online
HELP ME!Bypassing new r11 hackshield
Does anyone know a way around Aylen's new protection against packet hacks? Or atleast what it would take to do so. ty
1 Replies - Kal Online
[Help] New ways on Bypassing RF-PH Hackshield
does anyone has an idea on how to bypass RF-Ph hackshield? Just post the link if there is an existing thread about this topic....Salamat po...:mofo:
0 Replies - RF Online
BYPASSING HACKSHIELD SA RFPH!!!
Does anyone know how to bypass hackshield in rfph? i've tried renaming psapi.dll and EHSvc.dll but i cant still bypass the hackshield....HELP!!!!!
5 Replies - RF Online
[SUCHE] Tutrial zu Armadillo
Hi! Gibt es irgendwo ein Tutorial zum entpacken von ausführbaren Dateien, die mit Armadillo gepackt wurden. Hab schon ein paar automatische...
6 Replies - Kal Online



All times are GMT +2. The time now is 14:48.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.