Ich versuche herauszufinden, wie man erkennt, ob eine Binärdatei mit UPX komprimiert wurde. Ich verwende einen einfachen CRC, um zu erkennen, ob meine App in irgendeiner Weise geändert wurde, und wenn der CRC aufgrund eines Packers auf die Größe nicht passt, möchte ich das als OK erkennen.UPX programmgesteuert erkennen
Jetzt beginne ich mit UPX.
Also, gibt es einen Marker auf der Binärdatei? Gibt es bestimmte JMP oder andere Anweisungen, die ich suchen sollte?
Dies wird hauptsächlich in Windows getestet, aber in Zukunft könnte ich es auch zu Linux hinzufügen.
Jede Hilfe (und Code) wird geschätzt.
ADDED:
fand ich, dass in den 10 Binärdateien ich die
AddressOfEntryPoint
Import Directory RVA
Resouce Directory RVA
entweder Buch
geprüft einen Versatz UPX oder zu haben, die durch UPX eingestellt ist. Irgendwelche Informationen dazu?Dank
Versuchen Sie, Blick auf UPX-Entpacker-Quellcode, ich bin sicher, dass ein Algorithmus für UPX-Erkennung sollte da sein – Machinarius
Bereits getan, und es ist ein Durcheinander, gelinde gesagt. –