NativePoc.Builder

public static abstract class NativePoc.Builder
extends Object

java.lang.Object 中
   ↳ com.android.sts.common.NativePoc.Builder


摘要

公共构造函数

Builder()

公共方法

abstract NativePoc.Builder after(NativePoc.AfterFunction value)

在 PoC 完成执行后但在断言或清理之前运行的函数。

abstract NativePoc.Builder args(List<String> value)

要传递给可执行 PoC 的参数列表

abstract NativePoc.Builder args(String... value)

要传递给可执行 PoC 的参数列表

abstract NativePoc.Builder asserter(NativePocAsserter value)

用于检查 PoC 执行结果或附带效应的 NativePocAsserter

abstract NativePoc.Builder assumePocExitSuccess(boolean value)

在 PoC 未返回 0 时是否抛出假设失败。

NativePoc build()

构建不可变的 NativePoc 对象

abstract NativePoc.Builder envVars(Map<String, String> value)

要在运行 PoC 之前设置的环境变量的映射

NativePoc.Builder only32()

强制使用 32 位版本的 PoC 可执行文件

NativePoc.Builder only64()

强制使用 64 位版本的 PoC 可执行文件

abstract NativePoc.Builder pocName(String value)

要上传并运行的可执行文件的名称。

abstract NativePoc.Builder resourcePushLocation(String value)

将提取的 Java 资源上传到何处。

abstract NativePoc.Builder resources(String... value)

要提取并上传到设备的 Java 资源列表

abstract NativePoc.Builder resources(List<String> value)

要提取并上传到设备的 Java 资源列表

NativePoc.Builder timeoutSeconds(long value, String reason)

终止前,该 PoC 的运行时长

abstract NativePoc.Builder useDefaultLdLibraryPath(boolean value)

是否在 LD_LIBRARY_PATH 中包含 /system/lib64 和 /system/lib

公共构造函数

Builder

public Builder ()

公共方法

晚于

public abstract NativePoc.Builder after (NativePoc.AfterFunction value)

在 PoC 完成执行后但在断言或清理之前运行的函数。

这通常用于等待后续可能发生的 PoC 副作用 PoC 流程本身已完成,例如等待将崩溃转储写入文件或等待 服务崩溃。

参数
value NativePoc.AfterFunction

返回
NativePoc.Builder

args

public abstract NativePoc.Builder args (List<String> value)

要传递给可执行 PoC 的参数列表

参数
value List

返回
NativePoc.Builder

args

public abstract NativePoc.Builder args (String... value)

要传递给可执行 PoC 的参数列表

参数
value String

返回
NativePoc.Builder

断言者

public abstract NativePoc.Builder asserter (NativePocAsserter value)

用于检查 PoC 执行结果或附带效应的 NativePocAsserter

参数
value NativePocAsserter

返回
NativePoc.Builder

假设 PocExitSuccess

public abstract NativePoc.Builder assumePocExitSuccess (boolean value)

在 PoC 未返回 0 时是否抛出假设失败。默认值为 true

参数
value boolean

返回
NativePoc.Builder

build

public NativePoc build ()

构建不可变的 NativePoc 对象

返回
NativePoc

envVar

public abstract NativePoc.Builder envVars (Map<String, String> value)

要在运行 PoC 之前设置的环境变量的映射

参数
value Map

返回
NativePoc.Builder

仅限 32

public NativePoc.Builder only32 ()

强制使用 32 位版本的 PoC 可执行文件

返回
NativePoc.Builder

仅限 64

public NativePoc.Builder only64 ()

强制使用 64 位版本的 PoC 可执行文件

返回
NativePoc.Builder

POcName

public abstract NativePoc.Builder pocName (String value)

要上传和运行的可执行文件的名称。请勿包含“_sts??”后缀。

参数
value String

返回
NativePoc.Builder

resourcePushLocation

public abstract NativePoc.Builder resourcePushLocation (String value)

将提取的 Java 资源上传到何处。默认为上传 PoC 的位置

参数
value String

返回
NativePoc.Builder

资源

public abstract NativePoc.Builder resources (String... value)

要提取并上传到设备的 Java 资源列表

参数
value String

返回
NativePoc.Builder

资源

public abstract NativePoc.Builder resources (List<String> value)

要提取并上传到设备的 Java 资源列表

参数
value List

返回
NativePoc.Builder

超时秒数

public NativePoc.Builder timeoutSeconds (long value, 
                String reason)

在终止前让 PoC 运行多长时间

参数
value long:原生 PoC 终止前需要运行的秒数

reason String:说明需要不同的超时时长而不是默认值的原因 NativePoc.DEFAULT_POC_TIMEOUT_SECONDS。通常用于试图利用 竞态条件。

返回
NativePoc.Builder 此构建器实例

useDefaultLdLibraryPath

public abstract NativePoc.Builder useDefaultLdLibraryPath (boolean value)

是否在 LD_LIBRARY_PATH 中包含 /system/lib64 和 /system/lib

参数
value boolean

返回
NativePoc.Builder