commit old wiki directly to repo

This commit is contained in:
Duncan Ogilvie 2017-09-27 23:40:54 +02:00 committed by Maijin
parent 98206fbddd
commit e665e4f72c
5 changed files with 148 additions and 1 deletions

View File

@ -31,7 +31,7 @@ Cutter is developed on OS X, Linux and Windows. The first release for users will
Proper documentation and website will be created before the first release.
Roadmap information for developers can be found [here](https://github.com/radareorg/cutter/wiki/Roadmap).
Roadmap information for developers can be found [here](https://github.com/radareorg/cutter/tree/master/docs/Roadmap.md).
## Help

18
docs/Common-errors.md Normal file
View File

@ -0,0 +1,18 @@
# Common errors
Please make sure you have the appropriate QT version: [https://www.qt.io/qt5-6/](https://www.qt.io/qt5-6/)
> r_core development package not found
If you installed radare2 and still encounter this error, could be your `PATH` environment variable is set improperly (doesn't contain `/usr/local/bin`). That can be, for example, due to `Qt Creator.app` being copied over to `/Applications`.
To fix this, append:
> :/usr/local/bin
to the `PATH` variable within the *Build Environment* section in Qt Creator. See the screenshot below should you encounter any problems.
![PATH variable settings](https://d0vine.github.io/images/iaito_settings.png)
## Windows
See [Compiling on Windows](https://github.com/hteso/iaito/wiki/Compiling-on-Windows).

View File

@ -0,0 +1,58 @@
# Compiling on Windows
## Cloning the project
Make sure that when cloning the project you use `git clone --recurse-submodules` or run `git submodule init` and `git submodule update` to clone the [iaito_win32](https://github.com/mrexodia/iaito_win32) submodule.
## Setting up Qt 5.6.2
It is advised to use [Qt 5.6.2](https://download.qt.io/archive/qt/5.6/5.6.2) to compile on Windows. Install one of the packages (MinGW or MSVC) before you start. If you want to use a different Qt version, make sure to change the commands below accordingly.
## Building Iaito
There are two main methods to build Iaito. Choose the one you prefer.
#### Building with Qt Creator
See [Adding Kits](http://doc.qt.io/qtcreator/creator-targets.html) for documentation on how to setup Qt kits (this works for both MinGW and MSVC). Once you have set up a kit simply open `Iaito.pro`, select a kit and compile.
#### Building with CMake
In the project root, run:
```batch
set CMAKE_PREFIX_PATH=c:\Qt\qt-5.6.2-msvc2013-x86\5.6\msvc2013\lib\cmake
mkdir build-cmake
cd build-cmake
cmake-gui ../src
```
Click `Configure` and select `Visual Studio 12 2013` from the list. After configuration is done, click `Generate` and you can open `Iaito.sln` to compile the code as usual.
## Deploying/Running Iaito
**These steps are required to get iaito.exe to run.**
You can use the following commands to deploy a standalone version of Iaito for your friends (assuming you have copied `iaito.exe` to a new empty directory and opened a terminal there).
```batch
set PATH=%PATH%;c:\Qt\qt-5.6.2-msvc2013-x86\5.6\msvc2013\bin
windeployqt iaito.exe
```
After this you will need to add the following files next to `iaito.exe` (they can usually be found in your system directories, OpenSSL binaries can be found [here](https://slproweb.com/products/Win32OpenSSL.html)):
```
libeay32.dll
ssleay32.dll
MSVCP120.dll
MSVCR120.dll
```
After that you have to extract the [recommended radare2 version](https://github.com/mrexodia/iaito_win32/releases/latest) (`radare2-XXXXXX.zip`) in this directory so that you have `iaito.exe` and `libr_core.dll` next to each other.
Starting `iaito.exe` should open the GUI. Typing `?d call` in the command bar should show you:
> calls a subroutine, push eip into the stack (esp)
![windows screenshot](https://i.imgur.com/BPKSSZY.png)

View File

@ -0,0 +1,48 @@
# Compiling with CMake
The "official" way to build Iaito is by using qmake, but as an alternative, a [CMakeLists.txt](https://github.com/hteso/iaito/blob/master/src/CMakeLists.txt) is provided, so CMake can be used as well.
This page provides a guide to compile on **Linux** or **macOS**, the process for Windows is described in [[Compiling on Windows|Compiling-on-Windows]].
## Requirements
* CMake >= 3.1
* Radare2 installed from submodule, see [README.md](https://github.com/hteso/iaito#requirements)
* Qt 5.6 including the components Core Widgets Gui WebEngine WebEngineWidgets
## Building
The root for CMake is in src/. In-source builds are **not allowed**, so you **must** run CMake from a separate directory:
```
cd src
mkdir build
cd build
cmake ..
```
If all went well, you should now have a working Makefile in your build directory:
```
make
```
## Troubleshooting
Depending on how Qt installed (Distribution packages or using the Qt installer application), CMake may not be able to find it by itself if it is not in a common place. You may encounter an error that looks like this:
```
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package):
Could not find a package configuration file provided by "Qt5WebEngine" with
any of the following names:
Qt5WebEngineConfig.cmake
qt5webengine-config.cmake
Add the installation prefix of "Qt5WebEngine" to CMAKE_PREFIX_PATH or set
"Qt5WebEngine_DIR" to a directory containing one of the above files. If
"Qt5WebEngine" provides a separate development package or SDK, be sure it
has been installed.
```
If that is the case, double check that Qt 5.6 is installed correctly and contains all required components. Locate its prefix (a directory containing bin/, lib/, include/, etc.) and specify it to CMake using `CMAKE_PREFIX_PATH` in the above process, e.g.:
```
rm CMakeCache.txt # the cache may be polluted with unwanted libraries found before
cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.6/gcc_64 ..
```

23
docs/Roadmap.md Normal file
View File

@ -0,0 +1,23 @@
# ROADMAP
All development efforts before 1.0 release should focus on stability and installers creation for all three major platforms. Big refactors and new features are meant for future releases.
## Iaitō 1.0
**Goal:** Publish installers of the application with the current application features.
- Fix all the issues and make the application stable
- Create installers for OS X, Linux and Windows
- Create application documentation and manual
- Create website for non-developers. Examples:
- [Bokken](http://bokken.re)
- [Radare](http://www.radare.org)
- [x64dbg](http://x64dbg.com)
## Post 1.0
- Migrate the application to a newer Qt version
- Move graph view from the actual HTML one to a Qt version based on x64dbg [graph view](http://x64dbg.com/blog/2016/07/27/Control-flow-graph.html)
- Move the code towards the use of r2pipe and JSON commands
- Refactor the code
- Add new and awesome features!