diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 919b52eb..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve - ---- - -## Environment Details - -Despite we only fix issues reproducible in git-master branch, it's fine to report issues found in releases. And those will be closed when a new release comes out. - -```sh -# copypaste this script into your shell and replace it with the output -iaito -v -date -r2 -v -uname -ms -``` - -## Description - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 7c944d10..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,23 +0,0 @@ - - -**Your checklist for this pull request** -- [ ] I've read the [guidelines for contributing](https://cutter.re/docs/contributing/code/getting-started.html) to this repository -- [ ] I made sure to follow the project's [coding style](https://cutter.re/docs/contributing/code/development-guidelines.html) -- [ ] I've updated the [documentation](https://cutter.re/docs/user-docs.html) with the relevant information (if needed) - - -**Detailed description** - - - -**Test plan (required)** - - - - - - -**Closing issues** - - diff --git a/.gitignore b/.gitignore index fc74b474..1db8447a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,96 +1,91 @@ -# Binaries -AStyle* - -# OSX files -*.DS_Store -.AppleDouble -.LSOverride - -# C++ objects and libs -*.slo -*.lo -*.o -*.a -*.la -*.lai -*.so -*.dll -*.dylib - -# Qt files -*.qmake.cache -*.qmake.stash -*.pro.user -*.pro.user.* -*.qbs.user -*.qbs.user.* -*.moc -moc_*.cpp -qrc_*.cpp -moc_*.h -ui_*.h -build*/ -cmake-build-*/ -/src-build/ - -# Build folders -Debug -Release - -# QtCreator -*.autosave -*.qmlproject.user -*.qmlproject.user.* -CMakeLists.txt.user - -# CLion -.idea - -# Vim -*.swp -*~ - -# Git mergetool -~.orig - -# CMake Files: -src/*_automoc.cpp -*CMakeCache.txt* -*cmake_install.cmake* -src/CMakeFiles/* - -# Prepare_r2 -ninja.exe -r2_dist_x86/ -r2_dist_x64/ -r2_dist/ -*.pdb - -# Mesonbuild -src/subprojects/ - -# Python -__pycache__ -/python/ - -# Other -compile_commands.json -.ccls-cache -docs/source/_build - -# vscode -/.vscode/* -!/.vscode/settings.json -!/.vscode/extensions.json - -# Visual Studio CMake -src/out -.vs - -# cutter-deps -/cutter-deps - -/breakpad - -# astyle backup .orig files -*.orig +# Binaries +AStyle* + +# OSX files +*.DS_Store +.AppleDouble +.LSOverride + +# C++ objects and libs +*.slo +*.lo +*.o +*.a +*.la +*.lai +*.so +*.dll +*.dylib + +# Qt files +*.qmake.cache +*.qmake.stash +*.pro.user +*.pro.user.* +*.qbs.user +*.qbs.user.* +*.moc +moc_*.cpp +qrc_*.cpp +moc_*.h +ui_*.h +build*/ +cmake-build-*/ +/src-build + +# Build folders +Debug +Release + +# QtCreator +*.autosave +*.qmlproject.user +*.qmlproject.user.* +CMakeLists.txt.user + +# CLion +.idea + +# Vim +*.swp +*~ + +# Git mergetool +~.orig + +# CMake Files: +src/*_automoc.cpp +*CMakeCache.txt* +*cmake_install.cmake* +src/CMakeFiles/* + +# Prepare_r2 +ninja.exe +r2_dist_x86/ +r2_dist_x64/ +r2_dist/ +*.pdb + +# Mesonbuild +src/subprojects/ + +# Python +__pycache__ +/python/ + +# Other +compile_commands.json +.ccls-cache +docs/source/_build + +# vscode +/.vscode/* +!/.vscode/settings.json +!/.vscode/extensions.json + +# Visual Studio CMake +src/out +.vs + +# astyle backup .orig files +*.orig diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e194c41d..88fa35e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,25 +1,30 @@ # Contributing to iaito +Iaito is not in active development, the current focus of the project is in simplicity, reduce +tech debt by removing superfluous, anoying or mainly unused dependencies like python support +or plugins, breakpad, the cmake build system, crash reports or auto-updates features, as long as +the project is under low maintainance mode is good to remove stuff that distract the attention +from the core which is the one that should be handling all that stuff. Iaito focus on exposing +the capabilities of r2 instead of duplicating efforts in a GUI. + There are different ways you can help contributing to Iaito: ## Opening an issue -Make a clear description of the bug/feature, use screenshots, send binaries, etc. -This will help us improve the software for you. You can create an issue by clicking on [this link](https://github.com/radareorg/iaito/issues/new/choose). ## Submit a Pull Request -Note that cutter is still under development and many parts of the code are to be improved. -The best way is to check the opened issues [here](https://github.com/radareorg/iaito/issues) or discuss with radareorg team. -Please follow our contribution guidelines: https://cutter.re/docs/contributing.html +If you are feeling brave, create a patch by editing the files in github web interface by pressing the pencil +button or fork the repository, create a branch and submit your changes as a pull request. -## Write Some Documentation - -The documentation is something important for newcomers. As of today the documentation can be found [here](https://cutter.re/docs/) and it stands in the [docs](https://github.com/radareorg/iaito/tree/master/docs) folder. -The API Reference is automatically generated from the source code, so it is strongly advised to document your code. -Check issues marked as "Documentation" on our issues [list](https://github.com/radareorg/iaito/issues?q=is%3Aissue+is%3Aopen+label%3ADocumentation). +Feel free to use the radare discord, telegram or irc chats to discuss your ideas, proposals or changes ## Translations -You can help Iaito by adding translations to the project! We use the [Crowdin](https://crowdin.com/project/iaito) platform to help us share translations. Feel free to contribute and add translations to the project. If you need to add a language, ask any radareorg developer. +Translation files are downloaded from the [Crowdin](https://crowdin.com/project/iaito) platform, where many +users can help to review and maintain different languages. + +## Backporting + +It is somewhat desired to backport features or changes already available in Cutter. diff --git a/Makefile b/Makefile index a5839398..d537936b 100644 --- a/Makefile +++ b/Makefile @@ -8,20 +8,10 @@ endif ifeq ($(WANT_PYTHON),1) QMAKE_FLAGS+=IAITO_ENABLE_PYTHON=true - -# cutter deps should provide deps.mk -CMAKE_FLAGS+=-DPYTHON_LIBRARY="$(IAITO_DEPS)/python/lib/libpython3.6m.so.1.0" -CMAKE_FLAGS+=-DPYTHON_INCLUDE_DIR="$(IAITO_DEPS)/include/python3.6m" -CMAKE_FLAGS+=-DPYTHON_EXECUTABLE="$(IAITO_DEPS)/bin/python3" -CMAKE_FLAGS+=-DIAITO_ENABLE_PYTHON=ON -CMAKE_FLAGS+=-DIAITO_ENABLE_PYTHON_BINDINGS=ON endif ifeq ($(WANT_PYTHON_BINDINGS),1) QMAKE_FLAGS+=IAITO_ENABLE_PYTHON_BINDINGS=true endif -ifeq ($(WANT_CRASH_REPORTS),1) -# QMAKE_FLAGS+=IAITO_ENABLE_CRASH_REPORTS=true -endif all: iaito diff --git a/README.md b/README.md index 24c5130d..a403acad 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.profile On Ubuntu/Debian ```sh -sudo apt install qt5-default qttools5-dev qttools5-dev-tools qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5svg5-dev make pkg-config build-essential +sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5svg5-dev make pkg-config build-essential ``` diff --git a/build.sh b/build.sh index af39d76c..daddeede 100755 --- a/build.sh +++ b/build.sh @@ -97,7 +97,7 @@ ERR=$((ERR+$?)) # Move translations mkdir -p "$(pwd)/translations" -find "$ROOT_DIR/src/translations" -maxdepth 1 -type f | grep "cutter_..\.qm" | while read -r SRC_FILE; do +find "$ROOT_DIR/src/translations" -maxdepth 1 -type f | grep -e "cutter_..\.qm" -e "iaito_..\.qm" | while read -r SRC_FILE; do mv "$SRC_FILE" "$(pwd)/translations" done diff --git a/scripts/Brewfile b/scripts/Brewfile deleted file mode 100644 index dc80bdbc..00000000 --- a/scripts/Brewfile +++ /dev/null @@ -1,6 +0,0 @@ -brew "p7zip" -brew "ccache" -brew "openssl" -brew "xz" -brew "llvm" -brew "meson" \ No newline at end of file diff --git a/scripts/breakpad_client.gyp b/scripts/breakpad_client.gyp deleted file mode 100644 index de079c8b..00000000 --- a/scripts/breakpad_client.gyp +++ /dev/null @@ -1,34 +0,0 @@ -{ - 'includes': [ - '../../build/common.gypi' - ], - 'targets': [ - { - 'target_name': 'build_all', - 'type': 'none', - 'dependencies': [ - './crash_generation/crash_generation.gyp:*', - './handler/exception_handler.gyp:*', - './sender/crash_report_sender.gyp:*', - ] - }, - { - 'target_name': 'common', - 'type': 'static_library', - 'include_dirs': [ - '<(DEPTH)', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(DEPTH)', - ] - }, - 'sources': [ - '<(DEPTH)/common/windows/guid_string.cc', - '<(DEPTH)/common/windows/guid_string.h', - '<(DEPTH)/common/windows/http_upload.h', - '<(DEPTH)/common/windows/string_utils.cc', - ] - } - ] -} diff --git a/scripts/breakpad_extract_symbols_appimage.py b/scripts/breakpad_extract_symbols_appimage.py deleted file mode 100644 index d68c4f14..00000000 --- a/scripts/breakpad_extract_symbols_appimage.py +++ /dev/null @@ -1,55 +0,0 @@ - -import sys -import os -import subprocess -import re -import atexit - -if len(sys.argv) != 3: - print(f"usage: {sys.argv[0]} [Iaito.AppImage] [symbols dir]") - exit(1) - -root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) - -def store_syms(syms, syms_dir): - m = re.match(b"MODULE ([^ ]+) ([^ ]+) ([^ ]+) (.+)\n.*", syms) - if m is None: - print("Invalid dump_syms output") - return - - (modos, modarch, modhash, modname) = m.groups() - modname = modname.decode("utf-8") - modhash = modhash.decode("utf-8") - symdir = os.path.join(syms_dir, modname, modhash) - symfile = f"{modname}.sym" - os.makedirs(symdir) - symfile_path = os.path.join(symdir, symfile) - with open(symfile_path, "wb") as f: - f.write(syms) - - print(symfile_path) - -def dump_syms(binary, syms_dir): - dump_syms_exec = os.path.join(root, "breakpad/src/tools/linux/dump_syms/dump_syms") - syms = subprocess.run([dump_syms_exec, binary], capture_output=True).stdout - store_syms(syms, syms_dir) - -appimage = sys.argv[1] -syms_dst = sys.argv[2] - -# stdbuf workaround is needed before https://github.com/AppImage/AppImageKit/commit/e827baa719f5444aeef7202fe1f71c97d4200dde -appimage_p = subprocess.Popen(["stdbuf", "-oL", appimage, "--appimage-mount"], stdout=subprocess.PIPE) -def kill_appimage(): - appimage_p.kill() -atexit.register(kill_appimage) -mount_dir = appimage_p.stdout.readline().strip().decode("utf-8") - -binaries = [ os.path.join(mount_dir, "usr/bin/Iaito") ] -for f in os.scandir(os.path.join(mount_dir, "usr/lib")): - if f.is_dir() or f.is_symlink(): - continue - binaries.append(f.path) - -for b in binaries: - dump_syms(b, syms_dst) - diff --git a/scripts/breakpad_macos.patch b/scripts/breakpad_macos.patch deleted file mode 100644 index b446e4f5..00000000 --- a/scripts/breakpad_macos.patch +++ /dev/null @@ -1,1377 +0,0 @@ -From e2797a7f1853a22a7c7b57dcb3e642f9325a5a88 Mon Sep 17 00:00:00 2001 -From: Ville Suoranta -Date: Thu, 15 Nov 2018 13:56:01 -0500 -Subject: [PATCH] Update Breakpad.xib minimum target to OSX10.11 - -Bug: https://bugs.chromium.org/p/google-breakpad/issues/detail?id=778 -Change-Id: I32a36e47d0aab92e5ac40e7fbaa3c5caaaff2318 ---- - -diff --git a/src/client/mac/sender/Breakpad.xib b/src/client/mac/sender/Breakpad.xib -index 7966f89..1ecd27e 100644 ---- a/src/client/mac/sender/Breakpad.xib -+++ b/src/client/mac/sender/Breakpad.xib -@@ -1,1140 +1,224 @@ - -- -- -- 1050 -- 10F569 -- 762 -- 1038.29 -- 461.00 -- -- YES -- -- YES -- -- -- YES -- -- -- -- YES -- -- -- -- YES -- -- -- YES -- -- -- -- YES -- -- Reporter -- -- -- FirstResponder -- -- -- NSApplication -- -- -- 1 -- 2 -- {{72, 251}, {490, 489}} -- 536871936 -- -- NSWindow -- -- {1.79769e+308, 1.79769e+308} -- {72, 5} -- -- -- 264 -- -- YES -- -- -- 272 -- -- YES -- -- -- 256 -- -- YES -- -- -- 290 -- {{17, 36}, {456, 70}} -- -- YES -- -- 67239424 -- 272760832 -- Providing your email address is optional and will allow us contact you in case we need more details. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu urna, pulvinar sit amet, tincidunt ac, fermentum ut, ligula. Quisque mi. Duis lectus. Vestibulum velit. Morbi turpis. Nunc at diam consectetur turpis volutpat tristique. Donec quis diam. Suspendisse scelerisque. -- -- LucidaGrande -- 11 -- 3100 -- -- -- -- 6 -- System -- controlColor -- -- 3 -- MC42NjY2NjY2NjY3AA -- -- -- -- 6 -- System -- controlTextColor -- -- 3 -- MAA -- -- -- -- -- -- -- 290 -- {{87, 9}, {195, 19}} -- -- YES -- -- -1804468671 -- 272761856 -- -- -- optional -- -- YES -- -- 6 -- System -- textBackgroundColor -- -- 3 -- MQA -- -- -- -- 6 -- System -- textColor -- -- -- -- -- -- -- 292 -- {{17, 11}, {65, 14}} -- -- YES -- -- 68288064 -- 71435264 -- EmailLabel: -- -- -- -- -- -- -- -- -- 289 -- {{456, 10}, {16, 17}} -- -- YES -- -- -2080244224 -- 0 -- Privacy Policy -- -- LucidaGrande -- 13 -- 1044 -- -- -- -2040250113 -- 36 -- -- NSImage -- goArrow -- -- -- -- 400 -- 75 -- -- -- -- -- 289 -- {{355, 11}, {100, 14}} -- -- YES -- -- 68288064 -- 4326400 -- PrivacyPolicyLabel -- -- -- -- -- -- -- -- {490, 114} -- -- -- -- {{0, 51}, {490, 114}} -- -- {0, 0} -- -- 67239424 -- 0 -- Title -- -- LucidaGrande -- 11 -- 16 -- -- -- -- 3 -- MCAwLjgwMDAwMDAxAA -- -- -- -- 0 -- 3 -- 0 -- NO -- -- -- -- 289 -- {{330, 12}, {146, 32}} -- -- YES -- -- 67239424 -- 134217728 -- SendReportLabel -- -- -- -2038284033 -- 129 -- -- -- DQ -- 200 -- 25 -- -- -- -- -- 289 -- {{214, 12}, {116, 32}} -- -- YES -- -- 67239424 -- 134217728 -- CancelLabel -- -- -- -2038284033 -- 129 -- -- -- Gw -- 200 -- 25 -- -- -- -- -- 256 -- -- YES -- -- -- 256 -- -- YES -- -- -- 266 -- {{17, 83}, {456, 154}} -- -- YES -- -- 67239424 -- 272760832 -- VGhlIHN5c3RlbSBhbmQgb3RoZXIgYXBwbGljYXRpb25zIGhhdmUgbm90IGJlZW4gYWZmZWN0ZWQuIEEg --cmVwb3J0IGhhcyBiZWVuIGNyZWF0ZWQgdGhhdCB5b3UgY2FuIHNlbmQgdG8gPFJlYWxseSBMb25nIENv --bXBhbnkgTmFtZT4gdG8gaGVscCBpZGVudGlmeSB0aGUgcHJvYmxlbS4gTG9yZW0gaXBzdW0gZG9sb3Ig --c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIGFyY3UgdXJuYSwgcHVsdmlu --YXIgc2l0IGFtZXQsIHRpbmNpZHVudCBhYywgZmVybWVudHVtIHV0LCBsaWd1bGEuIFF1aXNxdWUgbWku --IER1aXMgbGVjdHVzLiBWZXN0aWJ1bHVtIHZlbGl0LiBNb3JiaSB0dXJwaXMuIE51bmMgYXQgZGlhbSBj --b25zZWN0ZXR1ciB0dXJwaXMgdm9sdXRwYXQgdHJpc3RpcXVlLiBEb25lYyBxdWlzIGRpYW0uIFN1c3Bl --bmRpc3NlIHNjZWxlcmlzcXVlLiBRdWlzcXVlIHB1bHZpbmFyIG1pIGlkIHB1cnVzLiBFdGlhbSB2aXRh --ZSB0dXJwaXMgdml0YWUgbmVxdWUgcG9ydGEgY29uZ3VlLgoKUGxlYXNlIGhlbHAgdXMgZml4IHRoZSBw --cm9ibGVtIGJ5IGRlc2NyaWJpbmcgd2hhdCBoYXBwZW5lZCBiZWZvcmUgdGhlIGNyYXNoLiBMb3JlbSBp --cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgYXJjdSB1 --cm5hLCBwdWx2aW5hciBzaXQgYW1ldCwgdGluY2lkdW50IGFjLCBmZXJtZW50dW0gdXQsIGxpZ3VsYS4g --UXVpc3F1ZSBtaS4gRHVpcyBsZWN0dXMuA -- -- -- -- -- -- -- -- -- 274 -- {{20, 14}, {450, 61}} -- -- YES -- -- 341966337 -- 272760832 -- Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 -- -- -- YES -- -- -- -- -- -- -- 256 -- -- YES -- -- -- 256 -- -- YES -- -- -- 266 -- {{85, 10}, {381, 54}} -- -- YES -- -- 67239424 -- 272629760 -- The application <Really Long App Name Here> has quit unexpectedly. -- -- LucidaGrande-Bold -- 14 -- 16 -- -- -- -- -- -- -- -- -- 268 -- -- YES -- -- YES -- Apple PDF pasteboard type -- Apple PICT pasteboard type -- Apple PNG pasteboard type -- NSFilenamesPboardType -- NeXT Encapsulated PostScript v1.2 pasteboard type -- NeXT TIFF v4.0 pasteboard type -- -- -- {{16, 0}, {64, 64}} -- -- YES -- -- 130560 -- 33554432 -- -- NSImage -- NSApplicationIcon -- -- 0 -- 0 -- 0 -- NO -- -- YES -- -- -- {482, 70} -- -- -- -- {{4, 245}, {482, 70}} -- -- {0, 0} -- -- 67239424 -- 0 -- Title -- -- -- -- 3 -- MCAwLjgwMDAwMDAxAA -- -- -- -- 0 -- 3 -- 0 -- NO -- -- -- {490, 325} -- -- -- -- {{0, 160}, {490, 325}} -- -- {0, 0} -- -- 67239424 -- 0 -- Title -- -- -- -- 3 -- MCAwLjgwMDAwMDAxAA -- -- -- -- 0 -- 3 -- 0 -- NO -- -- -- -- 268 -- {{17, 20}, {163, 14}} -- -- YES -- -- 68288064 -- 272630784 -- xx seconds. -- -- -- -- -- -- -- -- {490, 489} -- -- {{0, 0}, {2560, 1578}} -- {72, 27} -- {1.79769e+308, 1.79769e+308} -- -- -- YES -- -- -- -- -- YES -- -- -- sendReport: -- -- -- -- 45 -- -- -- -- cancel: -- -- -- -- 46 -- -- -- -- showPrivacyPolicy: -- -- -- -- 53 -- -- -- -- value: emailValue -- -- -- -- -- -- value: emailValue -- value -- emailValue -- -- NSNullPlaceholder -- optional -- -- 2 -- -- -- 90 -- -- -- -- initialFirstResponder -- -- -- -- 91 -- -- -- -- value: commentsValue -- -- -- -- -- -- value: commentsValue -- value -- commentsValue -- -- NSNullPlaceholder -- optional comments -- -- 2 -- -- -- 124 -- -- -- -- nextKeyView -- -- -- -- 125 -- -- -- -- nextKeyView -- -- -- -- 126 -- -- -- -- nextKeyView -- -- -- -- 127 -- -- -- -- delegate -- -- -- -- 128 -- -- -- -- alertWindow_ -- -- -- -- 142 -- -- -- -- preEmailBox_ -- -- -- -- 150 -- -- -- -- headerBox_ -- -- -- -- 151 -- -- -- -- emailSectionBox_ -- -- -- -- 152 -- -- -- -- privacyLinkLabel_ -- -- -- -- 153 -- -- -- -- commentMessage_ -- -- -- -- 154 -- -- -- -- dialogTitle_ -- -- -- -- 155 -- -- -- -- emailLabel_ -- -- -- -- 156 -- -- -- -- cancelButton_ -- -- -- -- 158 -- -- -- -- sendButton_ -- -- -- -- 159 -- -- -- -- emailEntryField_ -- -- -- -- 161 -- -- -- -- privacyLinkArrow_ -- -- -- -- 162 -- -- -- -- emailMessage_ -- -- -- -- 163 -- -- -- -- commentsEntryField_ -- -- -- -- 176 -- -- -- -- value: countdownMessage -- -- -- -- -- -- value: countdownMessage -- value -- countdownMessage -- 2 -- -- -- 194 -- -- -- -- countdownLabel_ -- -- -- -- 208 -- -- -- -- -- YES -- -- 0 -- -- -- -- -- -- -2 -- -- -- File's Owner -- -- -- -1 -- -- -- First Responder -- -- -- -3 -- -- -- Application -- -- -- 1 -- -- -- YES -- -- -- -- Window -- -- -- 2 -- -- -- YES -- -- -- -- -- -- -- -- -- -- 12 -- -- -- YES -- -- -- -- -- -- 14 -- -- -- YES -- -- -- -- -- -- 132 -- -- -- YES -- -- -- -- -- -- -- -- -- -- 145 -- -- -- YES -- -- -- -- -- -- -- -- 189 -- -- -- YES -- -- -- -- -- -- 191 -- -- -- Shared User Defaults Controller -- -- -- 210 -- -- -- -- -- 211 -- -- -- -- -- 221 -- -- -- -- -- 58 -- -- -- YES -- -- -- -- -- -- 215 -- -- -- -- -- 18 -- -- -- YES -- -- -- -- -- -- 212 -- -- -- -- -- 20 -- -- -- YES -- -- -- -- -- -- 213 -- -- -- -- -- 48 -- -- -- YES -- -- -- -- -- -- 214 -- -- -- -- -- 66 -- -- -- YES -- -- -- -- -- -- 216 -- -- -- -- -- 8 -- -- -- YES -- -- -- -- -- -- 217 -- -- -- -- -- 116 -- -- -- YES -- -- -- -- -- -- 218 -- -- -- -- -- 147 -- -- -- YES -- -- -- -- -- -- -- 3 -- -- -- YES -- -- -- -- -- -- 219 -- -- -- -- -- 6 -- -- -- YES -- -- -- -- -- -- 220 -- -- -- -- -- -- -- YES -- -- YES -- -3.ImportedFromIB2 -- 1.IBEditorWindowLastContentRect -- 1.IBWindowTemplateEditedContentRect -- 1.ImportedFromIB2 -- 1.windowTemplate.hasMinSize -- 1.windowTemplate.minSize -- 116.CustomClassName -- 116.ImportedFromIB2 -- 12.ImportedFromIB2 -- 132.ImportedFromIB2 -- 14.ImportedFromIB2 -- 145.ImportedFromIB2 -- 147.ImportedFromIB2 -- 18.CustomClassName -- 18.ImportedFromIB2 -- 189.ImportedFromIB2 -- 191.ImportedFromIB2 -- 2.ImportedFromIB2 -- 20.ImportedFromIB2 -- 3.ImportedFromIB2 -- 48.ImportedFromIB2 -- 58.ImportedFromIB2 -- 6.ImportedFromIB2 -- 66.ImportedFromIB2 -- 8.ImportedFromIB2 -- -- -- YES -- -- {{0, 656}, {490, 489}} -- {{0, 656}, {490, 489}} -- -- -- {72, 5} -- LengthLimitingTextField -- -- -- -- -- -- -- LengthLimitingTextField -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- YES -- -- -- YES -- -- -- -- -- YES -- -- -- YES -- -- -- -- 221 -- -- -- -- YES -- -- LengthLimitingTextField -- NSTextField -- -- IBUserSource -- -- -- -- -- Reporter -- NSObject -- -- YES -- -- YES -- cancel: -- sendReport: -- showPrivacyPolicy: -- -- -- YES -- id -- id -- id -- -- -- -- YES -- -- YES -- alertWindow_ -- cancelButton_ -- commentMessage_ -- commentsEntryField_ -- countdownLabel_ -- dialogTitle_ -- emailEntryField_ -- emailLabel_ -- emailMessage_ -- emailSectionBox_ -- headerBox_ -- preEmailBox_ -- privacyLinkArrow_ -- privacyLinkLabel_ -- sendButton_ -- -- -- YES -- NSWindow -- NSButton -- NSTextField -- LengthLimitingTextField -- NSTextField -- NSTextField -- LengthLimitingTextField -- NSTextField -- NSTextField -- NSBox -- NSBox -- NSBox -- NSView -- NSTextField -- NSButton -- -- -- -- IBUserSource -- -- -- -- -- -- 0 -- IBCocoaFramework -- -- com.apple.InterfaceBuilder.CocoaPlugin.macosx -- -- -- -- com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 -- -- -- YES -- ../Breakpad.xcodeproj -- 3 -- -- YES -- -- YES -- NSApplicationIcon -- goArrow -- -- -- YES -- {128, 128} -- {128, 128} -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Providing your email address is optional and will allow us contact you in case we need more details. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu urna, pulvinar sit amet, tincidunt ac, fermentum ut, ligula. Quisque mi. Duis lectus. Vestibulum velit. Morbi turpis. Nunc at diam consectetur turpis volutpat tristique. Donec quis diam. Suspendisse scelerisque. -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ optional -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ The system and other applications have not been affected. A report has been created that you can send to <Really Long Company Name> to help identify the problem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu urna, pulvinar sit amet, tincidunt ac, fermentum ut, ligula. Quisque mi. Duis lectus. Vestibulum velit. Morbi turpis. Nunc at diam consectetur turpis volutpat tristique. Donec quis diam. Suspendisse scelerisque. Quisque pulvinar mi id purus. Etiam vitae turpis vitae neque porta congue. -+ -+Please help us fix the problem by describing what happened before the crash. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu urna, pulvinar sit amet, tincidunt ac, fermentum ut, ligula. Quisque mi. Duis lectus. -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 -+ -+ -+ -+ -+ -+ -+ optional comments -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ diff --git a/scripts/bundle_openssl.ps1 b/scripts/bundle_openssl.ps1 deleted file mode 100644 index 44273261..00000000 --- a/scripts/bundle_openssl.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -$arch = $args[0] -$dist = $args[1] - -$libpath = If ($arch -eq "x64") {"C:\OpenSSL-Win64\bin"} Else {"C:\OpenSSL-Win32\bin"} -Copy-Item $libpath\libeay32.dll -Destination $dist -Copy-Item $libpath\ssleay32.dll -Destination $dist diff --git a/scripts/bundle_python.ps1 b/scripts/bundle_python.ps1 deleted file mode 100644 index b421ed98..00000000 --- a/scripts/bundle_python.ps1 +++ /dev/null @@ -1,17 +0,0 @@ -$arch = $args[0] -$dist = $args[1] - -$py_version = (python --version).Split()[1] -$py_base = "python" + $py_version[0] + $py_version[2] -$py_platform = If ($arch -eq "x64") {"amd64"} Else {"win32"} -$py_url = "https://www.python.org/ftp/python/${py_version}/python-${py_version}-embed-${py_platform}.zip" - -Remove-Item .\python_embed -Recurse -ErrorAction SilentlyContinue -$ErrorActionPreference = 'Stop' -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget ${py_url} -OutFile python_embed.zip; Expand-Archive .\python_embed.zip -DestinationPath .\python_embed -New-Item -ItemType directory -Force -Path $dist\$py_base -Copy-Item .\python_embed\${py_base}.zip -Destination $dist\$py_base -Copy-Item .\python_embed\*.pyd -Destination $dist\$py_base -Copy-Item .\python_embed\sqlite3.dll -Destination $dist\$py_base -Copy-Item .\python_embed\python*.dll -Destination $dist -[System.IO.File]::WriteAllLines("${dist}\${py_base}._pth", "${py_base}`r`n${py_base}\${py_base}.zip`r`n${py_base}\site-packages") diff --git a/scripts/deploy_docs.sh b/scripts/deploy_docs.sh deleted file mode 100755 index 42a38158..00000000 --- a/scripts/deploy_docs.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -cd $(dirname "${BASH_SOURCE[0]}")/.. - -cutter_timestamp=$(git show -s --format=%ct) -cutter_commit="$(git show -s --format="%H %s")" - -echo "Cloning current cutter.re" - -git clone --depth 1 git@github.com:radareorg/cutter.re.git || exit 1 - -echo "Updating docs" - -rm -rf cutter.re/docs -cp -a docs/build/html cutter.re/docs || exit 1 - -echo "Committing new changes" - -cd cutter.re || exit 1 -docs_timestamp=$(git show -s --format=%ct) -if [ $docs_timestamp -ge $cutter_timestamp ]; then - echo "Last commit on cutter.re is newer than this commit on cutter. Skipping." - exit 0 -fi - -git add . || exit 1 -git diff --cached --quiet && echo "No changes." && exit 0 -printf "Update docs from radareorg/cutter\n\nOriginal Commit:\n$cutter_commit" | git commit -F - -git push origin master || exit 1 - diff --git a/scripts/deploy_docs_rsa.enc b/scripts/deploy_docs_rsa.enc deleted file mode 100644 index 659b3042..00000000 Binary files a/scripts/deploy_docs_rsa.enc and /dev/null differ diff --git a/scripts/deploy_translations_rsa.enc b/scripts/deploy_translations_rsa.enc deleted file mode 100644 index 979d41d7..00000000 Binary files a/scripts/deploy_translations_rsa.enc and /dev/null differ diff --git a/scripts/prepare_breakpad.bat b/scripts/prepare_breakpad.bat deleted file mode 100644 index fa4fca45..00000000 --- a/scripts/prepare_breakpad.bat +++ /dev/null @@ -1,33 +0,0 @@ -@ECHO OFF -SET ROOT_DIR=%CD% - -powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget https://storage.googleapis.com/chrome-infra/depot_tools.zip -OutFile depot_tools.zip " -7z -bd x %ROOT_DIR%\depot_tools.zip -odepot_tools -powershell -Command "depot_tools\update_depot_tools" -SET BUFF_PATH=%PATH% -SET DEPOT_TOOLS=%ROOT_DIR%\depot_tools -set PATH=%DEPOT_TOOLS%;%BUFF_PATH% - -mkdir %ROOT_DIR%\src\breakpad -CD %ROOT_DIR%\src\breakpad -powershell -Command "fetch breakpad" -powershell -Command "gclient sync" -CD %ROOT_DIR%\src\breakpad\src -powershell -Command "git reset --hard 756daa536ad819eff80172aaab262fb71d1e89fd" - -CD %ROOT_DIR%\src\breakpad\src\src\client\windows -DEL %CD%\breakpad_client.gyp -DEL %CD%\breakpad_client.sln -DEL %CD%\common.vcxproj -DEL %CD%\common.vcxproj.filters -DEL %CD%\build_all.vcxproj -COPY %ROOT_DIR%\scripts\breakpad_client.gyp %CD% - -CD %ROOT_DIR%\src\breakpad\src\src -SET GYP_MSVS_VERSION=2017 -powershell -Command "tools\gyp\gyp.bat --no-circular-check client\windows\breakpad_client.gyp -Dwin_release_RuntimeLibrary=2 -Dwin_debug_RuntimeLibrary=2 -Dplatform=%ARCH% -Dconfiguration=release" -devenv client\windows\breakpad_client.sln /upgrade - -set PATH=%BUFF_PATH% -msbuild /m %CD%\client\windows\breakpad_client.sln /p:Configuration=release /p:Platform=%ARCH% || exit /b 1 -CD %ROOT_DIR% diff --git a/scripts/prepare_breakpad_linux.sh b/scripts/prepare_breakpad_linux.sh deleted file mode 100755 index d0dd82b6..00000000 --- a/scripts/prepare_breakpad_linux.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -euo pipefail - -git clone https://github.com/google/breakpad.git -cd breakpad -git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss -CFLAGS=-w CXXFLAGS=-w ./configure --disable-tools --prefix=`pwd`/prefix && make -j4 && make install || exit 1 - -export CUSTOM_BREAKPAD_PREFIX="`pwd`/prefix" -cd .. diff --git a/scripts/prepare_breakpad_macos.sh b/scripts/prepare_breakpad_macos.sh deleted file mode 100755 index 0a790f4e..00000000 --- a/scripts/prepare_breakpad_macos.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -set -euo pipefail - -SCRIPTPATH=$(realpath "$(dirname "${BASH_SOURCE[0]}")") - -DIR="$SCRIPTPATH/.." -cd "$DIR" -BREAKPAD_FRAMEWORK_DIR="$DIR/breakpad/framework" -BREAKPAD_DUMP_SYMS_DIR="$DIR/breakpad/bin" -git clone https://github.com/google/breakpad.git -mkdir $BREAKPAD_FRAMEWORK_DIR -mkdir $BREAKPAD_DUMP_SYMS_DIR -cd breakpad -git checkout 4d550cceca107f36c4bc1ea1126b7d32cc50f424 -git apply "$SCRIPTPATH/breakpad_macos.patch" -cd src/client/mac/ && xcodebuild -sdk macosx -cp -R build/Release/Breakpad.framework "$BREAKPAD_FRAMEWORK_DIR" - -cd $DIR/breakpad -cp -R src/. framework/Breakpad.framework/Headers - -export BREAKPAD_FRAMEWORK_DIR=$BREAKPAD_FRAMEWORK_DIR -cd $DIR diff --git a/scripts/prepare_python_macos.sh b/scripts/prepare_python_macos.sh deleted file mode 100755 index 1172d453..00000000 --- a/scripts/prepare_python_macos.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -SCRIPTPATH=$(realpath "$(dirname "${BASH_SOURCE[0]}")") - -mkdir python && cd python - -wget "https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz" || exit 1 -tar -xf Python-3.6.4.tar.xz || exit 1 - -export PYTHON_FRAMEWORK_DIR="`pwd`/framework" - -cd Python-3.6.4 || exit 1 - -CPPFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" ./configure --enable-framework=$PYTHON_FRAMEWORK_DIR || exit 1 - -# Patch for https://github.com/radareorg/cutter/issues/424 -sed -i ".original" "s/#define HAVE_GETENTROPY 1/#define HAVE_GETENTROPY 0/" pyconfig.h - -make -j4 || exit 1 -make frameworkinstallframework > /dev/null || exit 1 - -PYTHONHOME=$PYTHON_FRAMEWORK_DIR/Python.framework/Versions/Current \ - $PYTHON_FRAMEWORK_DIR/Python.framework/Versions/Current/bin/pip3 install -r "$SCRIPTPATH/pip_requirements.txt" || exit 1 - -cd ../.. diff --git a/scripts/r2dec.sh b/scripts/r2dec.sh deleted file mode 100755 index 8c7668b8..00000000 --- a/scripts/r2dec.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -set -e - -SCRIPTPATH=$(realpath "$(dirname "${BASH_SOURCE[0]}")") - -cd "$SCRIPTPATH/.." - -if [[ ! -d r2dec-js ]]; then - git clone https://github.com/radareorg/r2dec-js.git --depth 1 --branch master - #cd r2dec-js - #git checkout b5a0d15c7bcc488f268ffb0931b7ced2919f6c9d - #cd .. -fi - -cd r2dec-js -rm -rf build -mkdir build && cd build -meson --buildtype=release --libdir=share/radare2/plugins --datadir=share/radare2/plugins "$@" ../p -ninja -ninja install - diff --git a/src/Iaito.pro b/src/Iaito.pro index 0379c008..1166367c 100644 --- a/src/Iaito.pro +++ b/src/Iaito.pro @@ -313,9 +313,9 @@ IAITO_APPVEYOR_R2DEC { IAITO_R2GHIDRA_STATIC { message("Building with static r2ghidra support") DEFINES += IAITO_R2GHIDRA_STATIC - SOURCES += $$R2GHIDRA_SOURCE/cutter-plugin/R2GhidraDecompiler.cpp - HEADERS += $$R2GHIDRA_SOURCE/cutter-plugin/R2GhidraDecompiler.h - INCLUDEPATH += $$R2GHIDRA_SOURCE/cutter-plugin + SOURCES += $$R2GHIDRA_SOURCE/iaito-plugin/R2GhidraDecompiler.cpp + HEADERS += $$R2GHIDRA_SOURCE/iaito-plugin/R2GhidraDecompiler.h + INCLUDEPATH += $$R2GHIDRA_SOURCE/iaito-plugin LIBS += -L$$R2GHIDRA_INSTALL_PATH -lcore_ghidra -ldelayimp QMAKE_LFLAGS += /delayload:core_ghidra.dll } diff --git a/src/iaito.1 b/src/iaito.1 index ed50b4a5..0933ec20 100644 --- a/src/iaito.1 +++ b/src/iaito.1 @@ -61,7 +61,7 @@ redirection is causing some messages to be lost. \fB\-\-no\-plugins\fR Do not load plugins .TP -\fB\-\-no\-cutter\-plugins\fR +\fB\-\-no\-iaito\-plugins\fR Do not load Iaito plugins .TP \fB\-\-no\-r2\-plugins\fR diff --git a/src/org.radare.iaito.desktop b/src/org.radare.iaito.desktop index 2ce75a68..e819f1c3 100644 --- a/src/org.radare.iaito.desktop +++ b/src/org.radare.iaito.desktop @@ -8,4 +8,4 @@ Categories=Qt;Development;Debugger;Viewer;ComputerScience;DataVisualization;Emul StartupNotify=true GenericName=GUI to Radare2 reverse engineering platform Comment=It can serve as disassembler, debugger, hex viewer / editor and decompiler to several binary architectures and file formats -Keywords=radare2;radare;r2;r2cutter;cutter;cutter-re;gdb;disassembler;debugger;c;c++;assembler;decompiler;binary;asm;arm;exe;viewer; +Keywords=radare2;radare;r2;iaito;gdb;disassembler;debugger;c;c++;assembler;decompiler;binary;asm;arm;exe;viewer;