Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Alcatraz — PEファイル向けのx64バイナリ難読化ツール。制御フローの平坦化、逆アセンブル対策、インポート難読化、命令変異を備え、リバースエンジニアリングを妨害します。 | Kitploit
ツール/GitHubGitHub/weak1337/alcatraz
リバースエンジニアリングバイナリ解析
GitHubweak1337/alcatraz

Alcatraz

PEファイル向けのx64バイナリ難読化ツール。制御フローの平坦化、逆アセンブル対策、インポート難読化、命令変異を備え、リバースエンジニアリングを妨害します。

リポジトリを見る
2.0k2683年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Alcatraz

Alcatrazは、さまざまなPEファイル(.exe、.dll、.sysなど)を難読化できるx64バイナリ難読化ツールです。

Overview

  • Alcatraz
  • Requirements
  • Usage
  • Features
    • Obfuscation of immediate moves
    • Control flow flattening
    • ADD mutation
    • Entry-point obfuscation
    • Lea obfuscation
    • Anti disassembly
    • Import obfuscation
    • Final result

Requirements

Install: https://vcpkg.io/en/getting-started.html

asmjit: vcpkg.exe install asmjit:x64-windows
Zydis: vcpkg.exe install zydis:x64-windows

Usage

imgbefore 1.) 左上隅のfileをクリックしてバイナリを読み込みます。
2.) Functionsツリーを展開して関数を追加します。(上部の検索バーに名前を入力して検索できます。)
3.) compileを押します(注: 多数の関数を難読化するには数秒かかる場合があります)。

Features

以下のデモでは、紹介されている機能以外はすべて無効になっています。

Obfuscation of immediate moves

即値がレジスタに移動される場合、複数のビット演算を適用して難読化します。人気の関数_security_init_cookieを見てみましょう。
変更前: imgbefore 変更後: imgafter

Control flow flattening

コンパイラが生成した整然としたプログラム構造を取り除き、コードを新しく生成されたブロックに配置することで、プログラムの複雑性を高めます。この簡単なmain関数を例に説明します(このプログラムの最適化は無効になっています):
imgmain
これをIDA 7.6で開くと、逆コンパイラは最適化を試みます:
imgmainnoobf
ここで制御フローを平坦化し、IDAで再度解析してみます:
imgmainobf
ご覧の通り、生成されたコードのごく一部しか表示していないにもかかわらず、複雑性が大幅に増加しています。CFGがどのようなものか知りたい場合は: imgmaincfg

ADD mutation

レジスタ(例: RAX)が別のレジスタ(例: RCX)に加算される場合、その命令を変異させます。つまり、構文は変わりますが、意味は変わりません。 命令ADD RCX, RAXは次のように変異します:

root@kitploit:~
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1

変異について詳しく知りたい場合は、persesを参照してください。

Entry point obfuscation

PEファイルが.exeの場合(.dllのサポートは後日追加予定)、起動時に実際のエントリポイントを復号するカスタムエントリポイントを作成します(!!! 手動マッピングでは機能しません)。
imgmaincfg

Lea obfuscation

LEA難読化は非常にシンプルですが効果的です。異なる位置をレジスタに移動し、その後復号します。これにより、リバースエンジニアは特定のデータや関数を相互参照できなくなります。
次のような命令を見つけたとします: lea rcx, [0xDEAD]
これを次のように変異します:

root@kitploit:~
pushf
lea rcx, [1CE54]
sub rcx, EFA7
popf

rcx -> 0xDEAD

Anti disassembly

バイト0xFFで始まる命令を見つけた場合、その前に0xEBを挿入します。
これは、0xEB 0xFFがjmp rip + 1にエンコードされ、最終的に実際の最初の0xFFにジャンプするためです。これにより、線形に命令をデコードするツールを混乱させます。
変更前:
imgffbefore
変更後:
imgffafter

時々、次のコードを挿入することもできます:

root@kitploit:~
jz 3
jne 1
0xE8

IDAは0xE8(call)をデコードしようと試みますが、成功しません:
imgjz

Import obfuscation

現時点では「適切な」IAT難読化はありません。今のところ0xFFアンチディスアセンブリのトリックで対応しています。適切な実装は以下で計画されています:
iat.cpp

Final result

これは、アンチディスアセンブリ以外のすべての機能を有効にしたmain関数のスニペットです(IDAが関数を作成できるようにするため):
imgfinal

ツールをダウンロード