Recent submissions

Comment · 2 years ago
> Yes. The exporters can handle whatever meaningful address selection you can throw at them, including multiple disjoint ranges within the same section. So you can keep carving holes inside your selection until nothing remains of the original program.

Will this also work without painstakingly reversing things in the binary, say in the case of a giant game executable?

If possible, I would be very interested in a simple tutorial that takes an arbitrary Windows executable, delinks it and replaces a single function, without all the extra steps necessary to run it on the PS1.

It might even be preferable if it worked with MingW, since I'm on Linux as well.

Comment · 2 years ago
> As long as you do not cut across a variable or a function, you can export pretty much however you want, you don't have to follow the original object file boundaries.

Would it be possible to export basically the entire program at once and then slice off individual functions one by one?

Do you have any guides/examples of the

> Decompilation projects, by splitting a program into multiple object files and reimplementing these Ship of Theseus-style

style project?

Comment · 2 years ago
How much work is it to figure out which sections of the executable to export?

Would it be realistic to be able to export a modern-ish (2008-2015) Win32 game into objects and then compile/link it into a full executable again with less than a few hours work?

Comment · 3 years ago
> So ultimately, the borrow checker doesn’t seem worth it if you actually think about the cognitive overhead and headaches it brings.

You quite literally also have to "borrow check" C/C++ in order to have a well formed program, just without any compiler assistance.

Comment · 3 years ago
Surely the C++ surface area will also have increased significantly in the same span of time which means that Rust will still be ahead?
Comment · 4 years ago
Comment · 4 years ago
Comment · 4 years ago
> C having better support for pointers make it near to how the processor works, compared to other languages.

Java is almost entirely pointers to heap allocations, yet I don't think anyone would argue that Java is close to how the processor works.

I also don't think that the C virtual machine is all that close to how machines actually work any more.

Comment · 4 years ago
> Do you want criminal prosecution for actual harm, or for potential harm?

Do you only want DUI to be illegal if it results in an accident?

Comment · 4 years ago
> And how is these countries joining NATO benefiting the existing NATO members?

Stability in Europe. The west doesn't want refugees from whatever country Russia decided to invade this week to show up on their doorstep all the time, or the supply chain interruptions that happen when war constantly breaks out. You might remember that NATO arose almost immediately after World War 2 which had a rather negative effect on Europe and European influence in the world.

> Obviously, Russia has nothing more to lose given the sanctions, so, the only thing left is a direct NATO conforntation,

Russia has plenty more to lose. Namely every major European power and the US unloading all their armaments on Russian cities that are very close to the border.

> but it seems that the West is more afraid of such conflict than Putin, who believes that this is inevitable and that if you're faced with an inevitable flight, it's better to strike first.

This is an absolutely unrealistic take. Russia _can not_ win major combat against NATO in any shape or form. They couldn't do it with their made up propaganda army and they certainly can't do it with their actual army.

Comment · 4 years ago
> It all looks rosy now, but remember just a few years ago when Turkey shot down a Russian jet on the Syrian border and almost led to NATO involvement?

Remember when Russia invaded Ukraine and it didn't lead to NATO involvement? We have direct evidence that a European country can be attacked without NATO immediately jumping in to help. If Russia "only" wanted the Eastern "wilderness" of Finland, do you think the other European powers would immediately send in their own troops?

There's a reason that the smaller European countries that border Russia haven't been attacked and absorbed yet, and that's because they're NATO members.

Being a NATO member clearly has more upsides than downsides.

Comment · 4 years ago
Comment · 5 years ago
Comment · 5 years ago
Introducing a new keyword means that all existing code that uses the new keyword as an identifier will break. That's why the `constexpr` keyword is deliberately weird.

It's also why they reuse keywords like `using`.

Comment · 5 years ago
> She leaked a trove of internal research and communications showing the company was aware of the ills of its platforms, including the toxic risks of Instagram to some teenage girls' mental health and the prevalence of drug cartels and human traffickers on its apps.

Please read the article next time.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton