by ahgamut on 10/24/22, 1:24 AM with 50 comments
by abainbridge on 10/24/22, 10:55 AM
> ./hex16.com ./missing.txt --ftrace
That seems like magic. It seems you have to build with a special flag that tells GCC to put a nop at the start of each function. Then, before main runs, Cosmopolitan sees the --ftrace on the command line, and modifies the code in memory to replace those nops with calls to something that does the logging. See https://justine.lol/ftrace/.
by andrewmcwatters on 10/24/22, 2:27 PM
I suspect the combination of interests is a little out there. For instance, with game cheat developers, you tend to first at least have some interest in C++, then understanding memory scanning, then signature scanning, trampolining, and all of a sudden you have the skillset ingredients for authoring some rudimentary cheats. Advanced skills come with driver development, which you then pick up to figure out how to evade anti-cheat technology, etc.
But very few developers I know say, oh yeah, I was just interested directly in this sort of thing from the get-go and decided to pick up all of the specific skills to go straight to cheat development.
Usually, it's the guys who already have game development experience.
What in the world did Justine see before Cosmopolitan? Maybe debugging tech? An interest in creating her own libc and understanding syscalls? Just fascinating.
by mgaunard on 10/24/22, 4:06 AM
by myuzio on 10/25/22, 8:14 PM
This reminds me a little bit about how "Wine" works, but because the support doesn't involve "everything an OS has to provide" the footprint is smaller.
by a-dub on 10/24/22, 5:26 AM
by gavinray on 10/24/22, 3:32 PM
Can you use similar features with C++ development?
by saagarjha on 10/24/22, 2:30 AM
by renox on 10/24/22, 7:11 PM