Français
Stammtisch & le café

DLL injection pour chacun???

 
- page 1 -


allô alle zusammen...

dedans de Windows sommes quelques Zaubereien possible, qui normalement gar pas marcher devrait. une en ist qui DLL Einschleusung dans fremde Prozesse. je denke, le moi une weitere Possibilité qui DLL-injection aussi avec Profan hinbekomme. Sollte on que voici posten???
 
30.08.2006  
 



 
- page 3 -



Frank
Abbing
qui verwendet aussi seulement GDI...
 
02.09.2006  
 



Nochmals zum Subclassing => bereits GetWindowLong pour qui Fensterprozedur lief autrefois chez mir ins le vide. Hatte pour folgende Erklärung:
Wäre es possible, la fenêtre fremder Anwendungen sans weiteres trop subclassen, pourrait on per Message direct une beliebige API-Funktion ou bien Adresse anspringen et, ähnlich comment chez qui Shatter Attacke, cela Sicherheitssystem ausschalten um Avancé Privilegien trop conservé. seul aus diesem Grund pourrait un Subclassing fremder la fenêtre eigentlich pas marcher...
 
02.09.2006  
 




Frank
Abbing
Klingt absolu logisch. et wird wohl so son.
 
02.09.2006  
 




Sebastian
König
[quote-part:4e9eea8f3c]Nochmals zum Subclassing => bereits GetWindowLong pour qui Fensterprozedur lief autrefois chez mir ins le vide. Hatte pour folgende Erklärung:[/quote-part:4e9eea8f3c]
allô Andreas,

quoi oui c'est ca hattest Du car versucht? simple avec SetWindowLong() qui la fenêtre-Procédure eines fremden Fensters sur une XProfan-CallBack-Funktion [via ProcAddr()] trop mettons? ou bien hattest Du déjà une Funktions-Adresse dedans des fremden Prozesses par DLL-Injection zur Disposition?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
02.09.2006  
 



allô Sebastian...

Vorneweg => und dir ici um NT-basierende Systeme, alors um 2000 et XP avant allem, getestet habe je avec Windows2000 Servicepack 2:
KompilierenMarqueSéparation
Def @GetWindowLong(2) !"USER32","GetWindowLongA"
Def @GetWindowThreadProcessId(2) !"USER32","GetWindowThreadProcessId"
DEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID"
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
DEF @AHFormatMessage(7) !"KERNEL32","FormatMessageA"
Def @GetCurrentProcessID(0) !"KERNEL32","GetCurrentProcessId"
Def @GetCurrentThreadId(0) !"KERNEL32","GetCurrentThreadId"
Def @GetLastError(0) !"KERNEL32","GetLastError"
Def @SetLastError(1) !"KERNEL32","SetLastError"
Declare AHRückgabe&,AHGETERROR_Buffer#,AHGETERROR_Buffer$
Declare Button&,Fenstertitel$,Fensterhandle&,Prozess_ID&,Thread_ID&,Prozeduradresse&
Windowstyle 31
Window 0,0-640,440
Windowtitle "Fensterprozedur ermitteln"
Let Button&=@Create("Button",%HWND,"Fenster auslesen",100,10,300,30)

While 0=0

    Waitinput

    IF @ButtonClicked(Button&)

        Clearlist
        ADDWINDOWS ""
        LET Fenstertitel$=@LIstBox$("Fenstertitel (biite ein Fenster auswählen):",3)

        IF Fenstertitel$<>""

            LET Fensterhandle&=@FindWindow(Fenstertitel$)
            LET Thread_ID&=@GetWindowThreadProcessId(Fensterhandle&,@ADDR(Prozess_ID&))
            @SetLastError(0)
            LET Prozeduradresse&=@GetWindowLong(Fensterhandle&,$FFFFFFFC)
            Let AHRückgabe&=@GetLastError()
            Fehlercode_bestimmen
            CLS
            Locate 5,0
            Print "Name des Fensters: "+Fenstertitel$
            Print "Handle des Fensters: "+@STR$(Fensterhandle&)
            Print "Ausgelesene Adresse der Fensterprozedur: "+@STR$(Prozeduradresse&)
            Print "Letzter API Fehler: "+@STR$(AHRückgabe&)
            Print "API Meldung: "+AHGETERROR_Buffer$
            Print "ID des erzeugenden Prozesses: "+@STR$(Prozess_ID&)
            Print "ID meines Prozesses: "+@STR$(@int(@GetCurrentProcessID()))
            Print "ID des erzeugenden Threads: "+@STR$(Thread_ID&)
            Print "ID meines Threads: "+@STR$(@int(@GetCurrentThreadID()))

        endif

    endif

Wend

Proc Fehlercode_bestimmen

    DIM AHGETERROR_Buffer#,32000
    @AHFormatMessage($1000,0,AHRückgabe&,0,AHGETERROR_Buffer#,32000,0) Wandelt Fehlercode in Landesspezifische Message um.
    Let AHGETERROR_Buffer$=@STRING$(AHGETERROR_Buffer#,0)
    Dispose AHGETERROR_Buffer#

/../function-references/XProfan/endproc/'>ENDPROC


Comme je le disais, si Subclassing de Windows fremder Prozesse sans DLL injection sur neueren NT-basierenden Systemen wirklich marcher serait, serait mich cela très erschrecken, car es wäre pour mich avec Sicherheit ne...aucune Problem dedans moins Minuten un Programme trop écrivons, quoi alle aktuellen Windowsversionen sicherheitstechnisch aushebelt (comment chez Shatter).
 
02.09.2006  
 




Sebastian
König
allô Andreas,

[quote-part:e603eb83d3]Comme je le disais, si Subclassing de Windows fremder Prozesse sans DLL injection sur neueren NT-basierenden Systemen wirklich marcher serait, serait mich cela très erschrecken, car es wäre pour mich avec Sicherheit ne...aucune Problem dedans moins Minuten un Programme trop écrivons, quoi alle aktuellen Windowsversionen sicherheitstechnisch aushebelt (comment chez Shatter).[/quote-part:e603eb83d3]
abgesehen en, dass qui GetWindowLong()-Aufruf [et avec cela sûrement aussi SetWindowLong()] pour cela fremde la fenêtre erfreulicherweise fehlschlägt, gibt es oui zum Glück aussi encore cela prinzipielle Hindernis qui getrennten Adressräume pour verschiedene Prozesse (pas seulement sous WinNT/2000/XP mais grundsätzlich depuis Win95).

mais weil Du so betonst, dass es Dir um NT-basierte Systeme allez: Funktioniert cela Lecture avec GetWindowLong() sous Win9x/ME réellement?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
02.09.2006  
 



[quote-part:8a5d6faacd=Sebastian König]allô Andreas,

abgesehen en, dass qui GetWindowLong()-Aufruf [et avec cela sûrement aussi SetWindowLong()] pour cela fremde la fenêtre erfreulicherweise fehlschlägt,
[/quote-part:8a5d6faacd]
oui, c'est wirklich erfreulich. SetWindowLong schlägt naturellement (zum Glück) aussi fehl.

[quote-part:8a5d6faacd=Sebastian König]
gibt es oui zum Glück aussi encore cela prinzipielle Hindernis qui getrennten Adressräume pour verschiedene Prozesse (pas seulement sous WinNT/2000/XP mais grundsätzlich depuis Win95).
[/quote-part:8a5d6faacd]
si es tout autor allez, Windows trop knacken, läßt sich cela sans Probleme tourner autour de - genauer dit, il peut cela sauf huit laisser. cela hatte qui Autor qui Shatter Attacke autrefois aussi pas gesehen - MS scheint cela mais zum Glück encore erkannt trop avons.

[quote-part:8a5d6faacd=Sebastian König]
mais weil Du so betonst, dass es Dir um NT-basierte Systeme allez: Funktioniert cela Lecture avec GetWindowLong() sous Win9x/ME réellement?

MfG

Sebastian[/quote-part:8a5d6faacd]
définitif oui! là ici sowieso aucun unterschiedlichen Rechte vorhanden sommes, wurde cela wohl sauf huit gelassen.
 
02.09.2006  
 



ah oui - apopo sauf huit laisser:
comme mon großer frère son ABI nachgemacht hat, hat il sich gedacht, il peut allemande sauf huit laisser - et ist ensuite partiellement gar pas le Prüfungen erschienen . aujourd'hui hat il une Doktortitel dans einem Informatikbereich.
Fazit: si on chez allem, quoi on tut überlegt, quoi on calme sous den Tisch balayer peux, venez on im vivre wesentlich plus ...

Beste Gruße

Andreas (qui maintenant sa Katzen füttern allez)
 
02.09.2006  
 



Ist eh bien doch dans [...]  drin => Exportfunktionen dans peut eh bien dans fremden Prozessen angesprochen volonté, d.h. je peux quasi de außen bestimmen, quoi dans einem Prozess geschieht.
quelques Einschränkung:
qui Funktion darf seulement une paramètre avons.
Ausreichend Rechte doit sur den jeweiligen Prozess vorhanden son.

comment allez cela?
Wir starten d'abord Wordpad et après [...] . comme nächstes regarder wird uns im ersten Fil de Wordpad qui la fenêtre à, un merken uns cela Hauptfensterhandle.
après klicken wir wieder aud den Wordpad Prozess et klicken avec qui rechten Bouton de la souris ins Treeview.
[...] 

Pour dem Klick aud DLL einschleusen voyons wir que voici...
[...] 
...et choisir la fois wieder Franks ProSpeed.DLL aus , qui après sous dem Prozess de Wordpad wiederzufinden ist.
[...] 

maintenant choisir wir im Listview qui Registrierkarte objet-Infos qui Funktion Version aus et klicken après avec qui rechten Bouton de la souris ins Listview.
[...] 

maintenant Funktion dans fremdem Prozess effectuer Vous pouvez.
Im ensuite erscheinenden Dialog ins Éditer cela Handle des Wordpad Fensters eingeben.
[...] 

après Funktion effectuer Vous pouvez. cela gibts comme Ergebnis:
[...] 

107 kB
Kurzbeschreibung: BILD 1
Hochgeladen:04.09.2006
Downloadcounter118
Download
78 kB
Kurzbeschreibung: BILD 2
Hochgeladen:04.09.2006
Downloadcounter110
Download
98 kB
Kurzbeschreibung: BILD 3
Hochgeladen:04.09.2006
Downloadcounter79
Download
98 kB
Kurzbeschreibung: BILD 4
Hochgeladen:04.09.2006
Downloadcounter89
Download
74 kB
Kurzbeschreibung: BILD 5
Hochgeladen:04.09.2006
Downloadcounter113
Download
55 kB
Kurzbeschreibung: BILD 6
Hochgeladen:04.09.2006
Downloadcounter122
Download
 
04.09.2006  
 



pas uninteressant zum Thema:  [...] 
 
08.09.2006  
 



allô IF...

bien trouvé, doch und dir einfacher et sicherer (dans qui Funktion) - on arbeitet oui pas plus avec Windows98 ...
Zur Speicheraufteilung entspricht cela dem, quoi on avec [...]  nachvollziehen peux. Insgesammt qui beste Erklärung trop dem Thema, qui je jusqu'alors gesehen habe.
 
08.09.2006  
 



je habs im Augenblick seulement vite survolés, mais chez IFs Link c'est moi un paragraphe doch quelque chose acide aufgestoßen:
[quote-part:196bfa3cd0]
même chose procéder, alors Code dans plusieurs virtuelle Adressräume gleichzeitig einzublenden, wendet Windows chez DLL à, qui oui à plusieurs Prozesse gleichzeitig attaché son peut.
car c'est oui justement einer qui Vorzüge einer DLL: il peut den de mehreren Anwendungen nécessaire Code dans DLL bündeln et ensuite plan cette Code seulement einmal dans den physischen grenier magasin, quoique il de mehreren unabhängigen Prozessen verwendet wird. Dadurch peux immense grenier gespart volonté. ca ist wohl einer qui Gründe pourquoi un Großteil des Windowsbetriebssystems sur qui DLL-technologie basé.
[/quote-part:196bfa3cd0]
cela bedeutet pour mich: Windows invite z.B. qui NTDLL.DLL, et si un anderer Prozess cet également invite,, zeigt qui virtuelle Prozessspeicher à qui gleiche reale RAM-Adresse. mais ist cela wirlich so? aussi cela peux on avec TNT très simple überprüfen:
1.) WORDPAD starten.
2.) avec TNT un Byte im virtuellen Prozessspeicher de WORDPAD changement, cela dedans des geladenen Moduls NTDLL.DLL liegt. Ist cet Changement aussi dans andern Prozessen trop voyons? si dem so wäre, wäre cela qui catastrophe sous NT - et dem wird wohl (hoffentlich) pas so son.
 
08.09.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.582 Views

Untitledvor 0 min.
Andreas Miethe21.01.2013
Manfred Barei11.01.2013
Michael Borowiak22.12.2012
E.T.17.01.2012
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie