When i call MadCodeHook at my application and send it to scan at virustotal detect as Gen:Variant.Jacard.155413 / Trojan.Jacard.D25F15 and others.
But when i remove the MadCodeHook unit my application have 0 detection of virus.
how solve it?
You can do the following:
 Contact the vendor(s) of the anti-virus software that is labeling your benign code as malicious (a false positive) and ask them to remove the detection. They may have to independently review your submission (detected files) before they just take your word for it. You may also mention that these false positives are negatively impacting the sales of your safe and helpful software designed to do similar to what their software is doing, protecting the host. Keep in mind that no software can ultimately determine whether your code hook keeps the bad guys out or lets the bad guys in to a system and this inability to differentiate/distinguish between code intentions will always exist, so this comes with the territory. Hooking and injection are often used by both Anti-Virus and by the malicious software that they are looking to detect
 Sign your binary modules (EXE, DLL, SYS files etc). This essentially creates a trust-based relationship between you and most anti-virus software and will solve 99% of these "false positives"