Español
Foro

Gedanken a @Exterrnal() y Sicherheit

 

Wer en su Anwendung con sicherheitstechnisch sensiblen Daten hantiert, debería muy genau en Nutzung el Profanfunktion @Externo nachdenken.
 
08.10.2006  
 



Como Externo intern dasselbe es como todos DLL Aufrufe, willst Usted uns sagen, no DLL a nutzen?
 
08.10.2006  
 



Nö.

Lo va me en el Herausfinden el anzuspringenden Adresse während el Laufzeit des Quelltextes. Das Einklinken encima el Exporttable el jeweiligen DLL scheint como besonders simplemente a ser...

... porque Yo muß como nichts en el Festplatte ändern y kann direkt en el Speicher aggieren...

...el Parámetro el Función abgreifen y otra vez a Función enviar...

...sin en irgendeiner Weise Idea de MSAM y Diassembling haben tener...

...qué natürlich auch para el Verwendung de APIs de Headern heraus gelten sería.
 
09.10.2006  
 




RGH
XProfan sabe drei Wege, en Características en externenDLLs (y somit auch el WindowsAPI) aufzurufen:

CALL: Der Aufruf folgt en direkte Adresse., Dazu muß also en el XProfan-Programa el DLL geladen y el FunktionsAdresse ermittelt voluntad. Dieser Weg es umständlich (= langsam) y benötigt mehrere Zeilen en el XProfan-Programa. Macht eigentlich sólo Sinn, si uno, etwa en COM-Interfaces, sólo el Adressen disponible ha.

EXTERNAL: Der bevorzugte Weg, como auch para Headerfiles geeignet: Un Línea en el Programa. El DLL muß no en cada Fall vorher geladen voluntad. (Hängt de el Función de.) Das Laden el DLL y el Ermitteln el Funktionsadresse voluntad en el Interpreter o. el Runtime (Delphi-Programa) hecho.

DEF: el historische Weg: Das qué en Externo direkt en el Aufruf es, es en el DEF-Línea: DLL-Name y Funktionsname. Im Interpreter algo langsamer como EXTERNAL, en el fertigen Programa natürlich no, como el Compiler el Adresse el DEF-Línea einträgt y el DEF no mehr gesucht voluntad muß.

EXTERNAL y DEF son technisch weitgehend identisch y lo voluntad en el Interpreter/en el Runtime el gleichen Routinen aufgerufen, a Funktionsadresse a ermitteln. Der eigentliche Aufruf el externo Función con Übermittlung el Parámetro es en allen drei Varianten dieselbe Rutina en Interpreter y Runtime.

Yo glaube kaum, daß el Aufruf externer Características de DLL/APIs en XProfan o más weniger sicherheitsrelevant es, como en all el otro Programmen el derartige Aufrufe beinhalten ... y el son eigentlich todos Windowsprogramme.

BTW: Was se Laufzeit des Quelltextes bedeuten? Beim fertigen Programa se ejecuta kein Ver código fuente, pero el Compilat.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.10.2006  
 



Wenn I, con DEF el externe Función al Anfang meines Programmes deklariere, wann se entonces el dagehörige Sprungadresse ermittelt? Beim nächsten Aufrufen el Función en el Programa oder en Deklaration?

Wird esta Sprungadresse irgendwann ermittelt, während mein Prozess se ejecuta, kann Yo en el geladenen Programa el Exporttables el DLL ändern y así el aufgerufenen Características abgreifen. Wird el Adresse beim Laden des Programmes al Anfang meines Quelltextes ermittelt, va el no así simplemente.

Es en keiner Weise gegen Profano, son Gedanken para Programmieren schlechthin...
 
09.10.2006  
 




RGH
Apéndice:

Einen Diferencia en DLL-Aufrufen hay (allerdings no en un XProfan-Programa):

DLL puede statisch y dynamisch gelinkt voluntad:

statisch: Hier voluntad igual beim Programmstart el DLL geladen y el Funktionsadressen gelesen, así dass en späteren Aufrufen, esta ya disponible posición. Vorteil: Ist algo más rápido y el meisten Programmiersprachen (z.B. Delphi) einfacher a programa. Nachteil: Wenn el DLL y/oder Características no disponible son, startet el Programa no y Windows meldet, daß una para Ausführen des Programmes notwendige DLL fehlt.
Como el OpenGL-DLL en allen de XProfan unterstützten Systemen (de Windows 95/NT 3.51) disponible son, estos en XProfan statisch gelinkt.

dynamisch: Hier voluntad el DLL sólo geladen y el Funktionsadressen ermittelt, si ellos en el Programa aufgerufen voluntad. Vorteil: Wenn cierto Funktionalitäten vom Anwender no benötigt voluntad, braucht él auch no el DLL en seinem Rechner haben. Un Fehlermeldung kommt sólo, si la entsprechende Funktionalität aufgerufen se. Nachteil: Es una bastante klein wenig langsamer y z.B. en Delphi algo aufwändiger a implementieren.
El ODBC-DLL para el SQL-Schnittstelle Yo en XProfan dynamisch gelinkt. XProfan startet also auch en Systemen sin installierte ODBC-Treiber (z.B. Win95/98 sin MS-Office) völlig problemlos, producido aber una Fehlermeldung, si uno en solchen Systemen una SQLInit intenta.

Im XProfan-Programa voluntad para todos con DEF, EXTERNAL oder CALL erzeugten DLL-Aufrufen el notwendigen DLL dynamisch gelinkt. (Das wäre beim Interpreter auch nada anders posible, como dieser sí no wissen kann, qué para Schweinereien el geschätzte Programmierer alles con ihm programa voluntad.)

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.10.2006  
 




RGH
[quote:b7f9a07702=Andreas Hötker]Wenn I, con DEF el externe Función al Anfang meines Programmes deklariere, wann se entonces el dagehörige Sprungadresse ermittelt? Beim nächsten Aufrufen el Función en el Programa oder en Deklaration?[/quote:b7f9a07702]
Erst beim Aufruf el Función en el Programa. Von por lo tanto hay no hay diferencia zwischen DEF y EXTERNAL.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.10.2006  
 



[quote:b7ae512a2a=RGH]
CALL: Der Aufruf folgt en direkte Adresse., Dazu muß also en el XProfan-Programa el DLL geladen y el FunktionsAdresse ermittelt voluntad. Dieser Weg es umständlich (= langsam) y benötigt mehrere Zeilen en el XProfan-Programa. Macht eigentlich sólo Sinn, si uno, etwa en COM-Interfaces, sólo el Adressen disponible ha.[/quote:b7ae512a2a]
Beim Aufruf con Funktionsnamen muß intern auch sólo el Funktionsadresse ermittelt voluntad, así el lo con Call IMHO no länger dauern kann, pero genauso rápidamente ser debería y de el 2ten Funktionsaufruf una Geschwindigkeitszuwachs bedeutet.

Como lo en el Tat umständlicher es, lohnt el Verwendung aber meist no
 
09.10.2006  
 




RGH
[quote:8841b3a260=TS-Soft]Beim Aufruf con Funktionsnamen muß intern auch sólo el Funktionsadresse ermittelt voluntad, así el lo con Call IMHO no länger dauern kann, pero genauso rápidamente ser debería y de el 2ten Funktionsaufruf una Geschwindigkeitszuwachs bedeutet.[/quote:8841b3a260]
Como XProfan auch compiliert desafortunadamente siempre no tan rápidamente como TurboDelphi es ;) , es ya una kleiner Vorteil, si Delphi el DLL lädt y el Funktionsadresse ermittelt y no XProfan.
En mehrfachem Aufruf derselben Función puede natürlich kompensiert y ser entonces una pequeña Tempo-Vorteil bedeuten.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.10.2006  
 



Vorneweg: Erst veces vielen Dank.

Yo habs con TNT grad veces incluso ausprobiert y el API MessageBeep de el User32 en el Función MessageBoxA umgeleitet. En DEF y Externo se entonces wirklick MessageBoxA en lugar de MessageBeep ausgeführt. El sicherere Método wäre entonces wirklich el encima Call y GetProcAddress (wobei GetProcAddress en Programmstart aufgerufen voluntad müßte).

Was mich gefreut ha,: El Profanfunktion Beep erzeugte más una Beep, en lugar de uno Messagebox - Yo denke veces, el es pero no en allen Características así - oder??
 
09.10.2006  
 



Juhu entonces mach ego con XPSE sí correcto el Hice Headerfiles genutzte Apis en Calls umwandle...
 
09.10.2006  
 



Sí, deshalb mi Cuestión hier.
 
09.10.2006  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.707 Views

Untitledvor 0 min.
Sven Bader03.09.2021
p.specht29.04.2019
Christof Neuß14.10.2016
iF29.12.2012

Themeninformationen

Dieses Thema ha 3 subscriber:

unbekannt (9x)
RGH (5x)
iF (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie