Français
Source/ Codesnippets

Lecture Ermitteln Exe Kompilat Version Xprofan

 
la fois comme kleine Funktion chkXProfanVersionByExe qui comme paramètre une Dateinamen erwartet et qui Versionsnummer zurückliefert:
KompilierenMarqueSéparation
'{$cleq}
CLS
print chkXProfanVersionByExe(loadfile$("","*.exe"))
waitinput
end

proc chkXProfanVersionByExe

    parameters fle$
    var vers&=0
    var ofm&=SET("FileMode",0)
    var fh&=assign(fle$)

    if fh&

        openRW fh&

        ifnot %ioResult

            seek fh&,128
            seek fh&,getLong(fh&)+7
            case getlong(fh&) = $4E41464F : vers&=instr(chr$(getByte(fh&)),"0000000003456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")*0.5
            close fh&

        endif

        assign fh&,""

    endif

    SET("FileMode",ofm&)
    return vers&

endproc


Umgesetzt basierend sur Informationen de einem Code de Roland
RGH

KompilierenMarqueSéparation
Déclarer Dossier$, hDatei&, Version$, Adresse&
CLS
Datei$ = LoadFile$("Profn-Programme ouvrir:", "*.exe")

Si Dossier$ > »// Es wurde une Dossier ausgewählt

    hDatei& = Assign(Dossier$)
    OpenRW hDatei&// Dossier binär ouvrir
    Seek hDatei&, $80// à cette Position steht qui Adresse des Compilates
    Adresse& = GetLong(hDatei&)
    Seek hDatei&, Adresse&// ici beginnt cela Compilat
    Version$ = GetChar$(hDatei&, 18)
    // qui ersten 11 marque sommes toujours " RGH-PROFAN"

    Si Mid $(Version$, 1, 11) <> " RGH-PROFAN"

        MessageBox("Kein avec PROFANE² ou bien XProfan erzeugtes Programme!", "Hinweis:", 16)
        Fermer hDatei&
        Fin

    EndIf

    // cela 12. marque ist qui Version des Compilates et peut Rückschlüsse sur qui
    // XProfan-Version trop
    Version$ = Substr$(Version$, 12)

    Select Version$

        CaseOf "3" : Imprimer "Profan² 5 (32 Bit)"

        CaseOf "4" : Imprimer "Profan² 5 (32 Bit) avec $P* verschlüsselt"

        CaseOf "5" : Imprimer "Profan² 6 (32 Bit)"

        CaseOf "6" : Imprimer "Profan² 6 (32 Bit) avec $P* verschlüsselt"

        CaseOf "7" : Imprimer "Profan² 7"

        CaseOf "8" : Imprimer "Profan² 7 avec $P* verschlüsselt"

        CaseOf "9" : Imprimer "XProfan 8"

        CaseOf "A" : Imprimer "XProfan 8 avec $P* verschlüsselt"

        CaseOf "B" : Imprimer "XProfan 9"

        CaseOf "C" : Imprimer "XProfan 9 avec $P* verschlüsselt"

        CaseOf "D" : Imprimer "XProfan 10"

        CaseOf "E" : Imprimer "XProfan 10 avec $P* verschlüsselt"

        CaseOf "F" : Imprimer "XProfan 11 ou bien X2"

        CaseOf "G" : Imprimer "XProfan 11 ou bien X2 avec $P* verschlüsselt"

        Otherwise  : Imprimer "Unbekannte Version " + Version$

    EndSelect

    Fermer hDatei&
    WaitInput

EndIf

Fin


à cause de eines Fehlers dans XPSE bezüglich qui Funktion GetLong per XPSE (momentan) seulement avec GetWord-Workaround possible:
KompilierenMarqueSéparation
 {$cleq}
CLS
imprimer chkXProfanVersionByExe(loadfile$(»,"*.exe"))
waitinput
end

proc chkXProfanVersionByExe

    parameters fle$
    var vers&=0
    var ofm&=SET("FileMode",0)
    var fh&=assign(fle$)

    si fh&

        openRW fh&

        ifnot %ioResult

            seek fh&,128
            seek fh&,getWord(fh&)+getWord(fh&)*65536+7
            cas getWord(fh&)+getWord(fh&)*65536 = $4E41464F : vers&=instr(chr$(getByte(fh&)),"0000000003456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")*0.5
            close fh&

        endif

        assign fh&,»

    endif

    SET("FileMode",ofm&)
    return vers&

endproc


311 kB
Hochgeladen:14.12.2010
Downloadcounter108
Download
 
14.12.2010  
 



Zum Quelltext


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

3.233 Views

Untitledvor 0 min.
Member 862464113.05.2024
Sven Bader09.03.2021
Matzbub29.12.2018
AndreasS27.11.2018
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


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