AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language "Keine Typinformationen" von Enum Type. Was könnte ich tun?

"Keine Typinformationen" von Enum Type. Was könnte ich tun?

Ein Thema von milos · begonnen am 13. Feb 2018 · letzter Beitrag vom 15. Feb 2018
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 01:56
Ach cool Eine kleine VM steht auch schon ewig auf meiner Liste, aber bisher bin ich nie dazu gekommen. Viel Erfolg!
Ist bestimmt eines der Dinge die jeder Entwickler mal auf seiner Liste stehen hat.
Vielen Dank! ^^

Witzig, genau das selbe habe ich auch vor einigen Wochen mal angefangen. Konnte einige ASM-Befehle decodieren und virtuell ausführen. Mit Registern, einer FPU, Stack und Heap (der aber nicht wirklich gut war...)
Cool! Kann man sich das ansehen und ausprobieren? Würde mich sehr interessieren.

Der Heap bereitet mir auch ein wenig Sorgen, denke nicht dass ich den gescheit hinkriege aber ich werde mich da noch einlesen und lasse mich dann überraschen. Womöglich wird sich Zacherl ja auch bald zu uns gesellen. ^^

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
4.658 Beiträge
 
Delphi 2010 Professional
 
#12

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 10:00
Ach cool Eine kleine VM steht auch schon ewig auf meiner Liste, aber bisher bin ich nie dazu gekommen. Viel Erfolg!
Ist bestimmt eines der Dinge die jeder Entwickler mal auf seiner Liste stehen hat.
Da überschätzt du die Fähigkeiten des durchschnittlichen Entwicklers aber um einiges
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
33.823 Beiträge
 
Delphi XE3 Professional
 
#13

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 10:53
Was du aber machen kannst, ist die andere Seite zu "reparieren",
also den ENUM mit Dummy-Werten auffüllen und den Compiler automatisch zählen zu lassen.

Alternativ noch eine Übersetzung hinzufügen. Den ENUM bei 0 beginnen und automatisch zählen lassen und dann noch ein TPairArray<TFPInstruction,Byte> mit fpiMOV_REG_CONST=$a0, fpiMOV_REG_REG=$a1 usw. füllen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.612 Beiträge
 
Delphi 2007 Professional
 
#14

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 13:16
Alternativ noch eine Übersetzung hinzufügen. Den ENUM bei 0 beginnen und automatisch zählen lassen und dann noch ein TPairArray<TFPInstruction,Byte> mit fpiMOV_REG_CONST=$a0, fpiMOV_REG_REG=$a1 usw. füllen.
Oder ein Konstantenarray
Delphi-Quellcode:
const
  cFPInstructionValues: array[TFPInstruction] of Integer = (
    (*fpiMOV_REG_CONST*)$A0,
    (*fpiMOV_REG_REG*)$A1
    );
definieren und dann statt fpiXXX cFPInstructionValues[fpiXXX] benutzen:
Delphi-Quellcode:
var
  fpi: TFPInstruction;
//...
for fpi := Low(TFPInstruction) to High(TFPInstruction) do
  Writeln(cFPInstructionValues[fpi]);
Edit: Ich würde den Enum auch nicht explizit bei 0 beginnen lassen, sondern ganz "normal" definieren:
Delphi-Quellcode:
type
  TFPInstruction = (
    fpiMOV_REG_CONST,
    fpiMOV_REG_REG
    );
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#15

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 18:44
Das Problem ist halt dass ich durch einen String auf das Enum zugreifen will welches dann einen bestimmten Byte Wert enthält. Somit kann ich eben nur durch den Enum Eintrag einen ganzen Befehl in den ASM compiler einbauen kann.

Der Tokenizer gibt mir folgendes:
Zitat:
"mov" "eax" "," "420"
Daraus mache ich dann einen String aus den jeweiligen Elementen: "MOV_REG_CONST".

Falls dann dieser Enum Eintrag existiert beinhaltet er auch gerade seinen Opcode (In dem Fall 0xA0) und das ermöglicht mir ganz leicht neue Befehle und Kombinationen in den Compiler einzubauen.$

Edit: Dies hab ich nun einfach ganz doff () durch TDictionary<string, TFPInstruction> gelöst. Vielleicht etwas übertrieben aber sind halt nur paar Zeilen. ^^

Da überschätzt du die Fähigkeiten des durchschnittlichen Entwicklers aber um einiges
Naja, jeder darf Träumen und wer es auch wirklich will der wird es auch irgendwann mal schaffen. ^^
Jeder fängt mal klein an und du willst gar nicht wissen wie lange ich schon auf das Vorhaben hinarbeite.

Freundliche Grüsse
Milos

Geändert von milos (14. Feb 2018 um 18:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
4.658 Beiträge
 
Delphi 2010 Professional
 
#16

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 14. Feb 2018, 23:31
Da überschätzt du die Fähigkeiten des durchschnittlichen Entwicklers aber um einiges
Naja, jeder darf Träumen und wer es auch wirklich will der wird es auch irgendwann mal schaffen. ^^
Jeder fängt mal klein an und du willst gar nicht wissen wie lange ich schon auf das Vorhaben hinarbeite.
Klar. Aber allein durch die Tatsache, DASS du es willst und darauf zuarbeitest bist du wahrscheinlich in den 10% der Leute die sowas machen wollen oder können
Habe im bisher im RL glaube ich noch außer mir keinen weiteren Programmierer getroffen der in diesem Bereich überhaupt Interesse hatte, geschweige denn Ahnung oder der wirklich was programmiert hat.
Und als Hauptberuflicher Programmierer kenne ich da schon ein paar
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#17

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 15. Feb 2018, 00:39
Habe im bisher im RL glaube ich noch außer mir keinen weiteren Programmierer getroffen der in diesem Bereich überhaupt Interesse hatte, geschweige denn Ahnung oder der wirklich was programmiert hat.
Und als Hauptberuflicher Programmierer kenne ich da schon ein paar
Hmm komisch, bei mir ist es eigentlich genau der selbe Fall.

Ich dachte das liegt einfach an der Schweiz.

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.383 Beiträge
 
Delphi 10.1 Berlin Starter
 
#18

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 15. Feb 2018, 00:51
Ich dachte das liegt einfach an der Schweiz.
Nee, liegt glaube ich größtenteils daran, dass diese System/Hardware-nahen Projekte meistens eher schwer zu Geld zu machen sind Solche VMs und X86->dynamicVM Tools kenne ich da eigentlich nur als Software-Protectoren und von einigen AntiCheat Systemen. Gibt definitiv einen Markt dafür, aber der ist in der Regel einfach schon fest im Griff von etablierten Produkten (in diesem Falle z.B. Themida, VMProtect, etc.). Gleiches Problem bei Reverse-Engineering Tools wie z.b. IDA.

Dann kommt sicherlich noch hinzu, dass solche speziellen Projekte deutlich mehr Fachwissen in dem jeweiligen Bereich erfordern, als z.B. nötig ist, um eine simple Mobile App zu basteln. Klar, das trifft sicherlich auch auf komplexe ERP Systeme oder auch generell Branchen-spezifische Software zu, aber auf der anderen Seite kenne ich hier ebenfalls nicht grade viele Leute, die sich jetzt aus reinem Interesse in so etwas reinarbeiten würden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine (Zydis)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
204 Beiträge
 
Delphi 10.1 Berlin Professional
 
#19

AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?

  Alt 15. Feb 2018, 18:11
Vor vielen vielen Jahren hatte ich im QC mal vorgeschlagen, das Fehlende einfach mit einem Dummy-Char oder dem ordinalen Wert (Zahl) aufzufüllen, aber auf mich hört ja niemand.
Auf uns leider auch nicht. Die fehlende RTTI Info für diese Typen ist das größte Ärgernis zu Delphi bei uns in der Firma.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2017 by Daniel R. Wolf