Unicorn – The Ultimate CPU Emulator
Posted by tosh 21 hours ago
Comments
Comment by xvilka 13 hours ago
[1] https://www.qemu.org/docs/master/devel/tcg-plugins.html
[2] https://gitlab.com/qemu-project/qemu/-/tree/master/contrib/p...
Comment by novafacing 8 hours ago
Comment by Retr0id 13 hours ago
Comment by novafacing 8 hours ago
Comment by xvilka 13 hours ago
Comment by Retr0id 16 hours ago
You usually use it to build your own emulator or other analysis tool, often for reverse engineering.
Comment by fluoridation 16 hours ago
Comment by neitsa 15 hours ago
Comment by fluoridation 15 hours ago
Comment by Retr0id 16 hours ago
Comment by fluoridation 16 hours ago
Comment by Retr0id 15 hours ago
Comment by bmenrigh 18 hours ago
Comment by leobuskin 13 hours ago
Comment by harvie 17 hours ago
What?
Comment by Retr0id 15 hours ago
Comment by nzoschke 11 hours ago
It felt like science fiction watching Codex write unicorn to host binaries and reverse engineer them.
Comment by jsomedon 18 hours ago
Comment by hylaride 17 hours ago
In the early 2000s, I used a linux-based emulator to virtualize some ancient manufacturing hardware control software that was still running on EOL and very expensive PA-RISC kit. It saved the company tens of thousands of dollars in new hardware, while also running faster (it involved early 1990s-era proprietary vector graphics as part of it was printing on the goods). The HP sales people were not amused and tried very hard to get my 22 year old self fired, but my manager convinced them to use it and the old hardware as a backup for awhile. Last I heard in 2011 it was still being used, though running in linux on VMware.
Comment by bux93 18 hours ago
The ability to execute and inspect some code without any context (no OS, not even a complete binary) is useful for reverse/security engineering.
Comment by wavemode 18 hours ago
QEMU is an emulator that can run entire operating systems, because it emulates hardware devices like hard drives and displays. Unicorn doesn't emulate any of those things, it only emulates the CPU. It's probably mostly useful for compiler development and security research / reverse engineering.
Comment by goodmythical 18 hours ago
Or you can use it as a sandbox serving x86 software on an x86 machine.
Or as a "virtual machine" serving say AOSP for ARM on a Windows x86 host.
There's a long list of projects using Unicorn at https://www.unicorn-engine.org/showcase/
Comment by giancarlostoro 18 hours ago
Comment by pdhborges 18 hours ago
Comment by stephc_int13 18 hours ago
Comment by chris_money202 12 hours ago
Comment by qingcharles 12 hours ago
Comment by dmitrygr 16 hours ago
Qemu supports RV and PPC!
And that is not what “from scratch” means!