106 Commits

Author SHA1 Message Date
Theodore Dubois
a6236c7545 Fix build for x86 darwin 2018-10-08 17:18:19 -07:00
Theodore Dubois
4a8efe8d01 Make various memory management things shared between threads 2018-10-07 13:02:15 -07:00
Theodore Dubois
dad860852e Null terminate the db inode key in fakefsify 2018-09-26 09:24:24 -07:00
Theodore Dubois
78b588b1c6 Allow infinitely retrying a unicornomatic failure 2018-09-16 08:50:17 -07:00
Theodore Dubois
7c22fec4c0 Attempt to grow the stack in unicornomatic 2018-09-11 09:43:12 -07:00
Theodore Dubois
738fb78530 Add support for a whole bunch of system calls to unicornomatic 2018-09-10 15:50:25 -07:00
Theodore Dubois
54a4d987e4 Add handlers in unicornomatic for ioctl and setitimer 2018-09-02 17:14:43 +00:00
Theodore Dubois
7f2373c823 Step unicorn over an entire string instruction 2018-09-01 23:48:19 +00:00
Theodore Dubois
d26822a68d Remember to actually set up the gdt correctly
Instead of just writing a commit message saying I did
2018-08-31 04:51:08 +00:00
Theodore Dubois
f2674aaf4b Set up a GDT in unicorn so that thread local storage can work 2018-08-31 00:28:20 +00:00
Theodore Dubois
f6658cbb58 Fix unicornomatic failures related to undefined flags 2018-08-30 00:14:43 +00:00
Theodore Dubois
73c12bf7ff Fix more bugs in aarch64 gadgets 2018-08-29 01:07:27 +00:00
Theodore Dubois
2ee6cafa94 Add flag checking to unicornomatic 2018-08-19 00:22:48 +00:00
Theodore Dubois
e93f43f36c Start implementing a few math operations 2018-08-19 00:16:48 +00:00
Theodore Dubois
d60478a70f Fix various bugs in unicornomatic 2018-08-18 23:01:39 +00:00
Theodore Dubois
804993efe0 Don't build unicornomatic if unicorn can't be found 2018-08-17 23:06:03 +00:00
Theodore Dubois
ebe8a67e20 Start work on a unicorn-based alternative to ptraceomatic 2018-08-17 22:19:17 +00:00
Theodore Dubois
991673490c Compile the vdso using clang and lld on all platforms 2018-08-14 01:04:35 +00:00
Theodore Dubois
efd0b23ef2 Merge branch 'master' of github.com:tbodt/ish 2018-08-12 19:41:55 -07:00
Theodore Dubois
3cf7619de7 Merge branch 'jit' 2018-08-12 19:35:43 -07:00
Theodore Dubois
9d7bf7025a Fix warning on latest meson 2018-08-12 18:54:08 -07:00
Theodore Dubois
fb2d8ca810 Handle calling ioctl on files that don't support ioctl in ptraceomatic 2018-06-16 15:59:50 -07:00
Theodore Dubois
fc185f9550 Handle socketpair and fstatat64 in ptraceomatic 2018-06-16 15:59:38 -07:00
Theodore Dubois
92fa60bd7d Flush the tlb with ptraceomatic 2018-06-12 16:35:07 -07:00
Theodore Dubois
96d84180d9 Handle undefined flags for imul 2018-06-12 16:35:07 -07:00
Theodore Dubois
77ec43da79 Fix a few bugs 2018-05-26 11:58:32 -07:00
Theodore Dubois
ab81122c62 Fix flags on imul and shifts 2018-05-25 15:19:55 -07:00
Theodore Dubois
da7309b6c3 Correct carry flag checking 2018-05-24 16:04:32 -07:00
Theodore Dubois
f140ddc495 Bodge ptraceomatic into not being wrong 2018-05-24 02:29:05 -07:00
Theodore Dubois
a6c9213f46 Care about instruction size in codegen 2018-05-14 11:54:46 -07:00
Theodore Dubois
7a3a99a190 Implement some limited flag handling 2018-05-13 15:39:05 -07:00
Theodore Dubois
543eb92ce1 Compile mov (%esp), %eax 2018-05-12 15:23:59 -07:00
Theodore Dubois
94217971f0 Move dirty_page to TLB 2018-05-12 15:06:30 -07:00
Theodore Dubois
635b9ab14a Disable flag checking in ptraceomatic for now 2018-05-08 14:48:07 -07:00
Theodore Dubois
46a26ad58b Fix vdso inclusion on Mac 2018-05-07 10:55:20 -07:00
Theodore Dubois
d4d7d4652f Replace cify with .incbin 2018-05-03 16:13:33 -07:00
Theodore Dubois
498c17b1a3 Foundations of jit, no actual compiling yet 2018-05-03 14:48:08 -07:00
Theodore Dubois
20dac20204 Pass $TERM to emulated process 2018-04-05 20:49:32 -07:00
Theodore Dubois
ab6374df55 Stop passing NULL to path_normalize 2018-02-04 20:23:01 -08:00
Theodore Dubois
eddf023669 Move pwd, root, uname out into its own struct 2018-01-21 17:24:32 -08:00
Theodore Dubois
728ca235c0 Replace files array with fdtable structure 2018-01-15 19:18:38 -08:00
Theodore Dubois
50ec9af425 Save the db inode key in fakefsify 2018-01-10 18:18:32 -08:00
Theodore Dubois
bf3b711cdd Implement tracking of process cpu usage 2018-01-10 15:33:11 -08:00
Theodore Dubois
37de7b9f71 Redesign the fakefs database to support hardlinks 2018-01-07 17:36:15 -08:00
Theodore Dubois
192d10777b Use null characters instead of colons in database keys 2018-01-05 14:53:30 -08:00
Theodore Dubois
d738dc4db2 Switch to gdbm from generic ndbm 2018-01-05 14:48:53 -08:00
Theodore Dubois
913df7221b Remove signal handlers in ptraceomatic child 2018-01-04 13:55:20 -08:00
Theodore Dubois
255f8f18c8 Use a per-cpu TLB 2017-12-24 16:02:15 -08:00
Theodore Dubois
2b5374c21b Rename start_thread and remove cpu parameter to handle_interrupt 2017-12-24 12:15:14 -08:00
Theodore Dubois
8d372c0991 Fix ptraceomatic to work with the memory layer 2017-12-21 16:57:53 -08:00