-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
77 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<a href="https://aptos.dev"> | ||
<img width="100%" src="./.assets/aptos_banner.png" alt="Aptos Banner" /> | ||
</a> | ||
|
||
--- | ||
|
||
[](LICENSE) | ||
[](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml) | ||
[](https://codecov.io/gh/aptos-labs/aptos-core) | ||
[](https://discord.gg/aptosnetwork) | ||
|
||
Aptos is a layer 1 blockchain bringing a paradigm shift to Web3 through better technology and user experience. Built with Move to create a home for developers building next-gen applications. | ||
|
||
## Getting Started | ||
|
||
* [Aptos Foundation](https://aptosfoundation.org/) | ||
* [Aptos Developer Network](https://aptos.dev) | ||
* [Guide - Setup Your Environment](https://aptos.dev/category/environment) | ||
* [Tutorials](https://aptos.dev/tutorials) | ||
* Follow us on [Twitter](https://twitter.com/aptos_network). | ||
* Join us on the [Aptos Discord](https://discord.gg/aptosnetwork). | ||
|
||
## Contributing | ||
|
||
You can learn more about contributing to the Aptos project by reading our [Contribution Guide](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) and by viewing our [Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md). | ||
|
||
Aptos Core is licensed under [Apache 2.0](https://github.com/aptos-labs/aptos-core/blob/main/LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,58 @@ | ||
<a href="https://aptos.dev"> | ||
<img width="100%" src="./.assets/aptos_banner.png" alt="Aptos Banner" /> | ||
</a> | ||
<p align="center"> | ||
<img width="360" src="images/revela.png"> | ||
</p> | ||
|
||
--- | ||
Revela Decompiler is a tool to decompile low-level Move bytecode back to high-level Move source code. Developed by [Verichains](https://verichains.io), currently Revela is compatible with [Aptos](https://aptoslabs.com/) blockchain. | ||
|
||
[](LICENSE) | ||
[](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml) | ||
[](https://codecov.io/gh/aptos-labs/aptos-core) | ||
[](https://discord.gg/aptosnetwork) | ||
Revela is also available online at [revela.verichains.io](https://revela.verichains.io) | ||
|
||
Aptos is a layer 1 blockchain bringing a paradigm shift to Web3 through better technology and user experience. Built with Move to create a home for developers building next-gen applications. | ||
## Background | ||
|
||
## Getting Started | ||
The groundbreaking [Move language](https://github.com/move-language/move) for smart contracts is revolutionizing the development of secure and resilient blockchains like Aptos. As contracts become more complex and play a vital role in safeguarding digital assets, it is essential to provide users with the means to verify the safety of the underlying code. Unfortunately, it becomes common to see Move-based protocols deployed solely in low-level bytecode form, without accompanying source code. This practice not only obfuscates the smart contracts’ functionality but also presents a significant barrier to security analysis, given that Move is a relatively new language and lacks tooling to easily analyze Move contracts. | ||
|
||
* [Aptos Foundation](https://aptosfoundation.org/) | ||
* [Aptos Developer Network](https://aptos.dev) | ||
* [Guide - Setup Your Environment](https://aptos.dev/category/environment) | ||
* [Tutorials](https://aptos.dev/tutorials) | ||
* Follow us on [Twitter](https://twitter.com/aptos_network). | ||
* Join us on the [Aptos Discord](https://discord.gg/aptosnetwork). | ||
In response to this challenge, Verichains has worked with Aptos Labs to develop Revela, the first-ever open-source tool designed to decompile Move bytecode back to its original source code, which can then be fed into the Move compiler once again. By empowering users to independently verify and analyze contract code, Revela establishes new industry standards for security, openness, and trust in the Aptos ecosystem. | ||
|
||
## Contributing | ||
## Build | ||
|
||
You can learn more about contributing to the Aptos project by reading our [Contribution Guide](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) and by viewing our [Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md). | ||
Revela requires Rust compiler to build. From the root directory, execute the following command. | ||
|
||
Aptos Core is licensed under [Apache 2.0](https://github.com/aptos-labs/aptos-core/blob/main/LICENSE). | ||
``` | ||
$ cargo build -p revela | ||
``` | ||
|
||
The resulted binary `revela` can be found under the directory `target/debug`. | ||
|
||
## Install | ||
|
||
Run the following command to install Revela. | ||
|
||
``` | ||
$ cargo install --path third_party/move/tools/revela | ||
``` | ||
|
||
On MacOS and Linux, Revela is typically installed in directory `~/.cargo/bin`. | ||
Ensure to have this path in your `PATH` environment variable so Revela can be executed from any location. | ||
This step can be done with the below command. | ||
|
||
``` | ||
$ export PATH=~/.cargo/bin:$PATH | ||
``` | ||
|
||
## Usage | ||
|
||
To decompile a Move bytecode file, pass its file path as a command line | ||
argument using `--bytecode` (or `-b`), as shown below. | ||
|
||
``` | ||
$ revela --bytecode <file_path> | ||
``` | ||
|
||
For example: | ||
|
||
``` | ||
$ revela --bytecode third_party/move/tools/revela/tests/bytecode/BasicCoin.mv | ||
``` | ||
|
||
## License | ||
|
||
Revela is released under the open source [Apache License](LICENSE) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.