问题描述
我目前正在使用 FASM 来编译 Windows 可执行文件。但是,我注意到 AV 误报率很高,我正在努力了解和解决这一问题。
我的方法是创建一个最小可执行文件并尝试“修复”格式,直到 AV 不标记它。目标是了解是什么触发了 AV 的怀疑。
format PE GUI 4.0
entry start
include 'win32ax.inc'
section '.text' code readable executable
start:
invoke MessageBoxA,Message,Title,0
invoke ExitProcess,0
section '.data' data readable writeable
maybe_there_should_be_a_rw_section_too dd ?
section '.rdata' data readable
Title db 'Test',0
Message db 'Hello,World!',0
section '.idata' import data readable writeable
library \
ntdll,'ntdll.dll',\
kernel32,'kernel32.dll',\
user32,'user32.dll'
import kernel32,\
ExitProcess,'ExitProcess'
import user32,\
MessageBoxA,'MessageBoxA'
此代码是最小的可执行文件。我尝试了以下方法使其对 AV 看起来更“正常”:
到目前为止,这并没有降低误报率。
这就是在 VirusTotal 上引发更多误报的原因:
问题:是否有任何建议或好的做法可以避免不使用数字签名的误报?尤其是在向程序集中添加更多代码或数据时,许多 AV 标记可执行文件,这肯定会导致抱怨。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)