LockBytes()/UnlockBytes()
そのような目的のために、WinAPI(* nixの代替の正確な名前についてはわかりません)のような関数を使用できることを聞いています。
私は興味があります: 「実行中に一部の *.exe の内容を変更することは可能ですか?」
Semaphore、Spinlock などのようなスレッド ロッカー モデルのため、それは不可能だと思います。
しかし、何らかの方法は存在しますか?
おそらく、リソースをEXEに埋め込み、準備された独自のスレッドモデルと実行時にロックしてから、そのバイトの領域をロック解除し、必要な値を変更する場合。
私がこの質問に興味を持った理由は次のとおりです。
セキュリティ オンライン チェック。オンラインキーチェッカーに使用されるいくつかの値を変更したい(チェックサムとセッションをそのようなバイト領域に書き込み、オンラインでチェックするなど...)
ファイルシステムスペースまたはシステムレジストリへのアクセスを妨げないようにUAC / chmodを渡したいので、別のファイルやレジストリなどに書き込みたくありません。
PS
私はウイルスを作りたくありません。自分のプログラムをトライアルチェック/分解のハッキングから保護するだけです。