Commit Graph

928 Commits

Author SHA1 Message Date
practicalswift
36948320ce invalid_read_in_cpu_tb_exec_x86_64 → invalid_write_in_cpu_tb_exec_x86_64 2015-11-17 08:44:38 +01:00
Nguyen Anh Quynh
51945c5bf2 Merge pull request #270 from practicalswift/invalid-write-in-cpu_tb_exec_x86_64
Crash case: Invalid write of size 4 in cpu_tb_exec_x86_64 (issue #269)
2015-11-17 10:05:10 +08:00
practicalswift
ad5c2eb9c6 Crash case: Invalid write of size 4 in cpu_tb_exec_x86_64. 2015-11-16 23:19:23 +01:00
Nguyen Anh Quynh
edaea7020b x86: on self-modifying code, generate JIT code until end of block. this fixes issue #266 2015-11-16 21:55:42 +08:00
Nguyen Anh Quynh
331154551e Merge pull request #267 from practicalswift/hook-block-invalid-read
Add test case for issue #266 ("Invalid read of size 4" in cpu_tb_exec).
2015-11-16 02:17:04 +08:00
practicalswift
8af4967707 Remove space. 2015-11-15 18:18:04 +01:00
practicalswift
76ed117df6 Cast last two uc_hook_add(…) arguments to uint64_t. 2015-11-15 18:12:10 +01:00
practicalswift
5b34660b3f Add test case to Makefile and .gitignore. Add disassembly. 2015-11-15 17:31:06 +01:00
practicalswift
c8fe68fb3d Add test case for issue #266 ("Invalid read of size 4" in cpu_tb_exec). 2015-11-15 00:04:34 +01:00
Nguyen Anh Quynh
2933d23772 Merge pull request #264 from williballenthin/run_across_bb
add test case to run_across_bb.py
2015-11-13 23:59:47 +08:00
Nguyen Anh Quynh
9099755ca1 flush JIT cache before finishing emulation. this fixes issue #263. TODO: optimize this for better performance 2015-11-13 23:57:03 +08:00
Willi Ballenthin
eb73984763 run_across_bb: include expected vs actual PC in assertion error 2015-11-13 10:14:38 -05:00
farmdve
1ba39a582c change tabs to whitespaces... 2015-11-13 16:53:01 +02:00
farmdve
661714d0c2 Potential fix for issue #262/#263 2015-11-13 16:51:59 +02:00
Willi Ballenthin
d09cc88495 run_across_bb: whitespacing 2015-11-13 09:13:27 -05:00
Willi Ballenthin
c97fa4fd8a add test case to run_across_bb
demonstrates that calling emu_start from a BB start to another BB end works fine.
2015-11-13 08:59:36 -05:00
Nguyen Anh Quynh
1a543c04f0 Merge pull request #262 from williballenthin/run_across_bb
Add test for emulation within and across BBs
2015-11-13 15:01:48 +08:00
Willi Ballenthin
22d2d3bdbb add test for emulation within and across BB 2015-11-13 00:44:19 -05:00
Nguyen Anh Quynh
9f29fdf442 update regress.sh 2015-11-12 15:30:19 +08:00
Nguyen Anh Quynh
49ee3828af update .gitignore 2015-11-12 15:25:24 +08:00
Nguyen Anh Quynh
d126644bb2 Merge pull request #259 from lunixbochs/multiarch
improve multiarch support
2015-11-12 15:11:06 +08:00
Nguyen Anh Quynh
d92d6791b9 Merge pull request #260 from lunixbochs/master
add mem_map_large regression (for #223)
2015-11-12 15:06:35 +08:00
Ryan Hileman
f93e342177 add mem_map_large regression (for #223) 2015-11-11 22:52:18 -08:00
Ryan Hileman
ad5cd37551 improve multiarch support 2015-11-11 22:48:21 -08:00
Nguyen Anh Quynh
2f297bdd3a handle some errors properly so avoid exit() during initialization. this fixes issue #237 2015-11-12 01:43:41 +08:00
Nguyen Anh Quynh
116d96692d Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-11-11 23:50:18 +08:00
Nguyen Anh Quynh
dcde01daef COMPILE.TXT: MingW compile requires Python2. issue reported by @stievie 2015-11-11 23:49:41 +08:00
Nguyen Anh Quynh
e6fe7a8b54 Merge pull request #255 from radare/fix-184-pkgconfig
Fix #184 - Proper handling of DESTDIR
2015-11-10 22:12:36 +08:00
Nguyen Anh Quynh
bd1a76c279 update .gitignore 2015-11-10 21:39:35 +08:00
Nguyen Anh Quynh
29b3c57e3c Merge pull request #256 from farmdve/fix_bugs1
Patch eflags_noset to compile on 32-bit and on 64-bit.
2015-11-10 21:23:56 +08:00
farmdve
c8300587f7 Patch eflags_noset to compile on 32-bit and on 64-bit. 2015-11-10 15:01:23 +02:00
Nguyen Anh Quynh
fe408b0dc7 bindings: link to Delphi/Pascal binding 2015-11-10 21:00:29 +08:00
pancake
b15a179a18 Fix #184 - Proper handling of DESTDIR 2015-11-10 11:47:19 +01:00
Nguyen Anh Quynh
272293556a do not abort() when memory is insufficient. this fixes issue #244 2015-11-10 11:44:29 +08:00
Nguyen Anh Quynh
87ce40eb00 Merge pull request #254 from farmdve/fix_bugs1
Attempting to set some bits in the Unicorn EFLAGS doesn't work.
2015-11-10 10:36:01 +08:00
farmdve
726f45b33d Attempting to set some bits in the Unicorn EFLAGS doesn't work.
When attempting to set all flags except trap flag, the EFLAGS value
should be 0x00244ED7, I've tested this on Windows and here
https://ideone.com/WQAvk1 which is presumably Linux.

Unicorn however has the value 0x00000ED7, bits 11-21 are not set. Bit 21
is the ID bit indicating whether or not CPUID is available.
2015-11-10 00:49:01 +02:00
Nguyen Anh Quynh
b3a990f1ae Merge pull request #253 from Nico01/master
fix compilation with capstone next
2015-11-08 00:26:25 +08:00
Nico01
4127179fe3 fix compilation with capstone next 2015-11-07 16:55:42 +01:00
Nguyen Anh Quynh
938d0b89eb x86: check for exit request after every hooked instruction. this should fix issue #232 2015-11-07 01:02:45 +08:00
Nguyen Anh Quynh
4c5ecda908 regress: print with newline for 00opcode_uc_crash.c 2015-11-06 22:24:24 +08:00
Nguyen Anh Quynh
4d8f2c9725 Merge branch 'fix_bugs' of https://github.com/farmdve/unicorn into farmdve-fix_bugs 2015-11-06 22:10:14 +08:00
Nguyen Anh Quynh
17f3365fa1 update .gitignore 2015-11-06 22:10:01 +08:00
farmdve
389bc06b49 Fix crash on 00 opcode.
l1_map should be an array of pointers, thus void **
2015-11-06 14:08:12 +02:00
Nguyen Anh Quynh
de86647dbe regress: fix compiled warning for 00opcode_uc_crash.c 2015-11-05 22:51:10 +08:00
Nguyen Anh Quynh
2fe1b31d51 update CREDITS 2015-11-05 21:36:03 +08:00
Nguyen Anh Quynh
d818e2c485 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-11-05 21:34:55 +08:00
Nguyen Anh Quynh
4692f3445f Merge pull request #248 from farmdve/master
X86 zero-byte opcode causes Unicorn to crash.
2015-11-05 20:49:04 +08:00
Nguyen Anh Quynh
b3dfde8a17 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-11-05 20:41:51 +08:00
farmdve
7f3c567ae5 X86 zero-byte opcode causes Unicorn to crash.
The opcode 0x00 translates as `add byte ptr ds:[eax],al`, which leads to
a segfault in Unicorn.

Using a debugger, I believe the crash is located in
`qemu/translate-all.c` in function `page_flush_tb_1`, more specifically
this code `pd[i].first_tb = NULL;`
2015-11-05 14:41:15 +02:00
Nguyen Anh Quynh
51323c9c17 x86: properly calculate EFLAGS when UC_HOOK_CODE is used. this should fix issue #246 2015-11-05 20:26:39 +08:00