每当我下载更新到Firefox并应用它卡巴斯基反病毒警告我FIREFOX.EXE文件已被修改。 我想知道他们是如何做到的。 有没有可能做一个简单的程序来演示这个技巧。 像可执行文件最初将显示“你好,世界!” 在提示符下,当我replace/修改示例可执行文件时,它必须显示“Hello,World!Mod”。
我的印象是,当Firefox有更新时,运行另一个应用程序并退出。 助手应用程序然后替换.exe。 这样,它不会在运行时自行修改。
简单的方法是使用FindFirstChangeNotification方法。 但我的猜测是反病毒正在使用系统钩子或其他机制在一些较低的水平挂钩 。
我并不知道Firefox是如何进行升级的,但是有一些常见的方法:
在允许它的文件系统(如NTFS)上,然后重命名当前正在运行的.exe,写入其替换,然后链接到新的
有一个小的启动程序,在切换到主程序之前进行主程序的任何更新。
涉及使临时跳跃到他们跳回等各种技巧
我在c ++中寻找一个自我修改的代码。 我认为程序可以通过从窗口中分离来修改自己