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

assumePocExitSuccess

public abstract NativePoc.Builder assumePocExitSuccess (boolean value)

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

参数
value boolean

返回
NativePoc.Builder

build

public NativePoc build ()

构建不可变的 NativePoc 对象

返回
NativePoc

envVars

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

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

参数
value Map

返回
NativePoc.Builder

only32

public NativePoc.Builder only32 ()

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

返回
NativePoc.Builder

only64

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

timeoutSeconds

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

让 PoC 运行多长时间后终止

参数
value long:原生 PoC 在终止之前的运行时长(以秒为单位)

reason String:说明为什么需要使用其他超时时长,而不是默认的 NativePoc.DEFAULT_POC_TIMEOUT_SECONDS。通常用于尝试利用竞态条件的 PoC。

返回
NativePoc.Builder 此构建器实例

useDefaultLdLibraryPath

public abstract NativePoc.Builder useDefaultLdLibraryPath (boolean value)

是否要在 LD_LIBRARY_PATH 中添加 /system/lib64 和 /system/lib

参数
value boolean

返回
NativePoc.Builder