3 ms·
I've long wanted to have a way to see what actually happens inside a CPU when a set of instructions are executed. I'm pretty excited after skimming this paper a
by jf 2y ago
I've long wanted to have a way to see what actually happens inside a CPU when a set of instructions are executed. I'm pretty excited after skimming this paper as it looks like they developed a technique to automatically determine how the x86-64 instructions actually work by observing real world CPU behavior.
- dzaima 2y agoThis is determining the directly observable behavior rather than anything about microarchitectural specifics.
- ddingus 2y agoAnd still quite a useful tool, particularly when exploring undocumented instructions.
- fragmede 2y agoblinkenlights might be up your alley, if you haven't seen it before. https://justine.lol/blinkenlights/ https://justine.lol/blinkenlights/
- rbanffy 2y agoEvery computer deserves a blinking lights front panel.
- westurner 2y agoFrom https://news.ycombinator.com/item?id=33563857 https://news.ycombinator.com/item?id=33563857 : > Memory Debugger Valgrind > Memcheck, None: https://en.wikipedia.org/wiki/Valgrind https://en.wikipedia.org/wiki/Valgrind ; TIL Memcheck's `none` provides a traceback where the shell would normally just print "Segmentation fault" DynamoRio > Dr Memory: https://en.wikipedia.org/wiki/DynamoRIO#Dr._Memory https://en.wikipedia.org/wiki/DynamoRIO#Dr._Memory Intel Pin: https://en.wikipedia.org/wiki/Pin_(computer_program) https://en.wikipedia.org/wiki/Pin_(computer_program) https://news.ycombinator.com/item?id=22095435 https://news.ycombinator.com/item?id=22095435, : SoftICE, EPT, Hypervisor, HyperDbg, PulseDbg, BugChecker, pyvmidbg (libVMI + GDB), libVMI Python, volatilityfoundation/volatility, Google/rekall -> yara, winpmem, Microsoft/linpmem, AVML, rr, Ghidra Trace Format: https://github.com/NationalSecurityAgency/ghidra/discussions/4051 https://github.com/NationalSecurityAgency/ghidra/discussions... https://github.com/NationalSecurityAgency/ghidra/discussions/2730#discussioncomment-10424795 https://github.com/NationalSecurityAgency/ghidra/discussions... : appliepie, orange_slice, cannoli GDB can help with register introspection: https://web.stanford.edu/class/archive/cs/cs107/cs107.1202/lab7/ https://web.stanford.edu/class/archive/cs/cs107/cs107.1202/l... : > Auto-display and Printing Registers: The `info reg` command [and `info all-registers` (`i r a`)] emu86 implements X86 instructions in Python, optionally in Jupyter notebooks; still w/o X86S, SIMD, AVX-512, x86-84-v4
- westurner 2y ago> Valgrind `none` provides a traceback where the shell would normally just print "Segmentation fault" What would it take to get `bash` to print a --traceback after "Segmentation fault\n", and then possibly also --gdb like pytest --pdb? - [ ] ENH: bash: add valgrind `none`-style ~ --traceback after "Segmentation fault" given an env var or by default?