AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eigenes Zertifikat

Ein Thema von haentschman · begonnen am 19. Feb 2019 · letzter Beitrag vom 29. Jul 2020
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#1

AW: eigenes Zertifikat

  Alt 27. Jul 2020, 07:32
Moin...

Neuigkeiten:
1. Wenn ich die BAT nach dem kopilieren manuell ausführe, ist alles so wie es sein soll. Alle Dateien haben das Zertifikat.
2. Wenn ich die BAT als Postbuild Event ausführen lasse, habe ich die Konstellation wie im Eingangspost.
...es sieht danach aus, daß die IDE nach dem PostBuild Event die Datei nochmal überschreibt. Das paßt zu "die Kopie hat das Zertifikat, das original nicht".
...oder das PostBuild Event ist eigentlich ein PreBuild Event.

Jetzt fällt mir nichts mehr ein...
Angehängte Grafiken
Dateityp: png Build.png (11,2 KB, 6x aufgerufen)

Geändert von haentschman (27. Jul 2020 um 07:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#2

AW: eigenes Zertifikat

  Alt 27. Jul 2020, 08:56
Das PostBuild ist ja gerade für sowas da.

Nett ist, dass ich demächts auch sowas machen wollte,
also das blöde Eurekalog aus Delphi rauswerfen, weil es beim Debuggen absolut nervt.
Und dann im PostBuild manuell Eurekalog-Infos nur "anhängen" und wenn ich schon dabei bin auch endlich mal die schon lange überfällige Signierung hinzufügen.

Wenn man Eurekalog das selbst machen lässt, dann pfuscht der an den DCC-Setings rum und macht die Delphi-Debuginfos kaputt (denkt wohl seine Debuginfos sind besser und man braucht die Anderen nicht, was der Debugger aber anders sieht)
und dann natürlich ÜBERALL die schwachsinnigsten Hooks, in denen ich ständig lande und nicht mehr raus finde.



Da wirst wohl mal mit SysInternals nachsehn müssen, ob die Datei wirklich anschließend nochmal verändert wird, bzw. wer das macht, was ja eigentlich nicht passieren sollte.
Oder ganz böse: im PostBuild eine EXE starten, welche die Datei öffnet (Sharing: ohne Schreibrechte für Andere) und geöffnet lässt und dann schauen wo Delphi knallt.

Hängt vielleicht noch ein Addon im Delphi?
Via OpenToolsAPI im PostBuild ... k.A. in welcher Reihenfolge die ausgeführt werden.




PS: Im PreBuild hättest du ja noch die alte EXE (oder noch Keine), weil ist ja davor.

Ins PreBuild war ich schon drauf und dran irgendwann mal eine Prüfung einzubauen:
Läuft EXE noch, dann benenden. (vergesse ich manchmal, wenn ich die ohne Debugger starte, bzw. wenn sie beim Beenden im Hintergrund noch hängt)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Jul 2020 um 09:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#3

AW: eigenes Zertifikat

  Alt 27. Jul 2020, 08:59
Hallöle...
Zitat:
SysInternals
...auf die einfachen Sachen kommt man nicht.

Zitat:
Hängt vielleicht noch ein Addon im Delphi?
Die üblichen Verdächtigen...MadExcept, CnPack

Info:
Nach Deaktivieren des MadExcept ist die EXE mit dem Zertifikat versehen. Das kann man beliebig oft wiederholen. Wahrscheinlich wird die EXE nach dem PostBuild vom MadExcept noch/erst gepatcht.
Eine Mail an Matthias ist raus... Schaun wir, was er sagt.

Geändert von haentschman (27. Jul 2020 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#4

AW: eigenes Zertifikat

  Alt 27. Jul 2020, 10:50
Aber dann sollte doch dennoch das Zertifikat drin sein, weil wenn, dann darf/kann MadExcept die bestehende Datei doch nur ändern/erweitern,
auch wenn das Zertifikat dann vielleicht "ungültig" ist, weil die Datei verändert wurde.

Stimmt, also das gleiche Problem, was ich mit Eurekalog oft hab,
dort wird ja auch anschließend noch aus der MAP-Datei eine detailiertere Debuginfo erstellt und in die EXE eingefügt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#5

AW: eigenes Zertifikat

  Alt 27. Jul 2020, 12:18
Zitat:
Wahrscheinlich wird die EXE nach dem PostBuild vom MadExcept noch/erst gepatcht.
Drum will ich ja den ECC anschließend manuell aufrufen, also im PostBuild.
Und das Designtime-Package von denen aus'm Delphi rauswerfen.

Denn aktuell kann ich mit FinalBuilder kompilierte Dateien nicht richtig debuggen
und muß einige/alle nochmals im Delphi kompilieren, weil sich diese Dateien unterscheiden (Dateigröße und eben dass der Debugger keine Haltepunkte mehr findet)
Scheinbar arbeiten die Wenigsten mit Eurekalog und exzessiv mit Packages oder es benutzt wirklich fast niemand den Debugger ... k.A. warum sonst so Wenige damit Probleme haben.

Im Delphi hängt sich Erekalog rein und macht sein Ding beim Kompilieren.
Und im FinalBuilder ruft der FB den ECC statt dem DCC auf.
Der ECC pfuscht dann noch bissl an den Compiler-Settings rum, startet den DCC und modifiziert anschließend die EXE.

Das will ich gern auf MSBUILD umstellen, welches statt der DPR direkt die DPROJ mit den "selben" Optionen und inkl. PostBuild ausführt, so dass "hoffentlich" im Delphi und FB die selben Dateien entstehen.
Wenn erst DCC ausgeführt wird und der ECC nur noch seine DebugInfos "anhängt", ohne die EXE und Compileroptionen zu verpfuschen.

MSBUILD xyz.dproj
* DCCxxx
* PostBuild
** PE-Flags ändern/prüfen (wegen Netzlaufwerken)
** ECC, WasEigenes oder MadExcept
** SignTool

Weil aktuell nutzt der FB seine eigenen Projekoptionen und Delphi nutzt die aus der DPROJ ... alles Doppelt, auch wenn bei den wichtigsten Projekten die Optionen "eigentlich" gleich sind, kommt dennoch was ganz Unterschiedliches bei raus.


Wobei ich den Eurekalog eher mal gern rauswerfen werde/würde, da wir effektiv eh nur den Stacktrace und Fehlerdialog benutzen und die Masse der meisten Hooks eher nervt, als hilft.
Und dann mach ich das selbst.
* VCL-Fehlerdialog ersetzen (unten den Stack mit anhängen)
* an Exception meine eigenen zwei/drei StackTrace-Frunktionen registrieren Delphi-Referenz durchsuchenException.StackTrace
** StackStrace erstellen mit der WinAPI MSDN-Library durchsuchenStackWalk
** die Delphi-DebugInfos in Windows-DebugInfos übersetzen (map2dbg.exe oder tds2pdb.exe)
** am schönsten wäre es, wenn ich noch rausbekomm, wie ich die PDB von der Einzeldatei in die EXE verschiebe ... sind beides PE-Dateien und die Debuginfo hängt als Section drin
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Jul 2020 um 12:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#6

AW: eigenes Zertifikat

  Alt 29. Jul 2020, 12:24
Moin...

Zum Abschluß:
Matthias hat sich gemeldet (Workaround):
Zitat:
Als
Workaround könntest Du das madExceptWizard_.bpl in der IDE entfernen
(oder nur den Haken löschen), und dann stattdessen madExceptPatch.exe
in dem PostBuild-Event manuell ausführen bevor Du die Signierung
machst. Ist natürlich recht unbequem, weil Du dann auch den
Einstellungs-Dialog nicht mehr hast. Alternativ könntest Du das bpl
drin lassen, und stattdessen madExcept für Dein Projekt deaktivieren,
und dann in der madExcept-Configuration madExcept sagen, daß es die
Units nicht aus dem DPR löschen soll, so daß madExcept noch ins Exe
gelinkt wird, und dann wiederum madExceptPatch.exe manuell im
Post-Build-Event aufrufen, mit dem Parameter "/enabled=1", womit dann
die "deaktiviert"-Option in der YourProject.mes Datei auf "aktiv"
überschrieben wird.
Ich habe mich aber für einen Finalbuilder für Arme (finanziell nicht funktional ) entschieden. Da kann ich das in der Reihenfolge machen, wie ich es brauch...

1. Build mit MSBuild
2. Patch MadExcept
3. Signierung

...Fertsch.
Angehängte Grafiken
Dateityp: png Builder.png (69,6 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#7

AW: eigenes Zertifikat

  Alt 29. Jul 2020, 12:45
Zitat:
und stattdessen madExcept für Dein Projekt deaktivieren,
Sowas in der Art haben wir auch beim Eurekalog schon gemacht.

In allen Projekten haben wir ein Eurekalog-Setting wo nur drin steht Activate=0 (aus) und ExternalConfig="S:\....eof"

Weil wäre schon bissl blöd für jedes der 214 Projekte ein eigenes Setting zu machen, wo es effektiv nur 4 Unterschiedliche gibt.
* BPL, DLL, EXE und Service-EXE (ebenso die RessourceInfo und das WindowsManifest)
* außerdem braucht der ProgrammCode ja auch nur in die EXE rein, während sonst überall die Eurekalog-InfoRessourcen ausreichen

Und DevExpress ist auch überall per Setting aus, weil ist ja bissl schwachsinn, wenn die Styles in jeder DLL drin stecken.



Da die es aber in der IDE genauso machen, wird es wohl die selben Probleme geben.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz