Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
hackingweek_2014:reverse:reverse4 [2014/03/07 19:09] F4b créée |
hackingweek_2014:reverse:reverse4 [2017/04/09 15:33] (Version actuelle) |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Executable : https://repo.zenk-security.com/hackingweek2014_ctf/crackme-04 | Executable : https://repo.zenk-security.com/hackingweek2014_ctf/crackme-04 | ||
+ | |||
+ | **WARNING: crackme-04 a été changé entre le moment ou je l'ai fait et la fin du challenge. En effet, l'unpacking fonctionnait avec upx -d, ce qui n'est plus le cas maintenant** | ||
+ | |||
+ | <code> | ||
+ | $ md5sum old-crackme-04 | ||
+ | 4454fa70971bbbac4578ca248a066f17 old-crackme-04 | ||
+ | |||
+ | $ md5sum new-crackme-04 | ||
+ | c50937eb74096c0923eda38a081b6fbe new-crackme-04 | ||
+ | </code> | ||
+ | |||
+ | **La différence entre les deux est mince: les chaines UPX on été remplacées par XXX. On peut retrouver une version compatible avec l'outil upx via une simple commande.** | ||
+ | <code> | ||
+ | $ perl -pe 's/XXX/UPX/g' crackme-04 > crackme-04-upx | ||
+ | </code> | ||
+ | |||
+ | Le binaire est packé UPX. On peut l'unpacker facilement avec "upx -d crackme-04-upx". | ||
+ | <code> | ||
+ | $ upx -d crackme-04-upx | ||
+ | Ultimate Packer for eXecutables | ||
+ | Copyright (C) 1996 - 2013 | ||
+ | UPX 3.09 Markus Oberhumer, Laszlo Molnar & John Reiser Feb 18th 2013 | ||
+ | |||
+ | File size Ratio Format Name | ||
+ | -------------------- ------ ----------- ----------- | ||
+ | 859513 <- 336244 39.12% linux/ElfAMD crackme-04 | ||
+ | |||
+ | Unpacked 1 file. | ||
+ | </code> | ||
+ | |||
<code> | <code> | ||
- | $ file crackme-04 | + | $ file crackme-04-upx |
- | crackme-04: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=b3e7c4ad973543e323fad16c09fca15914211fa0, not stripped | + | crackme-04-upx: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=b3e7c4ad973543e323fad16c09fca15914211fa0, not stripped |
</code> | </code> | ||
- | La crackme 4 est un ELF 64 bits, compilé en static, **mais** non strippé, ce qui signifie que les symboles sont toujours présents. | + | Il s'agit d'un ELF 64 bits, compilé en static, **mais** non strippé, ce qui signifie que les symboles sont toujours présents. |
<code> | <code> |