2017-09-11 4 views
4

Wenn ein Entwickler ein Crystal-Programm kompiliert, welche Metadaten speichert die Binärdatei und wie werden alle sensiblen Informationen entfernt? Mit sensibel meine ich Geräte-Identifikatoren, lokale IP-Adressen oder irgendetwas anderes.Speichert Crystal vertrauliche Informationen?

Antwort

6

Ich weiß, Kristallspeicher grundlegende Debug-Informationen, wenn Sie verwenden:

crystal build myprogram.cr 

Dann können Sie --debug Flag speichern alle Debug-Informationen (posible sensible Informationen wie Quellcode Beispiel) verwenden:

crystal build --debug myprogram.cr 

Um zu vermeiden, Informationen Debug --no-debug Flag verwenden:

crystal build --no-debug myprogram.cr 

Und zu optimieren und noch mehr die binäre Verwendung --release Flagge zu verschleiern:

crystal build --release --no-debug myprogram.cr 

Soweit ich weiß, kompilierten Sprachen könnten speichern sensible Informationen, wenn Sie Debug-Flags kompilieren verwenden. Die sensible Information ist üblicherweise der Quellcode, der mit der erzeugten Binärdatei eingebettet ist.

Sie können objdump -s --section .comment myprogram.bin verwenden binäre Metadaten wie folgt zu sehen:

.stdin:  file format elf64-x86-64 

Contents of section .comment: 
0000 4743433a 2028474e 55292036 2e312e31 GCC: (GNU) 6.1.1 
0010 20323031 36303830 32004743 433a2028 20160802.GCC: (
0020 474e5529 20362e33 2e312032 30313730 GNU) 6.3.1 20170 
0030 31303900 4743433a 2028474e 55292034 109.GCC: (GNU) 4 
0040 2e372e32 20323031 32313031 35202852 .7.2 20121015 (R 
0050 65642048 61742034 2e372e32 2d352900 ed Hat 4.7.2-5). 
Verwandte Themen