2009-07-20 20 views

cevap

63
+3

Teşekkür ederim İnternet! – 0x6adb015

+9

Boy Kendi yazdığım için aptal hissediyorum ... –

+0

15 karakterden daha az sığacak şekilde düzenlenmiş: p – sigjuice

4
hexdump -v -e '16/1 "0x%x," "\n"' 

stdin dizi gibi, bir C üretecek, ancak hiçbir bildiri, herhangi bir mesnet veya iyi bir biçimlendirme vardır.

3

Unix/Linux sorusu olduğunu biliyorum, ancak bunu Windows'da yapmak isteyen herkese Bin2H kullanabilirsiniz.

+0

xxd ayrıca pencereler için kullanılabilir. – DrAl

10

Büyük dosyalar için metne dönüştürülür ve sonra derleyicinin yeniden ayrıştırılması verimsiz ve gereksizdir. Bunun yerine objcopy kullanın:

objcopy -I binary -O elf32-i386 stuff stuff.o 

(. x86 dışındaki platformlar için gerekli çıkış mimarisini ayarlayın) Eğer programa bağlamak Sonra bir kez, bunu gibi erişebilirsiniz:

extern char _binary_stuff_start[], _binary_stuff_end[]; 
#define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start) 

... 

foo(_binary_stuff_start[i]); 
İlgili konular