Commit Graph

78 Commits

Author SHA1 Message Date
lazymio 18d7f090ce
Add gitignore 2021-11-21 12:48:52 +01:00
Bet4 fe296d1c9e Improve Java bindings 2021-10-14 18:39:38 +08:00
Bet4 8120a11f24 Update dependencies of rust bindings 2021-10-06 22:43:14 +08:00
Nguyen Anh Quynh aaaea14214 import Unicorn2 2021-10-03 22:14:44 +08:00
Bet4 9c6134ca91
Add Rust bindings to master branch (#1401)
* Rust bindings (#1295)

* rust bindings init

* updated bindings/README

* Improved Rust bindings: (#1309)

* Added basic block hooking
* Changed confusing struct naming. Before: Protection::All -> R,W,X, Now: Permission::All -> R,W,X
* Fixed issue with remove_hook(..). Implementation tried to remove hook from incorrect hashmap.
* Made unused private vmmap(..) public.

* Improve Rust bindings (#1367)

* fixed tests

* constant readability

* HookType as bitflags

* Mode as bitflags

* improve bitflags

* cargo fmt

* removed unnecessary "as usize"

* fixed buggy deallocation of uc_context structs

* Remove data field in rust bindings

Co-authored-by: Lukas Seidel <pr0me@users.noreply.github.com>
Co-authored-by: Nikolas Eller <nikolas.e@mail.de>
Co-authored-by: Simon Wörner <git@simon-woerner.de>
Co-authored-by: floesen <floesen@users.noreply.github.com>
2021-05-26 23:05:12 +08:00
Nguyen Anh Quynh 20a22fd65e .gitignore 2020-05-27 15:02:17 +08:00
Nguyen Anh Quynh 00bbe2ce7d we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
kj.xwings.l 24f55a7973 Removed hardcoded CP0C3_ULRI (#1098)
* activate CP0C3_ULRI for CONFIG3, mips

* updated with mips patches

* updated with mips patches

* remove hardcoded config3

* git ignore vscode

* fix spacing issue and turn on floating point
2019-07-06 17:53:02 +08:00
zhangwm 2e973a13f0 arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
Nguyen Anh Quynh dcccab5a75 msvc: initial support for armeb. also add i386 support (FIXME) 2017-04-21 01:20:12 +08:00
Nguyen Anh Quynh fabe682d87 update .gitignore 2017-01-23 21:54:48 +08:00
xorstream c8d1287e10 gitignore seems to have an undisclosed conflict?! fixed here. 2017-01-23 01:13:13 +11:00
xorstream 724c765028 Merging with current msvc 2 2017-01-23 01:07:50 +11:00
xorstream 37ac0efcea Added prebuild_script.bat to remove leftover configure generated files before building.
Also added project files and MSVC copies of configure generated files for all supported CPUs.
2017-01-22 01:17:36 +11:00
xorstream 8840d5b42b Save copies of generated qapi files. 2017-01-21 00:30:50 +11:00
Andrew Dutcher bf2cd79a4d Windows: export a static lib that can be used outside of mingw (#699)
* Windows: export a static lib that can be used outside of mingw

* Add comments to windows_export.bat
2016-12-27 16:30:07 +08:00
Stephen bc08bfda67 Unit testing in CI (#651)
- in appveyor, install clang and cmake in cygwin, enable package upgrades, and build cmocka and enable testing for gcc only
- in `gitignore`, ignore generated cmocka folder
- in travis, use brew in osx to install cmocka, and enable testing for gcc and clang on os x and linux
- in `Makefile`, change to use `uname -s` to determine os type
- make `install-cmocka-linux.sh`, a simple shell script to download and install cmocka on linux
- in `bindings/Makefile`, enable `make -c` to call subdirectory makefiles instead of `cd [dir] && make` and include environment variables for runtime access to generated libraries
- in `samples/Makefile`, change to use `uname -s` to determine os type, remove `clean_bins` from `all` command, and include `Werror` for compile strictness
- in `tests/unit/Makefile`, add `cflags` for compile time access to cmocka headers and library, include execute vars for runtime access to cmocka and unicorn libs
- in `tests/unit/test_tb_x86.c`, comment out assert that would not compile
2016-10-22 00:21:10 +08:00
Andrew Dutcher ac99b5bd14 Minor tweaks to python setup process; update gitignore 2016-09-12 14:06:50 -07:00
Nguyen Anh Quynh d92b37ed7d cleanup .gitignore 2016-06-16 09:29:16 +08:00
Nguyen Anh Quynh 65bef683d3 regress: more flexible .gitignore 2016-06-16 09:27:47 +08:00
Nguyen Anh Quynh 0e0a1ca786 samples: more flexible .gitignore 2016-06-16 09:23:00 +08:00
Nguyen Anh Quynh 6193be73b7 tests: more flexible .gitignore for tests/unit/ 2016-06-16 09:14:32 +08:00
Nguyen Anh Quynh 4084a385c2 regress: add mem_64_c.c from issue #523 by Chris Eagle 2016-04-24 22:53:30 +08:00
Nguyen Anh Quynh cc6cbc5cf7 Merge branch 'memleak' into m2 2016-04-18 12:48:13 +08:00
practicalswift 06a64dc3b0 Add six crash cases (2 * ARM + 4 * M68K)
* 001-bad_condition_code_0xe.c (ARM)
* 002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0.c (M68K)
* 003-qemu__fatal__wdebug_not_implemented.c (M68K)
* 004-segmentation_fault_1.c (ARM)
* 005-qemu__fatal__illegal_instruction__0000___00000404.c (M68K)
* 006-qemu__fatal__illegal_instruction__0421___00040026.c (M68K)

```
$ ./001-bad_condition_code_0xe # ARM
uc_emu_start(…)
Bad condition code 0xe
Aborted

$ ./002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Unimplemented control register write 0xffb = 0x0

Aborted

$ ./003-qemu__fatal__wdebug_not_implemented # M68K
uc_emu_start(…)
qemu: fatal: WDEBUG not implemented
Aborted

$ ./004-segmentation_fault_1 # ARM
uc_emu_start(…)
hook_code(…) called
Segmentation fault

$ ./005-qemu__fatal__illegal_instruction__0000___00000404 # M68K
uc_emu_start(…)
qemu: fatal: Illegal instruction: 0000 @ 00000404
Aborted

$ ./006-qemu__fatal__illegal_instruction__0421___00040026 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Illegal instruction: 0421 @ 00040026
Aborted
```
2016-04-09 15:27:20 -04:00
Nguyen Anh Quynh f2c99bc80e update .gitignore 2016-04-06 09:48:14 +08:00
egberts 881360d60f Issue #465 - Added test_hookcounts to .gitignore 2016-03-16 11:01:59 -07:00
Nguyen Anh Quynh fb1ebac000 Merge branch 'master' into m1 2016-03-09 15:13:42 +08:00
Nguyen Anh Quynh 2f28f3f210 unit: make test_x86_soft_paging.c compilable. also update .gitignore for its binary 2016-02-22 14:01:00 +08:00
Nguyen Anh Quynh b69feb8d0b Merge branch 'master' into memleak2 2016-02-15 15:52:10 +08:00
Nguyen Anh Quynh 9b6d1bf324 regress: fix compilation warning for mem_fuzz.c 2016-02-05 08:54:52 +08:00
Nguyen Anh Quynh 20b01a6933 fix merge conflict 2016-02-01 12:08:38 +08:00
Nguyen Anh Quynh 5a04bcb115 allow to change PC during callback. this solves issue #210 2016-01-28 14:06:17 +08:00
Nguyen Anh Quynh 9c2017e115 update .gitignore 2016-01-23 17:08:40 +08:00
Nguyen Anh Quynh 3a8ad6f944 java: add .class & .jar files to .gitignore 2016-01-12 01:03:44 +08:00
Nguyen Anh Quynh 7de48f2f75 regress: add emu_clear_errors to .gitignore 2016-01-12 01:02:45 +08:00
Nguyen Anh Quynh 2a269acac1 regress: add memleak_xxx.c to test memleak issue 2016-01-10 23:56:14 +08:00
Nguyen Anh Quynh b3ebd1b7cb Merge branch 'master' of https://github.com/iroiro123/unicorn into iroiro123-master 2016-01-01 14:01:39 +08:00
Spl3en c9f6648877 Add sysenter_hook_x86 to tests/regress/Makefile and sysenter_hook_x86 to .gitignore. 2015-12-24 18:25:35 +01:00
farmdve 784b8066e2 Add test for pre-instruction hook being called more times. 2015-12-22 12:33:36 +02:00
Hiroyuki Uekawa 6445c80b29 Build for Cygwin 2015-12-20 22:00:35 +09:00
xorstream 7c1297662c Added test for MIPS branch likely instructions. 2015-12-20 16:07:54 +11:00
xorstream 7877f72a92 Added emu_stop_in_hook_overrun to gitignore 2015-12-20 15:11:01 +11:00
Nguyen Anh Quynh f509423cfa update .gitignore 2015-12-17 08:13:39 +08:00
Nguyen Anh Quynh 7b73a298c1 update .gitignore 2015-12-16 23:00:42 +08:00
xorstream f111d7d1ca Added support for building tests from MinGW. 2015-12-16 12:59:30 +11:00
univm 845392de1e Test for stack hooking. 2015-12-12 00:48:46 +02:00
Nguyen Anh Quynh 9b6701dc4d update .gitignore 2015-12-12 01:39:59 +08:00
Nguyen Anh Quynh 613d60119e update .gitignore 2015-12-11 22:26:05 +08:00
farmdve 0d98607121 Unmapped memory is not freed.
While uc_mem_unmap does unmap memory regions from Unicorn, it does not
free the memory. It accumulates over time when reusing a single Unicorn
instance.
2015-12-10 00:08:07 +02:00