• stringをchar配列にしてランダムな順番で文字を格納(文字列による検索の回避)
  • 関数ポインタを使用する
  • jmpjmpiを使用する(ディスコンパイルの回避)
  • 関数名や変数名を数字にする(バイナリレベルでの難読化)(ディスコンパイルの回避、ただし自動で名前を付け直すディスコンパイラもある)
  • エミッタを使用して実行時にコードを生成する
  • モジュールレベルの関数や変数を使用する(ディスコンパイルの回避(C#))

対Lutz Roeder's .NET Reflector

  • 継承によるメンバ関数のオーバーロードをファイル化プラグインが解決できない(オーバーロード先の関数名 を オーバーロード元の関数名 に自動で変更しない)ので、関数名の違うオーバーロードを多用する(ディスコンパイルの回避)

厳密には難読化でない気もするけど最終手段

  • マネージドC++を使う(ディスコンパイルの回避)
  • アンマネージドDllを呼び出す

トップ 編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード 新規 一覧 単語検索 最終更新 リンク元 ヘルプ 最終更新のRSS xenowire
Last-modified: Mon, 27 Jul 2009 03:06:23 JST