new DexcaliburProject(pEngine, pUID)
- Source:
Parameters:
Name | Type | Description |
---|---|---|
pEngine |
DexcaliburEngine | Instance of the DexcaliburEngine (holding the context) |
pUID |
String | The UID of the project, an unique name for this project |
Members
analyze :Analyzer
- Source:
Type:
apiVersion
- Source:
appAnalyzer :AndroidAppAnalyzer
- Source:
Type:
application
- Source:
bus :Bus
- Source:
Type:
- Bus
config
- Source:
connector :*
- Source:
Type:
- *
dataAnalyser :DataAnalyzer
- Source:
Type:
- DataAnalyzer
device
- Source:
Default device
engine :DexcaliburEngine
- Source:
Type:
find :Finder
- Source:
Type:
inspectors :Array.<Inspector>
- Source:
Type:
- Array.<Inspector>
nofrida
- Source:
pkg :String
- Source:
Type:
- String
platform
- Source:
Target platform
ready
- Source:
Ready flag
uid :String
- Source:
Type:
- String
workspace :Workspace
- Source:
Type:
Methods
(static) exists(pUID) → {Boolean}
- Source:
To detect if there is a project with the specified UID
Parameters:
Name | Type | Description |
---|---|---|
pUID |
String | Project UID |
Returns:
TRUE if a project exists, else FALSE
- Type
- Boolean
(static) load(pContext, pProjectUID, pConfigPath)
- Source:
Parameters:
Name | Type | Default | Description |
---|---|---|---|
pContext |
* | ||
pProjectUID |
* | ||
pConfigPath |
* |
null
|
(static) suggests(pUID)
- Source:
To suggest a new project name
Parameters:
Name | Type | Description |
---|---|---|
pUID |
* |
deployInspectors(pStep)
- Source:
To deploy all inspectors starting at the specified step
Supported step :
- BOOT
- POST_PLATFORM_SCAN
- POST_APP_SCAN
- POST_DEV_SCAN
- ON_DEMAND
Parameters:
Name | Type | Description |
---|---|---|
pStep |
String | Inspector step |
(async) fullscan(path) → {Project}
- Source:
To perform a fullsacn of the application. It performs : - Android API bytecode scan (for the specified API version - by default it's API 25) - Application bytecode scan - Application package scan
Parameters:
Name | Type | Description |
---|---|---|
path |
string | Optional, the path of the folder containing the decompiled smali code. |
Returns:
Returns the instance of this project
- Type
- Project
getAnalyzer() → {Analyzer}
- Source:
To get the bytecode static code analyzer which contains the internal database.
Returns:
The internal bytecode analyzer
- Type
- Analyzer
getAppAnalyzer() → {AndroidAppAnalyzer}
- Source:
To get the application analyzer, which includes manifest and permission analysis.
Returns:
The application analyzer
- Type
- AndroidAppAnalyzer
getContext() → {DexcaliburEngine}
- Source:
To get DexcaliburEngine instance associated to this project
Returns:
DexcaliburEngine instance
- Type
- DexcaliburEngine
getDataAnalyzer() → {DataAnalyzer}
- Source:
To get the data analyzer.
Returns:
The data analyzer
- Type
- DataAnalyzer
getDevice()
- Source:
To get device target of the project
getInspector(Inspector) → {Inspector}
- Source:
To get the inspector with specified name
Parameters:
Name | Type | Description |
---|---|---|
Inspector |
String | name |
Returns:
Inspector instance
- Type
- Inspector
getPackageName() → {String}
- Source:
To get application package name
Returns:
Applciation package name
- Type
- String
getSearchEngine() → {Finder.SearchAPI}
- Source:
To get Search Engine
Returns:
Search engine for this project
- Type
- Finder.SearchAPI
getUID() → {String}
- Source:
To get the project UID
Returns:
ProjectUID
- Type
- String
init()
- Source:
To init the project
isReady() → {Boolean}
- Source:
To get 'ready' status
Returns:
TRUE if the project has been successully opened and analyzed, else FALSE
- Type
- Boolean
(async) open()
- Source:
To open an existing project
Read project.json
file
save(pExportPath)
- Source:
To save project metadata into 'project.json'
Parameters:
Name | Type | Default | Description |
---|---|---|---|
pExportPath |
* |
null
|
scan(path) → {Project}
- Source:
- Deprecated:
- ?
To perform a scan of the application byetcode only.
All reference to Android system classes will be tagged MissingReference or VMBinding
Parameters:
Name | Type | Description |
---|---|---|
path |
string | Optional, the path of the folder containing the decompiled smali code. |
Returns:
Returns the instance of this project
- Type
- Project
scanForFiles(path) → {Project}
- Source:
- Deprecated:
- Yes
To perform a scan of the set of files (not bytecode/dex/smali).
Parameters:
Name | Type | Description |
---|---|---|
path |
string | Optional, the path of the folder containing the decompiled smali code. |
Returns:
Returns the instance of this project
- Type
- Project
setConnector(pConnectorType)
- Source:
To select the way to store the internal data
Parameters:
Name | Type | Description |
---|---|---|
pConnectorType |
String | Connector type |
setDevice()
- Source:
To set default device
start(activity) → {ApplicationInstance}
- Source:
- Deprecated:
- Yes
To start the application from a specific Activity. Use the default device. It can used in order to force application crawl.
Parameters:
Name | Type | Description |
---|---|---|
activity |
String | The activity to start |
Returns:
A reference to the process running the Application
- Type
- ApplicationInstance
startWebserver(port)
- Source:
- Deprecated:
- Yes
To start the web server
Parameters:
Name | Type | Description |
---|---|---|
port |
int | Optional - The port number to use. By default, the port number from configuration is used. |
(async) synchronizePlatform(pName)
- Source:
To synchronize project platform used during analysis with device and APK
Parameters:
Name | Type | Description |
---|---|---|
pName |
* |
trigger(eventData)
- Source:
To create an event and push it to the queue. The argulent should be given by using the format expected by the Event constructor.
Parameters:
Name | Type | Description |
---|---|---|
eventData |
Object | The description of the event to use with the Event constructor. |
(async) useAPK(pPath)
- Source:
Parameters:
Name | Type | Description |
---|---|---|
pPath |
* |
useEmulator()
- Source:
- Deprecated:
- Yes
To use the emulator by default instead of an USB device
(async) usePlatform(pVersion)
- Source:
To set target platform to use during analysis
Replace Project.useAPI()
Parameters:
Name | Type | Description |
---|---|---|
pVersion |
String |