You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* MacOS: 64-bit 10.14 "Mojave" or 10.15 "Catalina"
15
+
* Linux: 64-bit Ubuntu (most recent LTS or latest stable)
16
+
* Windows: 64-bit 10
17
+
* Python: 3.7.4
18
+
* Binary Ninja: at least version 1.3.2085
19
+
20
+
## Plugin Acquisition and Installation
21
+
22
+
BNDP is a python package and is acquired via github (http://github.com/vector35/debugger), by the Plugin Manager from within Binary Ninja, or by ordinary file and directory copying.
23
+
24
+
It must be placed in the Binary Ninja plugin path, which varies based on platform. Please refer to [Using Plugins](https://docs.binary.ninja/getting-started.html#using-plugins) section within the [Getting Started Guide](https://docs.binary.ninja/getting-started.html) in the [Binary Ninja User Documentation](https://docs.binary.ninja/).
25
+
26
+
## Platform Specific Considerations
27
+
28
+
### Android Phones
29
+
30
+
BNDP can debug armv7 and aarch64 targets by communicating with an appropriate gdbserver. We assume familiarity with the Android software development kit (SDK), native development kit (NDK) and the [Android Debug Bridge](https://developer.android.com/studio/command-line/adb). The servers from NDK version r15c were tested:
Connect your local machine's 31337 to the phone's 31337 with `adb forward tcp:31337 tcp:31337`.
38
+
39
+
From the phone, run the appropriate gdbserver on the binary, telling it to listen on 31337, eg: `./gdbserver_aarch64 :31337 ./hello_aarch64-android`.
40
+
41
+
### MacOS
42
+
43
+
Developer mode is required, so a dialogue may have to be affirmed upon first launch of `lldb` and `/usr/sbin` must be in path so that `DevToolsSecurity` can be executed.
44
+
45
+
# Use
13
46
14
47
## GUI Mode
15
48
@@ -68,30 +101,35 @@ See `BNDP_ROOT/cli.py` for an interactive console debugger.
68
101
69
102
## Automated Tests
70
103
71
-
Enter `BNDP_ROOT/testbins` and build the test binaries with the appropriate call for your environment:
104
+
### Build Environment Requirements
72
105
73
-
```
74
-
make -f Makefile-linux
75
-
make -f Makefile-macos
76
-
nmake -f Makefile-win
77
-
```
106
+
Building the tests requires an assembler, compiler, and make utility:
| MacOS | Nasm v2.14.02 | Clang 11.0.0 | GNU Make 3.8.1 |
111
+
| Linux | Nasm v2.13.02 | GCC 7.5.0 | GNU Make 4.1 |
112
+
| Windows | Nasm v2.14.03rc2 | Visual Studio 2017<br />Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26730 for x64 | nmake<br />Microsoft (R) Program Maintenance Utility Version 14.15.26730.0 |
80
113
81
-
## Platform Specific Considerations
114
+
These versions are used during development but are likely flexible.
82
115
83
-
### Android
116
+
### Build Steps
84
117
85
-
Get gdbserver onto the phone, pushing both architectures. The servers from NDK version r15c were tested:
118
+
All builds use make (nmake for Windows) and a shell (“x64 Native Tools Command Prompt for VS 2017” for Windows). Change to the debugger/testbins directory and run make/nmake, specifying the appropriate Makefile:
0 commit comments