AU3 Detour UDF - A simple way

07/28/2011 22:18 buFFy!#16
natürlich nicht. dafür ist es auch nicht gedacht. und ich bin immernoch stets der meinung das man da c++ nehmen sollte. aber es reicht halt um sich mal den wert aus nem register zu ziehen oder so (was ja oft auch schon entscheidend ist)
07/28/2011 22:26 lolkop#17
Quote:
Originally Posted by u-coRe View Post
dann zeig mir mal wie du den jump, dynamisch natürlich, selbst platzierst
hoffe das war ironisch gemeint...
jumps als opcode im speicher platzieren sollte nun wirklich kein problem sein...
07/28/2011 22:27 buFFy!#18
Quote:
Originally Posted by lolkop View Post
hoffe das war ironisch gemeint...
jumps als opcode im speicher platzieren sollte nun wirklich kein problem sein...
ich sagte dynamisch
07/28/2011 22:44 lolkop#19
Quote:
Originally Posted by u-coRe View Post
ich sagte dynamisch
was soll denn ein dynamischer jump sein?

normale jumps sind doch nur abhängig von aktueller adresse und zieladresse.

die aktuelle adresse bekommt man ja sobald man sich per virtualallocex einen bereich freigibt, bzw hat man sowieso wenn man den jump an einer gewissen stelle im code platziert.
07/28/2011 22:57 buFFy!#20
nicht der jump ist dynamisch, sondern die stelle an der er eingesetzt wird -> nach updates
07/28/2011 22:57 MrSm!th#21
Ähm, was macht denn deine Funktion bitte so tolles? Ich sprach genau von dem, was deine Funktion macht.
Wer sich die Arbeit macht, seine Hook Funktion komplett in ASM zu schreiben, den wird der geringe Mehraufwand durch manuelles Setzen des Jumps auch nicht viel schwerer fallen.

edit:

Was die SearchPattern Funktion angeht...die würde ich nun wirklich eher in C++ realisieren, das würde ja schon extern in C++ lange dauern (siehe CE), aber dann auch noch Autoit...ich bitte dich.
Dann optimiere es doch bitte wenigstens so, dass du eine gesamte Page kopierst und dann lokal in ihr suchst.
Das ist in Autoit zwar immer noch lahm, geht aber schneller als ReadProcessMemory für jedes Byte zu callen.
07/28/2011 23:06 buFFy!#22
die findpattern func ist nicht von mir, und ja ist ja gut. ich code auch ausschließlich in c++, trotzdem gehts hier nunmal um autoit. das ganze soll weder für dauerhafte benutzung geeignet sein, noch großartig komfortabel sein. das ist lediglich ein denkanstoß für diejenigen die das unbedingt wollen, wie man sowas denn realisieren könnte ! mkay?
07/28/2011 23:09 MrSm!th#23
Also wie ich sagte, ein nutzlose Spielerei :p
11/12/2011 11:30 HHamburg#24
Quote:
Originally Posted by buFFy! View Post
das ist lediglich ein denkanstoß für diejenigen die das unbedingt wollen, wie man sowas denn realisieren könnte !
geile Arbeit, hab mich schon immer gefragt ob man es in Autoit lösen könnte :awesome:
02/14/2012 12:22 Crack-7#25
Naja eigendlich bringt das ja rein garnichts.
Mann muss hierfür ja ne addy für nen codecave finden, etc.
Anstatt wie in C++ es mit InlineASM verwenden zu können.
Dann kann man einen register nicht direkt in eine variable schieben, sondern muss es extra auslesen.

Naja schade hätte von der udf mehr erwartet.
02/14/2012 13:03 lolkop#26
Quote:
Originally Posted by Crack-7 View Post
Naja eigendlich bringt das ja rein garnichts.
Mann muss hierfür ja ne addy für nen codecave finden, etc.
Anstatt wie in C++ es mit InlineASM verwenden zu können.
Dann kann man einen register nicht direkt in eine variable schieben, sondern muss es extra auslesen.

Naja schade hätte von der udf mehr erwartet.
schreib dir halt selbst einen asm interpreter für die befehle welche du brauchst :o sollte ja kein all zu großer aufwand sein eigentlich...
02/14/2012 19:50 V8II#27
Haha! Hätte nie gedacht , dass sowas in Autoit überhaupt geht =)
Ganz lustig, thanks!
03/15/2012 18:54 Crack-wtf#28
Sorry für den push.

Ich wollte nur mal sagen, dass ich im moment eine Idee habe, und versuche sie umzusetzen.

Ich habe eine dll erstellt, die einfach nur "char detourspace[4000];" enthält.
Dann injecte ich die dll in den gewünschten Prozess, und nutz den darin vorhandenen freispeicher für meine detours.

Dann schreib ich ne func, die die addy der dll holt, davon immer freien speicher sucht, und da dann die detour functions hinsetzt.

Dann ist eine art inline asm möglich.

Muss dann push jmp etc. übersetzen, aber das macht nix ^^


Quote:
Originally Posted by Freddy​ View Post
aha. Wer will das wissen?
#reported
03/15/2012 19:35 Freddy​#29
Quote:
Originally Posted by Crack-wtf View Post
Sorry für den push.

Ich wollte nur mal sagen, dass ich im moment eine Idee habe, und versuche sie umzusetzen.

Ich habe eine dll erstellt, die einfach nur "char detourspace[4000];" enthält.
Dann injecte ich die dll in den gewünschten Prozess, und nutz den darin vorhandenen freispeicher für meine detours.

Dann schreib ich ne func, die die addy der dll holt, davon immer freien speicher sucht, und da dann die detour functions hinsetzt.

Dann ist eine art inline asm möglich.

Muss dann push jmp etc. übersetzen, aber das macht nix ^^
aha. Wer will das wissen?
03/15/2012 20:08 lolkop#30
Quote:
Originally Posted by Crack-wtf View Post
Sorry für den push.

Ich wollte nur mal sagen, dass ich im moment eine Idee habe, und versuche sie umzusetzen.

Ich habe eine dll erstellt, die einfach nur "char detourspace[4000];" enthält.
Dann injecte ich die dll in den gewünschten Prozess, und nutz den darin vorhandenen freispeicher für meine detours.

Dann schreib ich ne func, die die addy der dll holt, davon immer freien speicher sucht, und da dann die detour functions hinsetzt.

Dann ist eine art inline asm möglich.

Muss dann push jmp etc. übersetzen, aber das macht nix ^^




#reported
das ganze ist absoluter schwachsinn... da kann man sich genauso gut per allocate befehle den speicher reservieren, wie du es beim injecten der dll ja ohnehin machst...