DecrottePE compatible chinese style.

Bon tant que j’y était, histoire de plus perdre de temps avec certains packer à deux balles ou des dumps encrypté à la chinoise (Xor de base ou Xor shifté).

Voici une version de «decrottePE.py» qui bruteforce; C’est pas joli, mais ce qu’il y a trouver est pas non plus joli-joli !

Exemple , j’encrypte à la chinoise un PE avec un xor shifté et la clef 0x42 (évidemment la fameuse solution universelle).

$ xor.py monPE.exe 0x42 inc
data, key, inc, base, result
(77, 66, 1, 0, 15)
(90, 67, 1, 0, 25)
(144, 68, 1, 0, 212)
(0, 69, 1, 0, 69)
(3, 70, 1, 0, 69)
(0, 71, 1, 0, 71)
(0, 72, 1, 0, 72)
(0, 73, 1, 0, 73)
(4, 74, 1, 0, 78)
... 
writing output to monPE.exe.xor

Je cache mon PE xoré au millieu d’un champ de random.

$ dd if=/dev/urandom of=random bs=1 count=768
768+0 records in
768+0 records out
768 bytes (768 B) copied, 0.00350417 s, 219 kB/s
$ cat random monPE.exe.xor random > data

Bon… c’est le plus chiant qu’il soit possible d’extraire avec ce truc, lançons le décrotteur et allons lire un livre.

$ decrottePE.py data -xor
[i] Ok I Will Brutalizing the XorCipher
[i] Scanning toto
[!] No PE found, will try the chinese style; SIMPLE XOR 
[!] No PE found, will try the chinese style; XOR Shifted  
[!] No PE found, will try the chinese style; XOR Shifted looking every offsets
>Seeking / 8Bits Xor Inc key 62 offset  4                                 
[*] Found PE_768.exe 144896 bytes saved
[i] I was victorious...

Bingo… et le fichier est en état.

$ diff PE_768.exe monPE.exe -s
Files PE_768.exe and monPE.exe are identical

Amis du XOR, merci de passer a RC4…

 

This entry was posted in Crypto, Malware, Reverse and tagged , , . Bookmark the permalink.

One Response to DecrottePE compatible chinese style.

  1. Pingback: Outils, services, sites à (re)découvrir 2015 S05 | La Mare du Gof

Leave a Reply

Your email address will not be published. Required fields are marked *

AlphaOmega Captcha Classica  –  Enter Security Code