每当我下载并安装Firefox更新时,卡巴斯基杀毒软件会警告我FIREFOX.EXE文件已被修改。我想知道他们是如何做到的。是否可能编写一个简单的程序来演示这个技巧。比如,可执行文件最初会在提示框中显示“Hello, World!”,当我替换/修改示例可执行文件时,它必须显示“Hello, World! 修改版”。
实时修改/替换Exe
原标题:
问题回答
我之前的印象是Firefox在更新时会运行另一个应用程序并退出本身。这个辅助程序会取代原有的.exe文件。这样,Firefox就不会在运行时自我修改。
简单的方法是使用方法FindFirstChangeNotification。但我猜想反病毒软件可能在较低层次上使用系统挂钩或其他机制。
我不确定Firefox如何进行其升级,但有许多常见的方法:
在允许的文件系统上进行操作(如NTFS),可以将当前正在运行的.exe重命名,将其替换后写入,并链向新的.exe。
拥有一个小型启动程序,在切换到主要exe之前进行任何更新。
各种技巧,包括使临时前男友跳到他们身上再跳回来等。
我正在寻找C++中的自修改代码。我认为程序可以通过从Windows中分离它们来修改自己。
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding