Light Alloy v4.5.5 - FP

Hello.
Comodo reports about Light Alloy media player as like its trying to set up a global hook.
There is link to installer: http://light-alloy.ru/LA_Setup_v4.5.5_beta.exe
Official web-site: http://light-alloy.ru/en/home/

I’m a developer of this software, and would like to know what Comodo don’t like about it (so I may drop this part from code), or would it be possible to add LA.exe as trusted into Comodo database by default?

May Comodo don’t like code part listen below?


type
  KBDLLHOOKSTRUCT = record
    vkCode: DWORD;
    scanCode: DWORD;
    flags: DWORD;
    time: DWORD;
    dwExtraInfo:Pointer;
  end;
  PKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;

...

implementation

...

function KeyboardProc(nCode: integer; wParam: longint; lParam: longint): integer; stdcall;
var
  KeyStroke: boolean;
  p: PKBDLLHOOKSTRUCT;
begin
  KeyStroke := false;

  MonEner_RestoreState;

  if frConfig<>nil then
    if (frConfig.CfgPageIndex=9) then begin
      p := PKBDLLHOOKSTRUCT(lParam);
      if  (p^.vkCode = VK_ESCAPE) then begin
        frConfig.CfgPages[9].ESCMessage;
        exit;
      end;
    end;

  if (nCode = HC_ACTION) and (Application.Active) and (frMain.HoverButtons[hiFullScreen].Down)
    and (frMain.stOnTopKeep) or (frMain.HoverButtons[hiCapStayOnTop].Down) then
  begin
    case wParam of
      WM_KEYDOWN, WM_SYSKEYDOWN,
      WM_KEYUP,    WM_SYSKEYUP:
      begin
        p := PKBDLLHOOKSTRUCT(lParam);
        if (frMain.HoverButtons[hiFullscreen].Down) and (frMain.stOnTopKeep or (frMain.HoverButtons[hiCapStayOnTop].Down)) then
          KeyStroke :=
          //( (p^.vkCode = VK_LWIN) or (p^.vkCode = VK_RWIN)) or
            ( (p^.vkCode = VK_TAB) and ((p^.flags and LLKHF_ALTDOWN) <> 0) ) //or
//          ( (p^.vkCode = VK_ESCAPE) and ((p^.flags and LLKHF_ALTDOWN) <> 0) ) or
//          ( (p^.vkCode = VK_ESCAPE) and ((GetKeyState(VK_CONTROL) and $8000) <> 0) )
{          ( (p^.vkCode = VK_F4) and ((p^.flags and LLKHF_ALTDOWN) <> 0) )}
      end;
    end;//case
  end;

  if KeyStroke then
  begin
    DisableConfigPageTimer := True;
    Result := 1
  end
  else
  begin
    DisableConfigPageTimer := False;
    result := CallNextHookEx(0, nCode, wParam, lParam);
  end;
end;

CIS: 11236

Thanks for attention.

Hi Kinjal,

Thank you for your submission. We’ll check this and get back to you soon.

Regards,
Ponmalar.S

Hello,

This False Positive has been fixed. You can check with virus signature database version 11244 and confirm.

Best regards,
FlorinG