【发布时间】:2017-11-02 12:14:26
【问题描述】:
当我尝试调整在 VirusTotal 上运行的 YARA 规则时,我注意到符号 . 不代表相同的十六进制数字。当我试图排除产生误报的文本字符串.sample.时,它不会被排除,因为在这种情况下,从文本表示转换而来的.是2E,同时在字符串中,它实际上包含在误报中,. 代表00。
我假设当文件匹配时,文本被转换为十六进制,然后十六进制字符串在文件的 hexdump 中匹配,整个 hexdump 在 VT 预览中被转换为文本。
然后我注意到在VirusTotal 的文本预览中实际上有更多的十六进制数字表示为.。例如,0A、99、09(屏幕截图)。
我尝试使用在线转换器 (http://www.unit-conversion.info/texttools/hexadecimal/) 查看这些十六进制数字的文本表示,其中一些表示为 � 或空白符号(不是 space 符号,作为数字 20 ,但只是一个空格)。
所以我的问题是 - 为什么不同的数字似乎代表同一个符号?另外,文件的 hexdump 中的“空格”代表什么?
【问题讨论】:
标签: hex static-analysis yara