Deutsch
Assembler Forum

Wünsche, etc...

 
- Seite 1 -



Claus
Santa
XPIA: No External DLL!
Hier noch kleine Veränderungs-Tips... Ansonsten ist XPIA gut.
Assembly direkt codieren und nicht uber DLL, denn CALL funktion ist SCHNELLER!

1. Vorteil:
ReverseEnginiering mit DLLs ist Kinderleicht, was schlecht ist für Datenverschlüsselung. ;(

2. Vorteil:
Direktes einbinden in sourcecode, wie:

if getfocus( hb_MakeSomting& )
whileloop 10
print your cpu said: +AMSMcall MeineASMproc, MyText, ... )
endwhile

3. Vorteil:
Rückgabe von 0-Terminated Strings ist möglich [!]. Dann ginge ja auch das:

print AssemblyFunk() retruns: > +string( AssemblyFunk#, 0 ) +<

4. Vorteil:
Ein weiterer Vorteil ist dann auch externe Module handling (wie: PLUGIN-MODULES) -> MORE IMPLIMENTATIONS. ;)

blockread( #1, ExternalModule#, 0, getfilesize( #1 ) )
...
call( ExternalModule# ) -> call_addr = addr( ExternalModule# )

5. Vorteil:
Objekt Orientiertes Assembling - wichtig für MS Foundation Classes!

ASMcode$ contains suff of MemoryAddress#
class A = ASMcode$[ SIZE ], ....

AObject# ist ein Objekt der Klasse A (in diesem Besipiel)
call( AObject#, ... )

Syntax-Vorschlag:

Bitte nicht über Parameters, da schlecht/verwirrend für alle ANFÄNGER! Es soll ganz PROFAN (einfach?) bleiben!

--- ROOT SOURCE ---
ASMproc WhatEverItMakes( params )
return ?
ASMendproc

ASMcall( WhatEverItMakes, [params..] )

--- PATCHED SOURCE ---
on app init
dim WhatEverItMakes#, (SizeOfObj)
byte WhatEverItMakes#, 0 = ...code source...

somewhere in your app
call( WhatEverItMakes# )

on uninit
dispose WhatEverItMakes#

--- appendix ---
Ich hab eine Seite in Deutsch mit OpCodes gleich beigefügt - BESSER ALS MEIN DEUTSCH!. ;/

Genereller BinaryCode:
offsetdescription
+1 byteoperation code
+?operands
->byte = +1
->single word = +1
->double word = +1
->quard word = +1

Die Struktur sollte dann so aussehen für eine ASM-Funktion (e.g. WhatEverItMakes#):

[ on call ]
offsetvalue/datacontentasm code
+1$E9buffer skip jumpjmp
+4?? ?? ?? ??WhatEverItMakes# + RetrunSize(WhatEverItMakes# + RetrunSize)
+(RetSz-Offs)$90reserved data buffernop
+??...your stuff here......

[ on return ]
offsetvalue/datacontentasm code
+RetSz?WhatEverItMakes# + RetrunSize
[return data]
( Habe fleisig im Deutschprachigen Chats geübt. Hoffe es ist lesbar... [thx2sabine*] )

200 kB
Kurzbeschreibung: OpCode (Intel x86+)
Hochgeladen:30.10.2005
Ladeanzahl139
Herunterladen
 
Snoozel,
[[StA/oXr]] // life is just'n bugfree, cos coding is life
30.10.2005  
 



 
- Seite 1 -



Claus
Santa
( Damn good! )
Habe vielen Dank!!
 
Snoozel,
[[StA/oXr]] // life is just'n bugfree, cos coding is life
18.11.2005  
 




Michael
Dell
Hallo Frank,

die neue Parameterübergabe kommt echt gut! Da bleiben kaum noch Wünche offen, einen hab ich aber noch. Manchmal werden spezielle Funktionen nur zur internen Anwendung benötigt und sollten also nicht Exportiert werden.

Ist es möglich einen Schalter einzubauen der XPIA sagt das eine Funktion nicht in die Export- Tabelle gehört? Bislang mach ich das ja von Hand aber es wär schön wenns auch Automatisch ginge etwa in der Art:

AsmStart Test (p1&,p2&) I

I steht hier natürlich für Intern.
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
22.11.2005  
 



 
- Seite 2 -



Frank
Abbing
Hi Michael,

gute Idee! Das bau ich bestimmt noch ein. Dann musst du nicht mehr manuell die Def-Datei editieren.
Zunächst ist aber erst die Listview.dll dran. Danach dann.
 
22.11.2005  
 




Michael
Dell
Danke!!! (hüpfel)
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
23.11.2005  
 




Frank
Abbing
Hallo Michael,

hab deinen Wunsch gerade eingebaut. Steht vor dem Funktionsnamen ein Sternchen, dann bleibt die Funktion intern. Sie erscheint nicht in der Def-Datei und auch nicht im vom XPIA generierten Profancode als External. Nur andere Funktionen der Dll können mit Call oder dem Macro Scall darauf zugreifen.
Ein Beispiel:
KompilierenMarkierenSeparieren
Asmstart *Testfunktion (x&,y&)

    ;...

Asmend (z&)


Ich schicks dir mal zum Testen rüber. Für alle anderen ist die Erweiterung in der nächsten XPIA-Version drin.
 
30.11.2005  
 



Hm vielleicht wäre es zur Syntaxkompatiblität cool gewesen das vom XPSE bereits eingesetzte noexport Keyword zu nutzen.
KompilierenMarkierenSeparierendemzufolge
KompilierenMarkierenSeparieren
Salve.
 
01.12.2005  
 




Michael
Dell
Hi,

@Frank: Funzt prima, Danke

@iF: Hatte ich doch glatt übersehn. Ähem, nach nem kleinen Test stell ich fest et läuft nich, vielleicht spinn ich ich ja aber die Funktion(en) wird Exportiert und im Programm auch Definiert (External(...)
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
01.12.2005  
 




Frank
Abbing
@iF: Davon wusste ich bisher nichts, sorry. Heisst das, du hattest mit XPSE deinerseits schon für nur interne Funktionen gesorgt?

@Michael: Der Stern * funktioniert, das Noexport nicht, richtig?
 
01.12.2005  
 




Michael
Dell
Ja, genau so isses Frank! Das Sternschen funktioniert ganz Prima!!!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
01.12.2005  
 




Frank
Abbing
 
01.12.2005  
 




Melanie
Brayer
Okey, 1:0 für den Mann.
Es ist ein wenig gewöhnungsbedürftig, aber Klasse...
Best wishes fly on my trees, damn well, guy!
 
mele (¯`·.¸¸.{ WinXP Pro, XProfan9, XPIA }.¸¸.·´¯)

<Bugs zählen ist besser als Schafe zählen, da der Computer nur so schlau ist wie der der Mensch der ihn bedient.>
01.12.2005  
 



@Frank: Es ging dabei um den Unitsupport - einfach büdde kurz die XPSEHilfe unter Unitsupport anschauen.

Eine einheitliche Syntax - so meinte ich - wäre vielleicht stärker durchzusetzen.

Salve.
 
01.12.2005  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

14.796 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller05.07.2017
Stephan Sonneborn02.03.2012

Themeninformationen



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