Register for your free account! | Forgot your password?

You last visited: Today at 00:18

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

Advertisement



Requia

Discussion on Requia within the Guild Wars forum part of the MMORPGs category.

Reply
 
Old 01/29/2007, 23:32   #61
 
elite*gold: 0
Join Date: May 2006
Posts: 162
Received Thanks: 44
Quote:
Big words? I 'm not the one who talks here about my job, my projects, what cool things I have on my harddrive or claim that all users here are idiots. You are the one.
did I talked about my job. not at all. arrogant? yes. reason? look at the quotes in my first posts today.

Quote:
And the Santa Claus hides itself within the PEB?
the difference between us is, I am only arrogant when I know that I am right. You and a few other here are arrogant when they have no real clue. Since you didn't mentioned the thread local storage memory example for playergold .... I assume that you know that already ; )
Harko is offline  
Old 01/29/2007, 23:47   #62
 
elite*gold: 0
Join Date: Mar 2006
Posts: 111
Received Thanks: 0
Quote:
Originally posted by Harko+Jan 29 2007, 23:32--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Harko @ Jan 29 2007, 23:32)</td></tr><tr><td id='QUOTE'>did I talked about my job. not at all. arrogant? yes. reason? look at the quotes in my first posts today.[/b]

ok

Quote:
Originally posted by -Harko@Jan 29 2007, 23:32
You and a few other here are arrogant when they have no real clue.
No real clue? I pointed out, that I never had GW.

Quote:
Originally posted by -Harko@Jan 29 2007, 23:32
Since you didn't mentioned the thread local storage memory example for playergold .... I assume that you know that already ; )
I didn't thought you need an explanation for this ... oh, wait, you think I can't understand it, am I right? :-

<!--QuoteBegin--Harko
@
mov ecx, fs:0x2c[/quote]
The TEB begins at fs:0x18. Are you happy now?
SilonVier is offline  
Old 01/30/2007, 00:19   #63
 
elite*gold: 0
Join Date: May 2006
Posts: 162
Received Thanks: 44
Quote:
No real clue? I pointed out, that I never had GW.
you misunderstood me. I never said people wont understand such stuff. You know it isn't really rocket science. I don't know what you can and what not and I must admit I don't care either but judging about stuff you never saw was the important point.

Same for cracking requia. It isn't impossible to crack Requia but it is **** hard because Requia itself contains an own virtual machine. ok more a simple nop slider code generator which creates polymorph injection code. To crack Requia you would first need to know which calls exactly Requia use in Guild Wars, how and then you would have to analyze large parts of Requia to understand the code generator fully. Again not rocket science but would take a lot of time. Judging by me I would faster write a complete new bot hehe. Thats why the quotes from above are so funny to me.

for your examples:
- it should be near impossible to find an internal function like MoveTo with searching for variables like x/y/z. Why? Because the character starts moving when client got the response packet from the server.

- same with breaking keyboard events directly because gw use multithreading a lot. You would first need to understand which data structures are responsible as evaluation message for each thread. Following the program flow to the important part is **** hard.

and to make the thread worth reading:
http://en.wikipedia.org/wiki/Win32_Thread_...formation_Block
Harko is offline  
Old 01/30/2007, 00:26   #64
 
elite*gold: 0
Join Date: Mar 2006
Posts: 111
Received Thanks: 0
Thanks for the reply, Harko. I have to work tomorrow .. err today and I go sleep now. You will get your answer in some hours :-)

<hr>Append on Jan 30 2007, 10:58<hr> I will answer in german. There is no need to talk in english ? we and most readers of this topic speak german. Das ist auch ziemlich anstrengend bei solch einem Thema.

Quote:
Originally posted by Harko+Jan 30 2007, 00:19--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Harko @ Jan 30 2007, 00:19)</td></tr><tr><td id='QUOTE'>you misunderstood me. I never said people wont understand such stuff. You know it isn't really rocket science. I don't know what you can and what not and I must admit I don't care either but judging about stuff you never saw was the important point. [/b]

Alles was ich geschrieben habe, _war_ zum Großteil spielunabhängig und das habe ich mehr als deutlich gekennzeichnet, indem ich erwähnte, ich hätte nie GW besessen. Es hat mir eher den Anschein, du hättest dir gewünscht, ich hätte dich direkt im Bereich GW bemängelt, aber das habe ich nicht. Der einzige Punkt, wo man das missverstehen könnte, war die Stelle mit dem Weihnachtsmann. Von meiner Seite aus, sollte es bei dieser trockenen Diskussion eine humorvolle Aussage sein und keine Verneinung. Wie könnte ich auch? Ich besitze kein GW und das hätte dir von Anfang an klar sein sollen, wie das gemeint war (aber ich verstehe auch, wenn du es falsch verstanden hast).

Ich wusste, man kann Thread-lokale Variablen nutzen (wenn nicht, würde ich mir jetzt einen Strick holen). Für mich ist es aber ziemlich neu, dass ein Computerspiel es in so einem hohen Maße nutzt. Ich greife selbst gerne auf den PEB o. TEB zu.
Um ehrlich zu sein, hat das mit GW jetzt mein Interesse geweckt und ich werde mir dieses Spiel zulegen ? nächsten Monat, wenn ich wieder Geld auf dem Konto habe ;-)

Quote:
Originally posted by -Harko@Jan 30 2007, 00:19
Same for cracking requia. It isn't impossible to crack Requia but it is damn hard because Requia itself contains an own virtual machine.
Bis auf einen ?proof-of-concept?, hätte das auch kaum einen Nutzen, es zu cracken. Hier solltest du dein Flaming in Richtung x-sol lenken.

Quote:
Originally posted by -Harko@Jan 30 2007, 00:19
ok more a simple nop slider code generator which creates polymorph injection code. To crack Requia you would first need to know which calls exactly Requia use in Guild Wars, how and then you would have to analyze large parts of Requia to understand the code generator fully.
Ok.
Wie wäre es, wenn du deine NOPs, die du zwischen die Instruktionen schreibst, einfach mit Int03s austauschst oder überhaupt den Code durchsuchst und alle NOPs damit ersetzt, wenn du merkst, ein Debugger wurde rangehängt? (hier wäre ein Length Disassembler oder sogar ein Disassembler sicherlich von Vorteil) Wäre doch eine schöne Ergänzung ;-)

Quote:
Originally posted by -Harko@Jan 30 2007, 00:19
Again not rocket science but would take a lot of time. Judging by me I would faster write a complete new bot hehe. Thats why the quotes from above are so funny to me.
Ich selbst habe über die Beiträge von x-sol lachen müssen, aber das würde ich hier und jetzt nie zugeben.

Quote:
Originally posted by -Harko@Jan 30 2007, 00:19
- it should be near impossible to find an internal function like MoveTo with searching for variables like x/y/z. Why? Because the character starts moving when client got the response packet from the server.
Schlecht ausgedrückt? Meinst du vielleicht, dass der Charakter den Server fragt ob die Position ok ist, wenn der User den Befehl zur Bewegung gegeben hat? Bei den meisten Spielen ist es ja so, dass der Benutzer den Charakter bewegt und der Client, da er das Gebiet vor sicht hat, akzeptiert es und bewegt den Charakter dort hin ohne auf die Antwort des Servers zu warten. Den Server informiert er natürlich über den Weg und wenn der Weg doch nicht korrekt war, wird er nachträglich nach dem Erhalt dieser Information wieder zurückgesetzt.
Wenn das nicht so ist, dürfte das bei einer scheiss Leitung mit einem schlechten Ping zu einem Frust kommen, wenn GW wirklich auf jede Bewegung die Antwort des Servers erwartet, bevor der Charakter irgendwohin bewegt wird.
Beim letzteren würde ich mir anschauen welches Packet es ist und wenn dieses empfangen wird, würde ich einen Breakpoint auslösen und von dort meinen Tracevorgang beginnen. Ja, mir ist auch hier klar, dass es recht hart sein kann.

<!--QuoteBegin--Harko
@Jan 30 2007, 00:19
- same with breaking keyboard events directly because gw use multithreading a lot. You would first need to understand which data structures are responsible as evaluation message for each thread. Following the program flow to the important part is damn hard. [/quote]
Es war eine Aufzählung von 3 möglichen Methoden und dass diese einfach wäre, hatte ich nicht gesagt.
Wenn das alles für GW kaum geeignet ist, kannst du mir, wenn du nichts besseres zu tun hast, sagen, wie du vorgegangen bist.

Ich würde dir jetzt ein kühles Bier anbieten, wenn du nicht so weit weg wärst. Dann könnten wir das ganze in Ruhe am Tisch besprechen.
SilonVier is offline  
Old 01/30/2007, 13:33   #65
 
kalvam's Avatar
 
elite*gold: 0
Join Date: Nov 2004
Posts: 794
Received Thanks: 72
Herrgott nochmal, geht die Scheiße hier immer noch weiter? Hatten wir jetzt nicht schon genug E-Drama, Aufgeplustere und Stofftiertränchen?
kalvam is offline  
Old 01/30/2007, 14:23   #66
 
elite*gold: 0
Join Date: Mar 2006
Posts: 111
Received Thanks: 0
Quote:
Originally posted by kalvam@Jan 30 2007, 13:33
Herrgott nochmal, geht die Scheiße hier immer noch weiter? Hatten wir jetzt nicht schon genug E-Drama, Aufgeplustere und Stofftiertränchen?
Nein. Das sind Dinge, die nur Männer verstehen können
SilonVier is offline  
Old 01/30/2007, 14:26   #67
 
elite*gold: 0
Join Date: Oct 2005
Posts: 2,487
Received Thanks: 215
Viel interessanter ist doch wirklich die Überlegung, wie Requia gemacht wurde, nicht es zu nutzen. Jeder hat unmengen Geld in GW, also ist doch der Kinderquark mit Michael mehr als unsinnig.

Und nochwas - da krieg ich schlechte Laune - das AutoIt-Script funktioniert, es sei denn man ist nicht in der Lage ein paar simple Dinge zu beachten <.<
Term!nX is offline  
Old 01/30/2007, 16:16   #68
 
elite*gold: 0
Join Date: Aug 2006
Posts: 32
Received Thanks: 0
Hi, I know I said I was not going to post anymore, but in the end I am an addict..... so...

EAX is the internal registar used by the proc/call instructions. I.E. if I call void foo(){/*do some chit*/} the address/offset of foo is pushed to EAX. Depending of the type of call convection used by the compiler some othe stuff happens.

What Harko did with requia is not as complex as the non programmer or some one who has not done any research would realize. Compilers provide a certian instruction and expect the callee to behave based on that certian intstruction. If you know the compiler used you are a long way to being able to do what requia does. From there you need function offsets and then you need to know if the caller or callee clears the stack. Btw, after each call EAX is pushed to the stack so it can be tracked and recovered.

The only reason I ever try to talk to you Harko is, as you know, that, you have experiance I don't; I see value in that.

I could crack your old discontinued app and you know it. But it is just like you said. Would it be right, no. I am to lazy to decomp and rewrite the thing then to replace the hook dll. Why do all that? Let's just make a new better one. No ego attached. See I seperate my ego from my work/hobbies. If you or anyone likes something I make they will always be able to use it. Go figure....

Please, inform of how I am wrong. And, note I have not read all the posts....

<hr>Append on Jan 30 2007, 16:25<hr> Added note. You do know I have written several code gen's and am writing a new as we speak.... sounds neat

<hr>Append on Jan 30 2007, 16:26<hr> You're sitting there say something back so I can argue with you....
x-sol is offline  
Old 01/30/2007, 16:50   #69
 
elite*gold: 0
Join Date: May 2006
Posts: 162
Received Thanks: 44
Quote:
Ok.
Wie wäre es, wenn du deine NOPs, die du zwischen die Instruktionen schreibst, einfach mit Int03s austauschst oder überhaupt den Code durchsuchst und alle NOPs damit ersetzt, wenn du merkst, ein Debugger wurde rangehängt? (hier wäre ein Length Disassembler oder sogar ein Disassembler sicherlich von Vorteil) Wäre doch eine schöne Ergänzung ;-)
Der Name scheint irreführend zu sein. Er bedeutet nicht das er eine zufällige Anzahl nops einfügt. Der Name und die Grundidee kommen aus der der StarForce VM. Welche Code Instructions die sie nicht als VM Opcodes interpretieren kann einfach in einen Random erstellen Speicherbereich kopiert, direkt ausführt, Resultat in den VM RAM kopiert und Speicherbreich wieder freigibt. Damit es keine Crashs gibt wird der Speicherbreich vorher logisch mit 90h Bytes ausgefüllt und daher der Name. Keine Sorge sind genug kleine Gemeinheiten drin ; )

Quote:
Wenn das nicht so ist, dürfte das bei einer scheiss Leitung mit einem schlechten Ping zu einem Frust kommen, wenn GW wirklich auf jede Bewegung die Antwort des Servers erwartet, bevor der Charakter irgendwohin bewegt wird.
Man schickt nur eine Anfrage "Möchte zu Punkt x/y laufen" oder "Möchte zu Objekt o laufen" und der Rest macht der Server. Er bestimmt wann man anfängt zu laufen, wann man die Route ändern muß weil ein Hindernis im Weg ist und wann man aufhören muß weil man gegen eine Wand/Objekt gelaufen ist.

Ja in einem Spiel wie WoW/RFO/VG/EQ würde es nicht funktionieren aber GW basiert vom Aufbau auf einee 2D Engine und der RunSpeed selber ist sehr "langsam" deswegen warpt man erst wenn der Lag sehr groß wird. Man kann es auch ganz einfach testen indem man RunSpeed im Client erhöht. Dadurch wird Client und Server nicht mehr syncron sein. Folge man kann durch alles durchlaufen, warpt aber zurück wenn er serverseitig auf das Objekt aufläuft.

Quote:
Und nochwas - da krieg ich schlechte Laune - das AutoIt-Script funktioniert, es sei denn man ist nicht in der Lage ein paar simple Dinge zu beachten <.<
wieso denkst du das ich deins meine hehe




<hr>Append on Jan 30 2007, 17:06<hr>
Quote:
EAX is the internal registar used by the proc/call instructions. I.E. if I call void foo(){/*do some chit*/} the address/offset of foo is pushed to EAX. Depending of the type of call convection used by the compiler some othe stuff happens.
you should really read "Assembler for beginners"

1. the sentence as a whole doesn't make sense

2. you can't push an address to a register, push/pop are stack manipulating operations, between the stack and the register or the stack and the memory address

3. eax (extended accumulator register) will never, and I mean never, be used function overlapping. ECX is used for class object pointers but never, ever EAX. EAX in for normal c++ compiler is always a short term register which value doesn't matter anymore after a few instructions. ; ) Mostly used for function return values, pointers and simple counters in loops. So sorry your text doesn't make any sense.

Good try but as you said "some other stuff happens" hehe

Quote:
Let's just make a new better one.
you said this 4 month ago already. I am still waiting : )

Quote:
Added note. You do know I have written several code gen's and am writing a new as we speak.... sounds neat
nice I am proud of you
Harko is offline  
Old 01/30/2007, 17:47   #70
 
elite*gold: 0
Join Date: Aug 2006
Posts: 32
Received Thanks: 0
Just because you don't understand my wording; doesn't mean I am wrong. I am simplifieing what a cdelc function does when it is invoked.

The compiler/interpreter/processor places the address of the currently invoked instruction in EAX. It is automated. It is an internal operation of the cpu. Maybe I am thinking of EPX... I forget it's been months since I have looked into it...

at any rate, there is a register that you can't effect direclty unless you call a method or invoke an address.

You're the guru why don't you correct my poor misinformed self.


So you want to me explain the dif. between the callee pushing it's param off the stack and the caller in terms of the call convection applied to the function...? I mean I am just a noob dummy remember? How about the great Harko shares some of his knowledge instead of just saying wrong?? Maybe you mean I should write an article on pushing and poping the parms in the right order?
x-sol is offline  
Old 01/30/2007, 17:48   #71
 
elite*gold: 0
Join Date: Oct 2005
Posts: 2,487
Received Thanks: 215
Quote:
Quote:

Und nochwas - da krieg ich schlechte Laune - das AutoIt-Script funktioniert, es sei denn man ist nicht in der Lage ein paar simple Dinge zu beachten <.<

wieso denkst du das ich deins meine hehe
weil bis auf cyberspam nur meine existieren :P (oder ich hab den Bezug zur realen Welt völlig verloren und übersehe seit 1 Jahr einen anderen GW-Bot).
Aber sie tun ihren Zweck
Term!nX is offline  
Old 01/30/2007, 18:01   #72
 
elite*gold: 0
Join Date: Aug 2006
Posts: 32
Received Thanks: 0
on, the four month thing... I don't have time to play with it. I have to work. I am talking with a guy about working on it, but it won't be done anytime this year. And, what we are talking about is not exactly like requia. It's more like wiki bot... it uses a fuzzy logic rythm to find pattens in code from there a user reviews the results refines the parameters for the current exe/dll then blah blah blah extract info for use on a wiki type site and run it to update it... I plan to add more of the type of thing requia does also, but work first hobbies second

<hr>Append on Jan 30 2007, 18:04<hr> n3Cre0 - don't talk to me. I have no respect for you. I do at least respect Harko.
x-sol is offline  
Old 01/30/2007, 18:07   #73
 
Raiseyourfistforangerfist's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 77
Received Thanks: 2
i want requia old back!!!without constru..... !
Raiseyourfistforangerfist is offline  
Old 01/30/2007, 18:07   #74
 
elite*gold: 0
Join Date: May 2006
Posts: 162
Received Thanks: 44
Quote:

It is an internal operation of the cpu. Maybe I am thinking of EPX... I forget it's been months since I have looked into it...

at any rate, there is a register that you can't effect direclty unless you call a method or invoke an address.
the name is not eax and not epx it is eip (extended instruction pointer)

dunno what you exactly meant maybe constructions like

call blabla
blabla:
pop eax

eax will contain the address of the instruction "pop eax" because call puts the return address on the stack

there is nothing really special about it, just a simple way to handle relocations at runtime
Harko is offline  
Old 01/30/2007, 18:16   #75
 
elite*gold: 0
Join Date: Mar 2006
Posts: 111
Received Thanks: 0
Quote:
Originally posted by Harko@
Der Name scheint irreführend zu sein. Er bedeutet nicht das er eine zufällige Anzahl nops einfügt. Der Name und die Grundidee kommen aus der der StarForce VM. Welche Code Instructions die sie nicht als VM Opcodes interpretieren kann einfach in einen Random erstellen Speicherbereich kopiert, direkt ausführt, Resultat in den VM RAM kopiert und Speicherbreich wieder freigibt. Damit es keine Crashs gibt wird der Speicherbreich vorher logisch mit 90h Bytes ausgefüllt und daher der Name. Keine Sorge sind genug kleine Gemeinheiten drin ; )
Das ist gar nicht mal so doof. Die Frage ist nur, wie weit ich mich hier austoben könnte, wenn ich mich entscheide so etwas zu implementieren, bis das mit meiner Anti-Detection kollidiert (sprich der "Schutz" nicht mehr in dem Maße gewährleistet ist). Wenn meine Anti-Detection geladen wird, hookt es automatisch auch selbst diverse lokale Aufrufe (bsp. new) und ich könnte den Code hier nicht einfach in einen virtuellen Bereich verschieben und ihn dort ausführen, da hier der EIP auf dem Stack z. B. entscheident für das Resultat des Aufrufs sein kann. Es schockt wirklich nicht paar Tausend Zeilen Code durchzugehen und schauen, ob das irgendwo kollidiert. Die Anti-Detection selbst ist für außenstehende, die gerade erstmal mit ASM angefangen haben und OllyDbg/IDA bedienen können unüberwindbar. Sie selbst ist nicht perfekt. Ich würde Lücken finden und ausnutzen können. Bei Anti-Detection geht es im großen und ganzen nicht darum einen "perfekten" Schutz zu haben, den es aus technischer Sicht sowieso nie geben wird, sondern es so aufwendig zu gestalten, dass es sich für niemanden mehr lohnt ihn zu durchdringen. Ob meine Anti-Detection etwas taugt, müsste noch mit einer Veröffentlichung bewiesen werden, von daher halte ich hier den Ball etwas flacher.

Ich behalte trotzdem das oben im Hinterkopf.

btw. du hast einige Fehler bei x-sol übersehen (oder ausgelassen?) ;-)
Es bringt auch nichts wenn du ihn korrigierst. Er ist unglaublich ignorant und das wirst auch du nicht ändern können.
(deshalb fange ich erst gar nicht an)
SilonVier is offline  
Reply


Similar Threads Similar Threads
Requia - RF Online Bot
06/17/2012 - RF Online - 116 Replies
Requia unterstützt seit heute RF Online. Mögliche Variablen und Funktionen: * Player / Target / Search variables : PlayerEndu, playerEnduMax, PlayerExp, playerHp, PlayerHpMax, PlayerIndex, PlayerLevel, PlayerMana, PlayerManaMax, PlayerName, PlayerX, PlayerY, PlayerZ, PlayerView : TargetHp, TargetIndex, TargetName, TargetType, TargetX, TargetY, TargetZ, TargetPtr, TargetDistance
Have bot to RFO ? Requia is dowm =/
12/16/2007 - RF Online - 3 Replies
plz give mi link for bot's or requia bot =)
BRAUCHE REQUIA 0.3.0
12/04/2007 - RF Online - 2 Replies
KANN MAL EINER BITTE DIE REQUIA 0.3.0 UPLOADEN ?? weil das 0.2.1d bei rf online irgendwie ned geht , kann da nur GW EXE auswählen aber rechts ist RF ONLINE!! :hm:
requia register / kann man sich noch bei requia ..
01/18/2007 - Guild Wars - 1 Replies
Hey, is it possible to register with requia? i cant join the com, but i wanna bot ------------------- Hey leute



All times are GMT +1. The time now is 00:20.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.