Deutsch
Forum

Erweiterte Definitions-Texte

 

Frank
Abbing
Hi,

danke erstmal für das {$runtime}

Jetzt was, was mir letztens erst aufgefallen ist.
Angenommen, ich definiere eine API Funktion:
KompilierenMarkierenSeparieren
Def CopyMem(3) !"KERNEL32","RtlMoveMemory"

Jetzt würde ich den Text aber lieber mittels eines Strings übergeben, was aber nicht funktioniert:
KompilierenMarkierenSeparieren
text$="KERNEL32"
Def CopyMem(3) !text$,"RtlMoveMemory"

Ich würde das aber benötigen, da ich den Dll-Namen extern generieren möchte.
Wäre das möglich zu realisieren ?
Wohlmöglich mit höherer Proirität ?
 
13.07.2004  
 



Achso, Du meinst also nicht aufm XProfan-Wege, sondern eine Art replace funktion ala XPSE?

Joar Frank, überhaupt gar kein Problem.

Sowas könnt ich anbieten? (*hoff*richtig*verstanden*hab*)
KompilierenMarkierenSeparieren
 {$replace 1:"KERNEL32"}
 {$replace 2:Def}
 {$replace 3:"KERNEL16"}
 {$replace 4:"RtlMoveMemory"}
 {$replace 5:CopyMem}
Def ^5^32(3) !^1^,^4^
^2^ ^5^16(3) !^3^,^4^

Quasi zwischen ^^ die Nummer des als $replace definierten String, wobei jedoch nicht innerhalb von strings geschaut würde!

In Deinem konkreten Beispiel hieße das wohl:
KompilierenMarkierenSeparieren
 {$replace 1:"KERNEL32"}
Def CopyMem(3) !^1^,"RtlMoveMemory"

Sowas ok?

-

Das hätte natürlich auch zur Folge, das XPSE nachdem XPIA drüberging nochmal sich die enh schnappen muß. Das ist ja bisher nicht der Fall, aber so sei es dann.

Vielleicht habe ich das Ganze aber nur fehlverstanden. Diese Variante ist natürlich für eine automatische Erzeugung gut geeignet, wenn du jedoch etwas user/programmierer-freundlicheres lieber hättest, laß ich mir was einfallen.

Dann könnte man z.B. sowas machen:
KompilierenMarkierenSeparieren
 {$replace text$:"KERNEL16"}
Def CopyMem(3) !text$,"RtlMoveMemory"

Hätte aber zur Folge, das XPSE gnadenlos (außer in strings wie immer) die phrase text$ ersetzt in KERNEL16.

Da wäre wiederum warscheinlich folgendes reeller:
KompilierenMarkierenSeparieren
 {$replace textlol:"KERNEL16"}
Def CopyMem(3) !%textlol%,"RtlMoveMemory"

iF
 
13.07.2004  
 




Frank
Abbing
[quote:1a6fd24ba5]Quasi zwischen ^^ die Nummer des als $replace definierten String, wobei jedoch nicht innerhalb von strings geschaut würde!

In Deinem konkreten Beispiel hieße das wohl:
KompilierenMarkierenSeparieren
 {$replace 1:"KERNEL32"}
Def CopyMem(3) !^1^,"RtlMoveMemory"

Sowas ok?
[/quote:1a6fd24ba5]
Ja, ganz genau.
Das wäre es doch schon !

Und ein weiterer Effekt wäre, das man jeden Befehl/Funktion austauschen könnte..., z.B. Randomize zu ^4^ usw...

Genial !!!

[quote:1a6fd24ba5]Das hätte natürlich auch zur Folge, das XPSE nachdem XPIA drüberging nochmal sich die enh schnappen muß. Das ist ja bisher nicht der Fall, aber so sei es dann.[/quote:1a6fd24ba5]
Ich merke schon, du hast weiter gedacht
Sobald also {$replace} vorkommt, gehst du ein zweites Mal drüber... ok.
 
13.07.2004  
 



[quote:94929c69a1=Frank Abbing]
Ich merke schon, du hast weiter gedacht
Sobald also {$replace} vorkommt, gehst du ein zweites Mal drüber... ok.[/quote:94929c69a1]
Ne, das Replace setzt doch XPIA erst rein, odaa? Also generell nach XPIA nochmal XPSE. Nur was wenn der Progger selbst auch $replaces verwendet?

Hehe?

Glaube, da ist doch folgendes besser:

{$replace somestringlikevariable:ersatztext}
{$replace rmze:randomize}
{$replace _xpia_1:kernel32.dll}
{$replace _xpia_2:kernel16.dll}

blabla, weist?

iF
 
13.07.2004  
 




Frank
Abbing
Hi,

[quote:d483897b91]Ne, das Replace setzt doch XPIA erst rein, odaa? Also generell nach XPIA nochmal XPSE. Nur was wenn der Progger selbst auch $replaces verwendet?[/quote:d483897b91]
Stimmt ja...

Das geht in Ordnung. XPIA wird dann nur Zahlen ab 1000 (oder so) verwenden. Gut ?
 
13.07.2004  
 



So, ich hab ne Nacht drüber geschlafen.

Also so wirds was:

{$replace 1:kernel32.dll}
{$replace 2:kernel16.dll}
def tsts(1) !^1^ bla
def tsts(1) !^2^ blö

genau, so gehts am besten. Du kannst ruhig ab #1 verwenden, da dein xpia ja die replaces vom progger eh nicht bekommt, denn xpse löst diese ja auf! Also ein Beginnen ab 1000 ist nicht nötig, einfacher für mich ists wenn du ab 1 beginnst.

Bis denne, iF
 
14.07.2004  
 



Habs gleich Frank.

*wörkel* *wörkel* *wörkel* *schraub* *zieh* *zerr* *inFingerSchneid* *wasFallenLass* *abspeicher*

...

*wörkel* habs gleich

*ächts*

iF
 
14.07.2004  
 



Rolf, könntest Du mal schnell den neuen XPSE ziehen und sagen ob Du damit Probleme hast?

Büdde büdde.

iF
 
14.07.2004  
 




Rolf
Koch
Werde ich.
Das man im Moment sowenig von mir hört, liegt daran, daß ich gesundheitlich ganz unten am Boden bin. Trotzdem werde ich es machen und versuchen, die paar Minuten durchzuhalten.

Rolf
 
14.07.2004  
 



Wenn es Dir nicht gut geht dann ist das doch wirklich nicht wichtig!!!

Los, mach das es Dir endlich besser geht, Du wirst gebraucht!!! *daumendrück*!!!

Bis denne, David.
 
15.07.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.060 Betrachtungen

Unbenanntvor 0 min.
p.specht01.10.2018
Roland Schäffer06.01.2011

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

unbekannt (6x)
Frank Abbing (3x)
Rolf Koch (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie