Commit graph

978 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