AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Alle Resourcen aus fremder EXE richtig entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Resourcen aus fremder EXE richtig entfernen

Offene Frage von "Zacherl"
Ein Thema von Zacherl · begonnen am 23. Jan 2007 · letzter Beitrag vom 2. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Alle Resourcen aus fremder EXE richtig entfernen

  Alt 23. Jan 2007, 17:33
Hi,

wie kann ich alle Resourcen eiener fremden EXE Datei entfernen? Mittels BeginUpdateResource(Filename, true) geht dies zwar, allerdings ist die Datei noch genau so groß wie vorher, wenn auch die Resourcen nicht mehr da sind.

Kann man irgendwie die komplette Resourcen Section entfernen oder sowas?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 06:20
*push*
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 15:29
Downloade dir madshi's madRes herunter (ist OpenSource) und dann benutze folgendenen Code um eine Resource aus der Anwendung zu löschen.
Delphi-Quellcode:
var
  hUpdate: THandle;
begin

  hUpdate := madres.BeginUpdateResourceW(PWideChar(WideString(sFilename)), False);
  if hUpdate <> INVALID_HANDLE_VALUE then
  begin
    madres.UpdateResourceW(hUpdate, 'TYP', 'NAME', 0, nil, 0);
    madres.EndUpdateResourceW(hUpdate, False);
   end;
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 15:43
Ah vielen Dank, das geht wunderbar!
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 16:43
Mh wie mache ich es, dass alle Resourcen einer Datei entfernt werden. Ich liste die auf mit EnumResourceNames. Allerdings wird dort ein PChar Wert übergeben und kein PWideChar. Zudem kann der PChar ein Pointer auf einen Integer aber auch auf einen String Wert sein ..
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 17:28
schaue dir das Beispiel weiter unten an, das habe ich einmal gemacht um alle Icons zu extrahieren, hat auch mit Namen und Nummern funktioniert, sollte nicht schwer sein das umzuschreiben.
http://www.delphipraxis.net/internal...=411613#411613
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#7

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 17:46
Florian, um sie zu entfernen, musst du selbstverfreilich die PE-Datei selber modifizieren. Lies dich dazu in den entsprechenden Dokus von MS und Luevelsmeyer erstmal schlau. Danach musst du entscheiden, ob du die Ressourcen nur ausnullen oder wirklich entfernen willst (letzteres ist zu empfehlen). Was unter Umstaenden bedeutet, dass du Sektionen der PE verschieben und RVAs anpassen musst usw. Alles in allem absolut nicht trivial.

Die entsprechenden "Update"-Funktionen existieren nur fuer NT und, soweit ich mich entsinne, erlauben auch nur das ausnullen, wenn man Ressourcen entfernen will.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 19:49
Ah mist .. ist wohl zu kompliziert, dafür, dass ich das ohne Beispielcode hinbekommen würde .. und die Update Funktionen tun wirklich nur ausnullen.

Die aus der madRes bekommen es sogar hin, dass einige z.B. RCDATA richtig entfernt werden, aber auch nciht alle.

@ErazerZ: So mach ichs auch, nur will mein Code nicht recht, warum weiß ich leider auch nicht.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#9

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 19:52
Zitat von Florian Bernd:
Ah mist .. ist wohl zu kompliziert, dafür, dass ich das ohne Beispielcode hinbekommen würde .. und die Update Funktionen tun wirklich nur ausnullen.
C'mon, du willst mir doch nicht erzaehlen, dass du deswegen aufgibst? Immerhin wuerdest du mit dieser Einstellung nie weiterkommen, denn es gibt noch vieles zu entdecken ...
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: Alle Resourcen aus fremder EXE richtig entfernen

  Alt 25. Jan 2007, 20:03
Aufgeben nicht, nein .. allerdings habe ich z.B. einen Beispielcode gefunden, wie man die .reloc Section entfernen kann. Allerdings scheint dies recht kompliziert, zumal es zu Fehlern im Programm kommt, wenn man einfach die .rsrc Section komplett tilgt.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz