首页 > 代码库 > Delphi 编译出来的程序被小红伞报病毒 TR/Spy.Banker.Gen4 [trojan]
Delphi 编译出来的程序被小红伞报病毒 TR/Spy.Banker.Gen4 [trojan]
今天碰到非常奇怪的问题,正常开发的单元代码,在A程序编译出来没有问题,将相同的单元引用到B程序编译出来就被小红伞报病毒TR/Spy.Banker.Gen4 [trojan],自动隔离删除。
今时今日的防病毒软件,实在是让人纠结不已,今天一个下午的排查代码,最后发现问题居然是出现在调用Windows API的地方,总体有两处代码会出现报病毒:
问题代码1:
//单元1声明引用API函数function GetCPInfoEx(CodePage: UINT; Flags:DWORD; var lpCPInfo: TCPInfoEx):BOOL;stdcall; external kernel32 Name {$IFDEF UNICODE} ‘GetCPInfoExW‘; {$ELSE} ‘GetCPInfoExA‘; {$ENDIF}//单元2 // 这里一旦调用 单元1的GetCPInfoEx,则马上报病毒, if GetCPInfoEx(FCodePage, 0, LCPInfo) then // 而修改为调用Windows单元的 GetCPInfoEx 则不会 if Windows.GetCPInfoEx(FCodePage, 0, LCPInfo) then// 总得来说非常奇怪,难道在单元1引用GetCPInfoEx就会生成病毒特征码?
问题代码2:
单元3://一旦调用EnumSystemCodePages则马上报病毒Windows.EnumSystemCodePages(@DoEnumCodePageCallBackEx, dwFlag);
最后实在没辙了,全部改为动态加载DLL并调用API。
Delphi 编译出来的程序被小红伞报病毒 TR/Spy.Banker.Gen4 [trojan]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。