finish sidepanel toggle. finish document
This commit is contained in:
45
README.md
45
README.md
@@ -2,6 +2,12 @@
|
||||
|
||||
[中文文档](./README_ZH.md)
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
The project consist of two parts:
|
||||
|
||||
1. SuperScriptMaterializer - Custom Virtools Interface Plugin that allows you to export all scripts/schematics into a SQLite database file
|
||||
@@ -13,11 +19,17 @@ The inspiration came from:
|
||||
- [BearKidsTeam/Script-Materializer](https://github.com/BearKidsTeam/Script-Materializer) - Allows exporting specific scripts into a JSON file
|
||||
- [BearKidsTeam/VirtoolsScriptDeobfuscation](https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation) - A custom interface plugin that loads `.CMO` files with hidden scripts and makes them visible and editable.
|
||||
|
||||
**NOTE:** This project does not give ability to edit hidden scripts within the file. It simply exports and views.
|
||||
**NOTE:**
|
||||
|
||||
* This project does not give ability to edit hidden scripts within the file. It simply exports and views.
|
||||
* The latest commit may not be stable to use, please visit the Release page to get a stable version.
|
||||
* The development cycle of this program is very long. If you use a version before the first official version, you need to rebuild all the data because the previous version is not compatible with the official version.
|
||||
|
||||
## Requirements
|
||||
- Virtools Dev 3.5, 4.0, or 5.0 with SDK (May work for others)
|
||||
|
||||
- Virtools Dev 5.0 with SDK (May work for others, Virtools 4 has been tested and can be compiled and run without any modification)
|
||||
- Python 3.0 with Flask module
|
||||
- Common browsers (except Safari)
|
||||
- Visual Studio 2015 with at least v140 toolset
|
||||
|
||||
## Build
|
||||
@@ -38,31 +50,40 @@ The inspiration came from:
|
||||
- Linker -> Debugging -> Generate Program Database File
|
||||
8. Clean and Build as Release
|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
### Exporting Scripts from Virtools
|
||||
|
||||
1. Make Sure Virtools Dev is closed.
|
||||
2. Copy compiled SuperScriptMaterializer.dll into Virtools's InterfacePlugins folder.
|
||||
3. Copy `sqlite3.dll` you downloaded into Virtool's base folder (where `devr.exe` exist)
|
||||
4. Open Virtools and load a `.CMO` of your choice.
|
||||
5. Go to the menu bar and click `Super Script Materializer` and `Export all script`. Name it `export.db` and save it into `SuperScriptViewer` folder
|
||||
6. Go to the menu bar and click `Super Script Materializer` and `Export environment`. Name it `env.db` and save it into `SuperScriptViewer` folder
|
||||
2. Copy compiled SuperScriptMaterializer.dll into Virtools's InterfacePlugins folder. Copy `sqlite3.dll` you downloaded into Virtool's base folder (where `devr.exe` exist). If you use the packaged file on the Release page, just decompress it directly in the root directory of Virtools and allow folder merging and file overwriting.
|
||||
3. Open Virtools and load a `.CMO` of your choice.
|
||||
4. Go to the menu bar and click `Super Script Materializer` and `Export all script`. Name it `export.db` and save it into `SuperScriptViewer` folder
|
||||
5. Go to the menu bar and click `Super Script Materializer` and `Export environment`. Name it `env.db` and save it into `SuperScriptViewer` folder
|
||||
|
||||
### Viewing Exported Databases
|
||||
|
||||
1. Run the viewer by `python3 SuperScriptViewer.py`
|
||||
2. It will generate a unique dectorated database (`decorated.db`) used for viewing based on `export.db` and `env.db`
|
||||
2. It will generate a unique decorated database (`decorated.db`) used for viewing based on `export.db` and `env.db`
|
||||
3. Once generated, a webpage will be hosted (default 127.0.0.1:5000) to view all graphs.
|
||||
|
||||
There is advanced command line switches if needed for the SuperScriptViewer
|
||||
- `-i filename.db` specify an input file to be used as `export.db`
|
||||
- `-e filename.db` specify an input file to be used as `env.db`
|
||||
- `-o filename.db` specify an output file to generate `decorated.db`. If it already exists, it will used that instead of generating a new one.
|
||||
- `-c encoding_name` specify database encoding. The list of supported encodings can be viewed [here](https://docs.python.org/3/library/codecs.html#standard-encodings)
|
||||
- `-f` forces the output database to be regenerated (useful if you are unsure if decorated.db matches what export.db and env.db used)
|
||||
|
||||
A document instructing you how to use the SuperScriptViewer is built into the SuperScriptViewer and can be viewed from the Help page.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- If `SuperScriptViewer.py` displays `TEXT` type decoding error, you will need to modify `CustomConfig.py` and edit the `database_encoding` to whatever encoding system your OS uses since Virtools uses multi-byte encoding and depends on your system's locale.
|
||||
- If Virtools closes upon exporting any databases, please create an issues page noting what Virtools version you have and a link to your file you used to export.
|
||||
- If `SuperScriptViewer.py` displays `TEXT` type decoding error, you will need to use switch `-c` to whatever encoding system your OS uses since Virtools uses multi-byte encoding and depends on your system's locale. It should be noted that the specified encoding is not the current code page of your computer, but the code page of the author who made this Virtools document.
|
||||
- If Virtools or SuperScriptViewer show an error window or message, please create an issues page noting what Virtools version you have, a link to your file you used to export and the error message.
|
||||
|
||||
## Development plan
|
||||
|
||||
In subsequent versions, the following features will be gradually added:
|
||||
|
||||
* Current page search and global search
|
||||
* Shortcut tracking
|
||||
* Move Block and BB in Viewer
|
||||
|
||||
Reference in New Issue
Block a user