每当我下载 Firefox 更新并应用它时,卡巴斯基杀毒软件都会提醒我文件 FIREFOX.EXE 已被修改。我想知道他们是怎么做到的。是否可以做一个简单的程序来演示这个技巧。就像可执行文件最初会显示“Hello, World!”一样 在提示符下,当我替换/修改示例可执行文件时,它必须显示“Hello,World!Mod”。
ardsrk
问问题
1439 次
4 回答
1
我的印象是 Firefox 在有更新时会运行另一个应用程序并自行退出。然后,帮助应用程序会替换 .exe。这样,它就不会在运行时修改自己。
于 2008-12-02T17:30:42.210 回答
0
简单的方法是使用FindFirstChangeNotification方法。但我的猜测是,防病毒软件正在使用系统挂钩或其他机制在某个较低级别进行挂钩。
于 2008-12-02T17:24:05.453 回答
0
我不具体知道 Firefox 是如何进行升级的,但有一些常见的方法:
在允许它的文件系统(如 NTFS)上,然后重命名当前运行的 .exe,写入其替换,然后链接到新的
有一个小的启动程序,它在切换到它之前对主 exe 进行任何更新。
各种技巧,包括让临时前任跳到他们身边,然后跳回来等。
于 2008-12-02T17:27:07.583 回答
0
我正在寻找 C++ 中的自我修改代码。我认为程序可以通过将它们与窗口分离来修改自己
于 2009-05-02T12:06:56.860 回答