AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi wie Signatur/Certific. von EXE auslesen (wie sigcheck.exe)

wie Signatur/Certific. von EXE auslesen (wie sigcheck.exe)

Ein Thema von TKC · begonnen am 4. Feb 2005 · letzter Beitrag vom 1. Jun 2018
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#1

wie Signatur/Certific. von EXE auslesen (wie sigcheck.exe)

  Alt 4. Feb 2005, 00:15
Hi Leute,

ich würde gern das Zertifikat aus einer EXE auslesen, wie sigcheck von www.sysinternals.com.

Bin nun schon seit 2 Tagen dran das zu realisieren und habe noch nicht ein mal einen Ansatz !

Hat jemand einen Denkanstoß für mich?

Bin für jeden Tip dankbar.


cya
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#2

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 4. Feb 2005, 01:02
wenn ich mich recht entsinne dann sind solche Funktionen in ImageHlp.dll enthalten.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 4. Feb 2005, 18:19
hi,

danke ! super ! ... genau der Ansatz hat mir gefehlt .. ich werde mal ne Unit dafür machen,
evtl. kann das ja noch jemand gebrauchen.

cya
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 9. Feb 2005, 23:45
hi,

also irgendwie komme ich da nicht weiter ....

Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
  hFile : THandle;
  x : DWORD;
  px : pdword;

BEGIN

  hFile := CreateFile(PChar('c:\windows\explorer.exe'), FILE_READ_DATA, 0,0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);

  IF hFile = 0 THEN exit;

  x := 0;
  px := @x;

  IF ImageEnumerateCertificates(hFile, CERT_SECTION_TYPE_ANY, px, NIL, 0) THEN
    BEGIN
    x:=px^;
    
    ShowMessage(IntToStr(x));
    END;

END;
Der Windows Explorer hat definitiv ein Zertifikat.

Was mache ich falsch ?
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 16:05
hat denn wirklich keiner ne Idee um mir zu helfen


Es muss doch irgendwie gehen....
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#6

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 16:11
Zitat von ACE-ppc:
IF hFile = 0 THEN exit;
RTFM: "If the function fails, the return value is INVALID_HANDLE_VALUE."
BTW: try-finally wäre passender als Resourcenschutz (Handle schließen)
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 19:45
schon klar ... hilft mir aber nicht viel weiter...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#8

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 20:33
Vielleicht hat deine Explorer.exe keine Zertifikats-Sektion.
(Kartenreiter 'Digitale Signaturen' in den Dateieigenschaften)
Bei mir funktioniert (unter Wine) folgendes problemlos:
Delphi-Quellcode:
function ImageEnumerateCertificates(FileHandle: THandle; TypeFilter: Word;
  out CertificateCount: DWORD; Indices: PDWORD; IndexCount: DWORD): BOOL;
  stdcall; external 'imagehlp.dllname 'ImageEnumerateCertificates';

procedure TForm1.Button1Click(Sender: TObject);
const
  FILE_READ_DATA = $01;
  CERT_SECTION_TYPE_ANY = $FF;
var
  FileHandle: THandle;
  CertificateCount: DWORD;
begin
  FileHandle := CreateFile(PChar('D:\borland\delphi3\BIN\delphi32.exe'),
    GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
  if FileHandle = INVALID_HANDLE_VALUE then
    ShowMessage('CreateFile: ' + SysErrorMessage(GetLastError))
  else
  try
    CertificateCount := 0;
    if not ImageEnumerateCertificates(FileHandle,
      CERT_SECTION_TYPE_ANY, CertificateCount, nil, 0) then
      ShowMessage('ImageEnumerateCertificates: ' + SysErrorMessage(GetLastError))
    else
      ShowMessage('CertificateCount: ' + IntToStr(CertificateCount));
  finally
    CloseHandle(FileHandle);
  end;
end;
Explorer.exe = 0
delphi32.exe = 1

Wenn ich mich recht erinnere, sind die delphi32.exe der anderen Delphi-Versionen nicht digital signiert...

Gruß Nico
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#9

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 22:52
hmm ... klappt bei mir auch nicht ... auch mit deinem Code und der bds.exe nicht.

Der Windows Explorer hat definitif eins ... !


D:\Daten\Software\Systemtools\Sysinternals>sigchec k.exe c:\winnt\explorer.exe

Delphi-Quellcode:
Sigcheck v1.1
Copyright (C) 2004-2005 Mark Russinovich
Sysinternals - [url]www.sysinternals.com[/url]

c:\winnt\explorer.exe:
        Verified: Signed
        Signing date: 06:30 20.06.2003
        Publisher: Microsoft Corporation
        Description: Windows Explorer
        Product: Betriebssystem Microsoft(R) Windows (R) 2000
        Version: 5.00.3700.6690
        File version: 5.00.3700.6690
das muss ja irgendwo herkommen ?
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#10

Re: wie Signatur/Certific. von EXE auslesen (wie sigcheck.ex

  Alt 10. Feb 2005, 23:02
Is' Sigcheck eigentlich für alle Windowsversionen gedacht?

Vielleicht hilft es dir ja auch, wenn du dir mal ansiehst, welche DLL's das Proggi aufruft..
  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:

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