Portál AbcLinuxu, 7. května 2025 05:47
Narazil jsem na program elfsign, který slouží k podepisování binárek, tak jsem si řekl, že ho vyzkouším.
$ md5sum Pokus-java* 877a32227d64468a599739f4ad6d8f72 Pokus-java e3efe927170b8b1517c0586587a10004 Pokus-java.crack $ ./Pokus-java Ahoj - Java! $ ./Pokus-java.crack Ahojx- Java! $ elfverify -f Pokus-java Issuer: C=cz, ST=Ceska republika, L=Praha, O=Frantovo.cz, CN=Franti\xC5\xA1ek Ku\xC4\x8Dera/emailAddress=abc@def.cz Signer: C=cz, ST=Ceska republika, L=Praha, O=Frantovo.cz, CN=Franti\xC5\xA1ek Ku\xC4\x8Dera/emailAddress=abc@def.cz Issuer is not trusted, would you like to trust them? [y/N] y OK $ elfverify -f Pokus-java.crack Issuer: C=cz, ST=Ceska republika, L=Praha, O=Frantovo.cz, CN=Franti\xC5\xA1ek Ku\xC4\x8Dera/emailAddress=abc@def.cz Signer: C=cz, ST=Ceska republika, L=Praha, O=Frantovo.cz, CN=Franti\xC5\xA1ek Ku\xC4\x8Dera/emailAddress=abc@def.cz Issuer is not trusted, would you like to trust them? [y/N] y OK
Porogram jsem podepsal a ověřil podpis pomocí elfverify. Pak jsem binárku upravil textovým editorem (→ liší se výstup programu), ale elfverify stále hlásí, že podpis je platný – přitom by ale měl říct, že program je sice podepsaný, ale pozměněný.
Je to chyba, která by se měla nahlásit, nebo jen dělám něco špatně?
-java
– máte opravdu elf
binárku? Druhá věc je, co vlastně elfisgn
podepisuje – protože pokud jen proud bajtů v souboru, pak nevidím důvod, proč na to mít nějaký speciální program, proč prostě ne nepoužívat kontrolní součet nebo podpis obecného binárního souboru. Pokud to naopak skutečně pracuje s elf
formátem, pak to může podepisovat jenom některé části.
Ta java v názvu trochu mate (asi jsem to měl uvést předem) ale skutečně je to ELF binárka – hraji si současně s překladem Javových zdrojáků do nativního kódu pomocí g++.
$ file Pokus-java*
Pokus-java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
Pokus-java.crack: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
Issuer is not trusted, would you like to trust them? [y/N] y
Když věříme, tak věříme.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.