rydeen.plugins.strenc
クラス StringEncryptObfuscator

java.lang.Object
  上位を拡張 rydeen.AbstractProcessor
      上位を拡張 rydeen.plugins.strenc.StringEncryptObfuscator
すべての実装されたインタフェース:
Processor

public class StringEncryptObfuscator
extends AbstractProcessor

文字列を暗号化する処理器です. クラスファイルに含まれている文字列を暗号化しておきます. そして,実行時に暗号化された文字列を複合します.

具体的には以下のような処理を行います.

  1. クラスファイルの中身を読み,文字列を探します.
  2. 文字列が見つかれば,暗号化します.
  3. 暗号化した文字列が参照されるとき,復号してから参照されるよう復号ルーチンを挿入します.
  4. 復号ルーチンをクラスファイルに追加します.

例えば,以下のコードがあった場合,

 string = "plain string";

この処理器を施した結果は以下のようなコードになります (ただし,クラスファイル自体を難読化するため,あくまでも実行結果のサンプルとして理解してください). なお,このサンプルでは鍵1のカエサル暗号を用いています.

 string = decrypt("qmbjo tusjoh");

この手法では,復号鍵は復号ルーチンに含まれています. すなわち,復号するための情報は全てクラスファイルに含まれているため, 逆難読化も自動化させられます.

作成者:
Haruaki Tamada

コンストラクタの概要
protected StringEncryptObfuscator(ProcessorService provider)
          処理器を初期化します.
 
メソッドの概要
 void perform(TargetSource source, Destination dest)
          処理を実行します.
 void prepare(Arguments args)
          処理器を初期化します.
 void summarize()
          複合するクラス名とメソッド名を出力します.
 
クラス rydeen.AbstractProcessor から継承されたメソッド
execute, finish, getArguments, getCurrentStage, getId, getProcessorName, getProvider, getSummary, init, putEntry, putEntry, setId
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

StringEncryptObfuscator

protected StringEncryptObfuscator(ProcessorService provider)
処理器を初期化します.

メソッドの詳細

prepare

public void prepare(Arguments args)
             throws ProcessorException
処理器を初期化します.

定義:
クラス AbstractProcessor 内の prepare
パラメータ:
args - 処理器に与えるパラメータ.
例外:
ProcessorException

perform

public void perform(TargetSource source,
                    Destination dest)
             throws ProcessorException
処理を実行します.

定義:
クラス AbstractProcessor 内の perform
例外:
ProcessorException

summarize

public void summarize()
複合するクラス名とメソッド名を出力します.

定義:
クラス AbstractProcessor 内の summarize


Copyright © 2010-2011 Rydeen Project. All Rights Reserved.