F4FActions
java.lang.Object
extended by com.ibm.appscan.frameworks.highlevelapi.F4FActions
public class F4FActions
extends java.lang.Object
アプリケーションのフレームワーク構造をモデル化する方法を指定するクラス。F4FHandler は、アプリケーションを分析しながら、F4FAction に渡された F4FHandler.handleApp(F4FApp, F4FActions) オブジェクトを変化させます。
コンストラクターの詳細
F4FActions
public F4FActions()空の F4FActions オブジェクトを作成します。関連する F4FActions オブジェクトが F4FHandler.handleApp(F4FApp, F4FActions) に渡されるため、新しいフレームワーク・ハンドラーの実装には必要ありません。
addTaintedCallback
public void addTaintedCallback(IMethod method,
int numParams)addTaintedCallback (String, int) と同じですが、VDB シグニチャーではなく IMethod を直接受け取ります。
addTaintedCallback
public void addTaintedCallback(java.lang.String vdbMethodSig,
int numParams)メソッドを、すべてのパラメーターが汚染された、汚染されたコールバックにします。
int の代わりに System.Int32 などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortName を参照してください。パラメーター:
vdbMethodSig:callbackメソッドのシグニチャーnumParams:thisパラメーターを含む、callbackメソッドのパラメーターの数
replaceCalls
public void replaceCalls(java.lang.String oldVDBSig,
java.lang.String newVDBSig)あるメソッドのすべての呼び出しを別のメソッドの呼び出しに置き換えます。古いメソッドと新しいメソッドの記述子 (例えば、引数の数、引数型、戻り値の型) が同じである必要があります。
oldVDBSig が呼び出しサイトで宣言済みターゲットの場合にのみ行われます。そのため、oldVDBSig が Integer.toString() であり、Object.toString() の呼び出しを行う場合、Integer.toString() が呼び出される場合であっても、置換は実行しません。int の代わりに System.Int32 などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortName を参照してください。パラメーター:
oldVDBSig: 呼び出しの置換元メソッドのシグニチャーnewVDBSig: 呼び出しの置換先メソッドのシグニチャー
replaceCallsWithSyntheticExpr
public void replaceCallsWithSyntheticExpr(java.lang.String vdbSig,
com.ibm.appscan.frameworks.specinfo.SyntheticExpr expr)メソッドのすべての呼び出しを任意の WAFL SyntheticExpr に置き換えます。例えば、呼び出しを AssignmentExpr による割り当てに置き換えることができます。
oldVDBSig が呼び出しサイトで宣言済みターゲットの場合にのみ行われます。そのため、oldVDBSig が Integer.toString() であり、Object.toString() の呼び出しを行う場合、Integer.toString() が呼び出される場合であっても、置換は実行しません。int の代わりに System.Int32 などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortName を参照してください。パラメーター:
vdbSig: 呼び出しの置換元メソッドのシグニチャーexpr: 呼び出しの置換先の合成式
replaceCallsWithParamPattern
public void replaceCallsWithParamPattern(java.lang.String oldVDBSig,
java.util.Map<java.lang.String,
java.util.Map<java.lang.Integer,
java.util.regex.Pattern>>
newSig2Pattern)String 型のパラメーターが、指定したパターンと一致する定数である場合にのみ、あるメソッドの呼び出しを別のメソッドの呼び出しに置き換えます。古いメソッドと新しいメソッドの記述子 (例えば、引数の数、引数型、戻り値の型) が同じである必要があります。
oldVDBSig が呼び出しサイトで宣言済みターゲットの場合にのみ行われます。そのため、oldVDBSig が Integer.toString() であり、Object.toString() の呼び出しを行う場合、Integer.toString() が呼び出される場合であっても、置換は実行しません。int の代わりに System.Int32 などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortName を参照してください。パラメーター:
oldVDBSig: 呼び出しの置換元メソッドのシグニチャーnewSig2Pattern: 可能な各置換メソッドmの VDB シグニチャーを、Patternsへの整数パラメーター位置のマップMにマップします。該当する位置の文字列定数パラメーターが一部の呼び出しサイトでMのパターンと一致する場合、mへの置換が実行されます。
addFrameworkInfo
public void addFrameworkInfo
(com.ibm.appscan.frameworks.specinfo.IFrameworkInfo info)任意の追加フレームワーク情報を追加します。このメソッドは、まれに、提供されている他の API では不十分な場合にのみ必要となります。
addTaintedCallback
public void addTaintedCallback(java.lang.String vdbMethodSig,
java.util.Collection<TaintedParam>
taintedParams)特定のパラメーター・アクセス・パスのみが汚染されているものとして扱われるようにして、一部のメソッドを汚染されたコールバックにします。
int の代わりに System.Int32 などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortName を参照してください。パラメーター:
vdbMethodSig: コールバック・メソッドの VDB フォーマットのシグニチャーtaintedParams: どのパラメーター・アクセス・パスが汚染されるかに関する情報
addHighLevelSyntheticMethod
public void addHighLevelSyntheticMethod(HighLevelSyntheticMethod m)同等: addHighLevelSyntheticMethod(m, true)
addHighLevelSyntheticMethod
public void addHighLevelSyntheticMethod(HighLevelSyntheticMethod m,
boolean isEntrypoint)高位合成メソッドを追加します。対応する WAFL 合成メソッド (エントリー・ポイントの可能性がある) が生成されます。
パラメーター:
m: The methodisEntrypoint: WAFL でメソッドをエントリー・ポイントとしてマークする必要があるかどうか。
createGlobal
public Global createGlobal(java.lang.String name,
java.lang.String declaredVDBType,
boolean isEntrypointScoped)HighLevelSyntheticMethods からアクセスできる新しいグローバルを作成します。
パラメーター:
name: グローバルの名前declaredVDBType: グローバルの宣言された型 (例:java.lang.String)。注: .NET アプリケーションの場合、完全修飾 VDB 型が必要です。したがって、パラメーター・タイプとしてintの代わりにSystem.Int32などが必要です。完全修飾名から VDB で通常使用される名前への完全なマッピングを確認するには、DotNetVDBUtil.systemName2VDBShortNameを参照してください。isEntrypointScoped: true の場合、グローバルは単一のエントリー・ポイントにスコープ指定されます (例えば、リクエスト・スコープとなります)。それ以外の場合、グローバルはエントリー・ポイントにわたってスコープ指定されます (例えば、「セッション」または「アプリケーション」スコープとなります)。
戻り値:
- 次の内部で読み取り/書き込みできるグローバル・オブジェクト:
HighLevelSyntheticMethod
createGlobal
public Global createGlobal(java.lang.String name,
IClass declaredClass,
boolean isEntrypointScoped)createGlobal(String, String, boolean) と同様ですが、型名の代わりに宣言された型の IClass を取ります。
getGlobals
public java.util.Collection<Global> getGlobals()内部使用。
getAdditionalFrameworkInfo
public java.util.Collection
<com.ibm.appscan.frameworks.specinfo.IFrameworkInfo>
getAdditionalFrameworkInfo()内部使用。
getCallReplacement2SigsInfo
public java.util.Map
<java.lang.String,java.util.Map
<java.lang.String,java.util.Map
<java.lang.Integer,java.util.regex.Pattern>>>
getCallReplacement2SigsInfo()内部使用。
getCallReplacement2ExprInfo
public java.util.Map
<java.lang.String,com.ibm.appscan.frameworks.specinfo.SyntheticExpr>
getCallReplacement2ExprInfo()内部使用。
getCallback2TaintedParams
public java.util.Map
<java.lang.String,java.util.Collection<TaintedParam>>
getCallback2TaintedParams()内部使用。
getHighLevelSyntheticMethods
public java.util.List
<com.ibm.wala.util.collections.Pair
<HighLevelSyntheticMethod,java.lang.Boolean>>
getHighLevelSyntheticMethods()内部使用。
toString
public java.lang.String toString()オーバーライド:
toString- クラスjava.lang.Object