NativePoc.Builder
public
static
abstract
class
NativePoc.Builder
extends Object
java.lang.Object | |
↳ | com.android.sts.common.NativePoc.Builder |
Summary
Public constructors | |
---|---|
Builder()
|
Public methods | |
---|---|
abstract
NativePoc.Builder
|
after(NativePoc.AfterFunction value)
Function to run after the PoC finishes executing but before assertion or cleanups. |
abstract
NativePoc.Builder
|
args(List<String> value)
List of arguments to be passed to the executable PoC |
abstract
NativePoc.Builder
|
args(String... value)
List of arguments to be passed to the executable PoC |
abstract
NativePoc.Builder
|
asserter(NativePocAsserter value)
A |
abstract
NativePoc.Builder
|
assumePocExitSuccess(boolean value)
Whether to throw an assumption failure when PoC does not return 0. |
NativePoc
|
build()
Build an immutable NativePoc object |
abstract
NativePoc.Builder
|
envVars(Map<String, String> value)
Map of environment variables to be set before running the PoC |
NativePoc.Builder
|
only32()
Force using 32-bit version of the PoC executable |
NativePoc.Builder
|
only64()
Force using 64-bit version of the PoC executable |
abstract
NativePoc.Builder
|
pocName(String value)
Name of executable to be uploaded and run. |
abstract
NativePoc.Builder
|
resourcePushLocation(String value)
Where to upload extracted Java resources to. |
abstract
NativePoc.Builder
|
resources(String... value)
List of java resources to extract and upload to the device |
abstract
NativePoc.Builder
|
resources(List<String> value)
List of java resources to extract and upload to the device |
NativePoc.Builder
|
timeoutSeconds(long value, String reason)
How long to let the PoC run before terminating |
abstract
NativePoc.Builder
|
useDefaultLdLibraryPath(boolean value)
Whether to include /system/lib64 and /system/lib in LD_LIBRARY_PATH |
Public constructors
Builder
public Builder ()
Public methods
after
public abstract NativePoc.Builder after (NativePoc.AfterFunction value)
Function to run after the PoC finishes executing but before assertion or cleanups.
This is typically used to wait for side effects of the PoC that may happen after the PoC process itself finished, e.g. waiting for a crashdump to be written to file or for a service to crash.
Parameters | |
---|---|
value |
NativePoc.AfterFunction |
Returns | |
---|---|
NativePoc.Builder |
args
public abstract NativePoc.Builder args (List<String> value)
List of arguments to be passed to the executable PoC
Parameters | |
---|---|
value |
List |
Returns | |
---|---|
NativePoc.Builder |
args
public abstract NativePoc.Builder args (String... value)
List of arguments to be passed to the executable PoC
Parameters | |
---|---|
value |
String |
Returns | |
---|---|
NativePoc.Builder |
asserter
public abstract NativePoc.Builder asserter (NativePocAsserter value)
A NativePocAsserter
to check PoC execution results or side-effect
Parameters | |
---|---|
value |
NativePocAsserter |
Returns | |
---|---|
NativePoc.Builder |
assumePocExitSuccess
public abstract NativePoc.Builder assumePocExitSuccess (boolean value)
Whether to throw an assumption failure when PoC does not return 0. Defaults true
Parameters | |
---|---|
value |
boolean |
Returns | |
---|---|
NativePoc.Builder |
envVars
public abstract NativePoc.Builder envVars (Map<String, String> value)
Map of environment variables to be set before running the PoC
Parameters | |
---|---|
value |
Map |
Returns | |
---|---|
NativePoc.Builder |
only32
public NativePoc.Builder only32 ()
Force using 32-bit version of the PoC executable
Returns | |
---|---|
NativePoc.Builder |
only64
public NativePoc.Builder only64 ()
Force using 64-bit version of the PoC executable
Returns | |
---|---|
NativePoc.Builder |
pocName
public abstract NativePoc.Builder pocName (String value)
Name of executable to be uploaded and run. Do not include "_sts??" suffix.
Parameters | |
---|---|
value |
String |
Returns | |
---|---|
NativePoc.Builder |
resourcePushLocation
public abstract NativePoc.Builder resourcePushLocation (String value)
Where to upload extracted Java resources to. Defaults to where the PoC is uploaded
Parameters | |
---|---|
value |
String |
Returns | |
---|---|
NativePoc.Builder |
resources
public abstract NativePoc.Builder resources (String... value)
List of java resources to extract and upload to the device
Parameters | |
---|---|
value |
String |
Returns | |
---|---|
NativePoc.Builder |
resources
public abstract NativePoc.Builder resources (List<String> value)
List of java resources to extract and upload to the device
Parameters | |
---|---|
value |
List |
Returns | |
---|---|
NativePoc.Builder |
timeoutSeconds
public NativePoc.Builder timeoutSeconds (long value, String reason)
How long to let the PoC run before terminating
Parameters | |
---|---|
value |
long : how many seconds to let the native PoC run before it's terminated |
reason |
String : explain why a different timeout amount is needed instead of the default
NativePoc.DEFAULT_POC_TIMEOUT_SECONDS . Generally used for PoCs that tries to exploit
race conditions. |
Returns | |
---|---|
NativePoc.Builder |
this Builder instance |
useDefaultLdLibraryPath
public abstract NativePoc.Builder useDefaultLdLibraryPath (boolean value)
Whether to include /system/lib64 and /system/lib in LD_LIBRARY_PATH
Parameters | |
---|---|
value |
boolean |
Returns | |
---|---|
NativePoc.Builder |