Commit Graph

256 Commits

Author SHA1 Message Date
lazymio
6d61aec82f
Format code 2022-06-02 14:46:26 +02:00
lazymio
637dc8a8a0
Generate an extra block to trigger segfault 2022-06-02 14:45:38 +02:00
lazymio
40436e885b
Fix the cached hook test 2022-06-02 14:38:53 +02:00
lazymio
774c942143
Add a test for hook cache UAF
If a hook is deleted but wrongly cached, a UAP is probably triggered
2022-06-01 23:58:02 +02:00
lazymio
e3613a9f59
Format code 2022-05-28 23:46:18 +02:00
lazymio
2a6529348c
Support uc_mem_protect on mmio regions
Also make mmio ranges return the correct errors on wrong protection
2022-05-28 23:33:43 +02:00
lazymio
ba50035830
Format code 2022-05-23 12:30:44 +02:00
lazymio
dae48aecee
Mem hook should return a bool 2022-05-20 13:31:54 +02:00
lazymio
0d41d4bbb2
Merge QDucasse:x86_hook_address for tests 2022-05-20 13:07:49 +02:00
lazymio
f4f726d7fc
Add test for ensuring hooks are get called only once 2022-05-07 00:23:04 +02:00
Quentin DUCASSE
38dfd69309 Equivalent tests for arm64 2022-05-04 18:03:06 +02:00
Quentin DUCASSE
f569417878 Equivalent tests for riscv 2022-05-04 17:18:47 +02:00
Quentin DUCASSE
8ee9e89f01 Fixed code comment for x86 tests 2022-05-04 17:06:48 +02:00
Quentin DUCASSE
a3ed8bbce5 Tests for jump hook address 2022-05-04 16:51:43 +02:00
Eric Poole
cfee2139a0
TriCore Support (#1568)
* TriCore Support

python sample

* Update sample_tricore.py

Correct attribution

* Update sample_tricore.py

Fixed byte code to execute properly.

* Update sample_tricore.py

Removed testing artifact

* Added tricore msvc config-file.h

* Added STATIC to tricore config and added helper methods to symbol file generation.

* Update op_helper.c

Use built in crc32

* Fix tricore samples and small code blocks are now handled properly

* Add CPU types

* Generate bindings

* Format code

Co-authored-by: lazymio <mio@lazym.io>
2022-04-29 23:11:34 +02:00
lazymio
ed90e98d81
Generate a TB at least to make sure cahce is not cleared for ADD and DEC 2022-04-26 01:18:00 +02:00
lazymio
d3f1ec1345
Add a test for count hook cache 2022-04-26 01:17:59 +02:00
lazymio
3d3deac5e6
Fix crash when mapping a big memory and calling uc_close 2022-04-16 19:17:41 +02:00
lazymio
cf18982e1c
Add two tests for mem map wrap 2022-04-16 18:19:41 +02:00
lazymio
c379d1bfe4
Format code 2022-04-16 17:50:12 +02:00
lazymio
b136f08f2d
Check CPU model for uc_ctl 2022-04-16 17:49:47 +02:00
shuffle2
2912cd1e29
fix rust bindings build on windows (#1584)
Refine rust bindings.
2022-04-16 13:40:04 +02:00
lazymio
e3d0a33ab8
Fix BE32 usermode address XOR 2022-04-05 11:55:58 +02:00
lazymio
3112cd920e
Add a test for nested uc_emu_start exits 2022-03-06 23:51:35 +01:00
lazymio
2a4e42f315
Fix test 2022-03-06 23:40:57 +01:00
lazymio
e5207a1363
Implement UC_HOOK_INSN for aarch64 MRS/MSR/SYS/SYSL 2022-02-27 15:28:31 +01:00
lazymio
d946114dfe
Set EFLAGS correctly on startup 2022-02-25 22:44:42 +01:00
lazymio
186be25c40
Fix wrong mode in tests 2022-02-25 22:28:26 +01:00
lazymio
45b5d7d8d2
Add test for caf2fe1ddb 2022-02-25 22:24:17 +01:00
Bet4
d96083d4d1 Fix pc after ppc sc inst 2022-02-20 20:42:46 +08:00
lazymio
73e4a90d3a
Manually revert 63a445cbba 2022-02-13 10:13:01 +01:00
lazymio
4266196b2d
Fix the divergence with master. 2022-02-13 10:08:58 +01:00
lazymio
e382ca102a
Fix the regression bug 2022-02-13 09:52:00 +01:00
lazymio
96518634fb
Fix the wrong block found when doing split_region 2022-02-12 21:34:46 +01:00
lazymio
a2f18bbfaf
Format code 2022-02-12 16:29:00 +01:00
lazymio
5683a5484d
Add test for switch endianess runtime 2022-02-12 14:35:33 +01:00
lazymio
380e72bc12
Add tests for armeb CPSR.E and SCTLR.B 2022-02-12 14:29:15 +01:00
lazymio
58fc952230
Remove armeb-softmmu and aarch64eb-softmmu 2022-02-12 14:15:54 +01:00
lazymio
3e6665db00
Implement coprocessor register read/write for arm64 2022-02-11 22:13:01 +01:00
lazymio
8bc1489210
Implement coprocessor register read/write for arm 2022-02-11 21:45:37 +01:00
Nguyen Anh Quynh
141a558dd8 fix conflicts 2022-01-28 10:30:51 +08:00
lazymio
bbfb376a88
Merge pull request #1521 from unicorn-engine/s390x
S390X Support
2022-01-19 23:07:19 +01:00
mio
2ad9f152f9
Set emulation_done to true if and only if we exit the outer uc_emu_start
Or we may lost uc_emu_stop wrongly
2022-01-19 21:58:46 +01:00
mio
7095605607
Merge branch 'dev' into systemz 2022-01-18 21:10:55 +01:00
lazymio
ea9c7425b0
Fix the wrong PC when arm translation fectches unmapped memory
This behavior keeps the same with Unicorn1, though, different from arm doc
2022-01-16 16:42:38 +01:00
lazymio
459a595a98
Merge branch 'dev' into s390x
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
lazymio
6ed2214399
Rebuilt hflags when swithing modes
Or we may get the wrong mode during translation
2022-01-14 19:37:48 +01:00
lazymio
980eae7f44
Sync PC at the end of emulation 2022-01-10 15:45:56 +01:00
lazymio
71f044ca50
Merge branch 'dev' into s390x 2022-01-10 15:17:42 +01:00
lazymio
36afa1022c
More PPC registers
Add FPR0-31, CR0-7, LR, CTR, MSR, XER, FPSCR for PPC

Add a test for ppc32 float point
2022-01-10 15:16:10 +01:00
lazymio
e84a5c44e9
Add a test for arm mrc instruction (also for coproc) 2022-01-05 21:57:32 +01:00
lazymio
8e70f3e524
Format code 2022-01-05 21:56:58 +01:00
lazymio
b8817518ae
Add a test for arm64 pac extension 2022-01-05 20:02:21 +01:00
lazymio
3f64491fda
Add further test for arm system mode transition 2022-01-05 19:38:02 +01:00
lazymio
73149f3616
Fix test case 2022-01-04 20:54:52 +01:00
lazymio
7dc858d03d
Add a test for arm privilege escalation 2022-01-04 20:30:07 +01:00
mio
8fc836c5fa
Fix tests list not marked with NULL 2021-12-29 23:10:21 +01:00
mio
849325b9c6
Add unit test for s390x 2021-12-27 23:59:53 +01:00
mio
faa689c0f0
Merge systemz to the latest uc2 codebase 2021-12-26 22:58:32 +01:00
lazymio
cddc9cf2ed
Fix arm post init 2021-12-25 00:16:51 +01:00
lazymio
5b3a9e1024
Add test for arm v8 2021-12-24 23:45:57 +01:00
lazymio
4f73d75ea8
Fix #1500 2021-12-23 21:46:27 +01:00
lazymio
ef6f8a2427
Fix x86 CPUID 2021-12-22 23:39:41 +01:00
lazymio
7bb0abb977
Format 2021-12-22 20:37:15 +01:00
lazymio
7bb756249a
Better design of cpuid instruction hook 2021-12-22 20:36:56 +01:00
Quentin DUCASSE
033e79abac Added cache flush after code patching in unit tests for arm64 and riscv 2021-12-17 14:55:08 +01:00
Dimitris Glynos
63a445cbba
fxsave / fxsave64 should store the floating point instruction pointer (fpip) (#1467)
* fxsave / fxsave64 should store the floating point instruction pointer (fpip)
- fxsave / fxsave64 happen to be used as GetPC code in exploits

* unit tests for the storage of FPIP in fxsave (x86) and fxsave64 (x64)
2021-12-13 08:40:32 +08:00
Quentin DUCASSE
549274f44c Code patching tests for riscv and arm64 2021-12-10 15:27:54 +01:00
Nguyen Anh Quynh
b042a6a01d add missing files 2021-12-06 04:28:13 +08:00
lazymio
8a0ca8715e
Fix SR read/write and a test 2021-12-04 23:22:28 +01:00
lazymio
221cde18df
Write CPSR as it is initiated from instructions to allow regs switch 2021-11-24 17:10:51 +01:00
lazymio
78e0ddbc4d
Fix mmio unmap 2021-11-24 00:18:19 +01:00
lazymio
4ed1c4cff9
Fix test name typo 2021-11-23 23:24:53 +01:00
Sven Bartscher
3e2580ef9e Add test case for #1497 2021-11-23 22:47:20 +01:00
lazymio
e11cc16e54
Implement high-resolution clock for mingw64 in test_ctl 2021-11-23 14:15:18 +01:00
lazymio
ccfb66611f
Move test to test_mem 2021-11-23 00:41:49 +01:00
Sven Bartscher
b35dbb90b2 Add test case for #1495 2021-11-22 18:48:16 +01:00
lazymio
907ec5095d
Fix a stackoverflow in tests 2021-11-21 19:28:45 +01:00
lazymio
fc467edbc6
Fix 32bit target getting wrong offset for mmio 2021-11-16 22:40:57 +01:00
lazymio
247ffbe0e8
Support nested uc_emu_start calls 2021-11-16 21:07:03 +01:00
lazymio
640251e1aa
Leave out size parameter in callback 2021-11-09 00:21:34 +01:00
lazymio
35017a614f
Slightly change UC_CTL_TB_REMOVE_CACHE 2021-11-08 22:09:33 +01:00
lazymio
e836b62e01
Minor fix for uc_ctl 2021-11-08 20:40:02 +01:00
lazymio
2f61592ff9
Fix uc_mem_protect 2021-11-07 20:37:58 +01:00
lazymio
c6fdbb3735
Add RISCV CSR registers 2021-11-07 20:36:04 +01:00
lazymio
01d7e454b7
Fix typo 2021-11-04 20:59:07 +01:00
lazymio
3aa2788586
Format 2021-11-04 18:39:52 +01:00
lazymio
dfbffa44ec
Support changing cpu model for ARM 2021-11-04 18:37:10 +01:00
lazymio
3e4b4af7d3
Support change page size 2021-11-04 17:03:30 +01:00
lazymio
67e2386da6
Add test and close #1477 2021-11-03 21:40:13 +01:00
lazymio
1a82248292
Add test for #992 2021-11-03 21:17:57 +01:00
lazymio
9818840f4e
Add tests for UC_HOOK_TCG_OPCODE 2021-11-03 20:56:45 +01:00
lazymio
58edb2abe7
Format 2021-11-03 13:28:12 +01:00
lazymio
09aa0f944f
Merge QDucasse:riscv_extension_d
Fix and close #1469

Fix test for riscv float points

Fix the riscv cpu config we left out
2021-11-03 13:20:46 +01:00
lazymio
eb75d459f0
Add a regression test for invalidating empty TB and have a better solution 2021-11-03 01:07:06 +01:00
lazymio
b7e82d460c
Expose more TB related stuff 2021-11-01 22:11:43 +01:00
lazymio
14e175394b
Fix Win32 time function for test_ctl 2021-11-01 19:43:30 +01:00
lazymio
9704618595
Fix test for Android due to clock() not working 2021-11-01 15:33:36 +01:00
lazymio
cee44b0464
Add tests and samples to show how to control TB cache 2021-11-01 14:46:01 +01:00
lazymio
fb45b287ba
Add multiple exits mechanism and tests&samples 2021-11-01 14:00:43 +01:00