HNHacker News
TopNewBestAskShowJobs

strstr

1,081 karma · joined December 18, 2011

submissionscomments
strstr··on Reversing Factorio's RNG
From the article:

> Sampling the current RNG through observations,

> Computing the current internal RNG state,

> Predicting the future internal states,

> Calculating corresponding quality levels for each future call, and finally

> Making use of the predicted levels with some adapters.

The entropy->seeds (internal RNG state) step took more math of course. Frankly, I wouldn’t be surprised if they could have extracted the seeds without the math with a bit of RE and memory inspection.

The version I did wasn’t predicting quality of course, it was predicting tie breakers

strstr··on Reversing Factorio's RNG
I did an easier version of this in my college intro class. There was a class competition that involved rock paper scissors as a subcomponent, and ties were broken with randomness. You could rig Java’s prng so you would win all ties.

The prng was seeded with usec time at first call. I called the rng a bunch of times to harvest entropy, and scanned the plausible usec times to find the seed. Then I primed the prng so I would win ties.

Frankly, I assume I implemented this wrong, but the theory was there lol.

strstr··on Most people prefer traditional architecture
I always like to look at the windows for these “more attractive” buildings. They always lead me to believe the indoor experience is worse in some way. Either cramped or similar. Sometimes they imply a dark windowless rooms. Generally, they seem like they prioritize the appearance of the building over the experience of being inside the building, which is unambiguously the more important part of the building.

The funny one is the buildings that have better landscaping. A few of the buildings in the post only look attractive as a consequence of the green courtyard in front. If you cover up that part of the photo, they just don’t look as stunning compared to the other. Perhaps that’s an argument for traditional courtyards (fair enough), but it doesn’t imply the need for traditional building construction.

strstr··on Remote Attestation
(I’ll bite and try to steelman) How does a typical user verify that they are running the intended secure software?
strstr··on A software engineering interview question I like: computing the median
You can definitely do this without sorting.

QuickSelect is average case n, and is, roughly, quick sort where you throw away one of the sides each time and recurse on the other. This has a fat tail for cases where you pick a bad pivot (similar to quicksort), but you can median-of-medians your way out of that problem if someone cares. (Median of medians being where you subdivide the array into, say, 5 arrays, recursively compute the median on those, and pick the middle median as your pivot, which guarantees linear progress per iteration)

strstr··on A software engineering interview question I like: computing the median
I used to translate classic interview questions into not-spoiled-on-the-internet ones by doing this kind of batch to incremental conversion. The count-the-islands one was fun but hard to fit into a 45minute interview.

Eventually most of those started getting spoiled too lol.

strstr··on A software engineering interview question I like: computing the median
Who does a sort for this D:
strstr··on [dead]
Title: Android 17 is here
strstr··on Sergey Brin told Google staff that working 60 hours a week is the 'sweet spot'
[2025]
strstr··on Investigating Split Locks on x86-64
Split locks are weird. It’s never been obvious to me why you’d want to do them unless you are on a small core count system. When split lock detection rolled out for linux, it massacred perf for some games (which were probably min-maxing single core perf and didn’t care about noisy neighbor effects).

Frankly, I’m surprised split lock detection is enabled anywhere outside of multi-tenant clouds.

strstr··on The AI Vampire
Popular blogger from roughly a decade ago. His rants were frequently cited early in my career. I think he’s fallen off in popularity substantially since.
strstr··on List animals until failure
This is more of a typing game than anything else. It rejected “blackcapped chickadee” (wanted black-capped chickadee). Frankly that felt a bit tedious on a phone. Had to scrub through to correct and lost.
strstr··on The chess bot on Delta Air Lines will destroy you (2024) [video]
My suspicion is that the bot was a fairly standard chess bot, but the difficulties were set based on computation time. As airplane computers got better, it turned into a beast.

As a result, if you tried this on older planes, it might have been “easier”

strstr··on Gemini 3 Flash: Frontier intelligence built for speed
For my personal usage of ai-studio, I had to use autohotkey to record and replay my mouse deleting my old chats. I thought about cooking up a browser extension, but never got around to it.
strstr··on LG TV's new software update installed MS Copilot, which cannot be deleted
How much are my eyeballs worth over the lifetime of a TV?

In the race to the bottom, ads will outcompete others by pushing price lower. But how much lower?

strstr··on Google CTF 2025 – webz : Exploiting zlib's Huffman Code Table
Legitimately, they are often too hard. Balancing the problems is quite challenging.

On top of that, the solutions often make the problems seem much intimidating than they are (not that they are easy). Most solutions involve a lot of “happenstance”, where someone tried something and it got an outcome that was useful, which they build on top of. This makes the solutions look crazy complicated (“how would i have ever thought of this!?”), when in reality they are Rube Goldberg machines built out of duct tape and baling wire.

I’ve only solved a few Google CTF problems, and one of them was the one I wrote, lol. That was nearly a decade ago though.

strstr··on AMD Turin PSP binaries analysis from open-source firmware perspective
Fair enough! Just happens to be the one of two I need to read
strstr··on AMD Turin PSP binaries analysis from open-source firmware perspective
Source for the ASP firmware is at https://github.com/amd/AMD-ASPFW.

It has a number of gaps, but it is mostly there. It doesn't build, it doesn't have source for some of the service calls iirc (SVC_.*), and the AGESA source isn't open (though a replacement is in progress, openSIL).

strstr··on Secure Boot, TPM and Anti-Cheat Engines
In practice, it’s essentially infeasible to make a non-detectable virtualization stack. Timing is really really hard to match (as is everything else). You can edit the binary that’s doing the detection, but this is time consuming. Every new feature they push costs you time and will poison your hardware id.

You can go further by, say, requiring fTPMs that are on the SoC (super common these days for most recent consumer CPUs). If you can’t boot into linux without the PCRs reflecting your virtualization stack being in the boot chain, you’re cheat is quite detectable.

strstr··on Secure Boot, TPM and Anti-Cheat Engines
That’s not intended to be possible for any reasonable TPM with a trustworthy ekcert.
strstr··on Secure Boot, TPM and Anti-Cheat Engines
Allegedly some of the anticheats are configuring the IOMMU through Windows APIs (vanguard, faceit, and a smattering of chinese anticheats). It’s hard to find good public information though. They do some mix of blocking access and deliberately leaving some pages as bait (and monitoring iommu d-bits/faults)
strstr··on Secure Boot, TPM and Anti-Cheat Engines
Cheating will slowly look more and more like trying to hack your own machine.

Secure Boot+TPM combined with decent firmware will make cheating a lot harder. If the firmware ensures random devices don’t get BME set before the IOMMU is properly, attestably, configured, you are basically now stuck looking for bugs in the TPM and UEFI if you want to shove yourself beneath the OS unnoticed. These are full of bugs, so that will work for a while, until it doesn’t.

Popping windows will probably work for some time, but HVCI will make this a pain once ubiquitously required.

And you have to do all of this while also not being detected for aberrant behavior. Eventually, the analog hole might end up being easier, lol.

strstr··on The Chrome VRP Panel has decided to award $250k for this report
“ Default disclosure for this issue is 11 August. Opening this issue just five days early for visibility this particular week. :)”

Hello Defcon!

strstr··on Secure boot certificate rollover is real but probably won't hurt you
With the default key hierarchies, the benefit is more limited. It raises the bar. Implementing known vulnerabilities takes work. And not ever configuration is vulnerable to every issue. And, for a lot of the vulns, the OS vendor shoves things in the dbx to mitigate.

With custom hierarchies, it's a bit more compelling. But it's a lot of work to maintain.

strstr··on The Reverse Turing Test Game
Tried cheating with Gemini 2.5 pro, and I became even more suspicious to the AIs than the stuff I cooked up by hand.

Most of my actual success relied on mentioning a desire to train an even larger model.

strstr··on Simulated Economy Tutorial
The most interesting toy economy I’ve seen has been d2jsp and its “forum gold”. Forum gold is primarily used as a fiat currency for diablo 2 trading. It’s a janky digital currency on a janky forum from like 20ish years ago, that’s still alive today. You can technically buy the currency from the forum, but in practice few do that. Most people just trade items to bootstrap.

Having futzed with bartering in diablo (and non-fiat trading denominated in items of stable value), I quickly came to appreciate fiat currency. Being able to combine two “half trades” into an equivalent barter exchange is vastly easier.

At one point I was able to trade some of the forum gold I accumulated from diablo 2 for a “perfect IV foreign Ditto” for shiny pokemon breeding.

strstr··on MCP server for Ghidra
Had the same experience. Took the janky decompilation from ghidra, and it was able to name parameters and functions. Even figured out the game based on a single name in a string. Based in my read of the labeled decompilation, it seemed largely correct. And definitely a lot faster than me.

Even if I weren’t to rely on it 100% it was definitely a great draft pass over the functions.

strstr··on Gemini 2.5
Ooof, it failed my "Wheel of Potential" bug finding question, and got aggressive about asserting it was correct.
strstr··on Gemini 2.5
It's a lot better at my standard benchmark "Magic: The Gathering" rules puzzles. Gets the answers right (both the outcome and rationale).
strstr··on Magnesium Self-Experiments
We tell them: HELL NO. You’re about to become a magnesium-based lifeform. The age of the primitive carbon-man is done.
Page 1 of 9Next →