HNHacker News
TopNewBestAskShowJobs

bbayles

1,191 karma · joined January 8, 2015

32bits.substack.com
submissionscomments
bbayles··on Using Ghidra and Python to reverse engineer Ecco the Dolphin
It really is a game with a strange mix of aesthetics. Blue skies and bright colors in the early levels; suspense and dread and supernatural stuff in the later levels.

Another Ed Annunziata game called Three Dirty Dwarves is also stylistically unique.

bbayles··on Using Ghidra and Python to reverse engineer Ecco the Dolphin
Yeah, exactly! I took a couple memory snapshots of the name "AAA" and then threw out all of the addresses that had values that didn't match the first snapshot. Then I changed it to "BBB" and threw out all the addresses that did match.

There's a program called Cheat Engine that can make this a point and click thing; that's usually how people find GameShark-style codes.

bbayles··on Notepad++ is 21 years old
I've used Geany for 10+ years on Linux and Mac. Very similar to Notepad++!
bbayles··on PC Floppy Copy Protection: Formaster Copy-Lock
I've been having some fun lately reverse engineering the "password" systems that some console games used prior to memory cards and backup RAM.

Some are very straightforward - just an encoding of which level you were on, your score, etc.

Others are that plus a halfhearted checksum, or an actual standard CRC checksum.

Still others are these elaborate obfuscation schemes with encryption using a fixed key, then scrambling, then a checksum.

My favorite so far: ThunderStrike 2 does a few things, and one of them XORs your input with the string "NOSEY GIT". I took it to mean the original programmer was chiding me for trying to cheat at the game.

bbayles··on Some thoughts on OpenSSH 9.8's PerSourcePenalties feature
How about a service that lets bruteforcers "in" after some number of failed attempts, but what they get is just a fake command prompt that accepts all of their commands? I'm sure hackers would eventually adapt, but it would annoy them for a while.
bbayles··on The Right Kind of Stubborn
The story you're thinking of is about Leonhard Euler, though it may not have actually happened (see Wikipedia on Euler).
bbayles··on Supreme Court overturns 40-year-old "Chevron deference" doctrine
What did they do prior to 1984?
bbayles··on The Microsoft Excel superstars throw down in Vegas
I had a coworker who could really Go Fast in Excel, and by watching him, learned enough tricks to be able to impress onlookers by flying through computations with keyboard shortcuts.

From my perspective, it's gotten harder to use spreadsheet programs efficiently with each new version - the keyboard shortcuts collide more, and everything moving to Office 365 / Google Docs / etc. has made the available tools less powerful.

bbayles··on Hacker confirms access through infostealer infection [withdrawn]
It's also possible that the firm is being trolled by the "threat actor."
bbayles··on Hacker confirms access through infostealer infection [withdrawn]
The screenshots of the chat logs are really something. This firm claims to be in communication with the actual criminal, and the actual criminal says that using their firm would have helped prevent the breach.

I have updated my sense of the firm's trustworthiness accordingly.

bbayles··on Reversing Choplifter
I love doing this kind of stuff - it's endlessly engrossing to me. Lately I've been trying to find previously undiscovered cheat codes in 1990s console games - there are lots that never made it into the magazines! (Findings are on 32bits.substack.com).

The availability of the Ghidra reverse engineering tool suite, has made this a very accessible hobby if you have any sort of knowledge of low level languages.

bbayles··on Under the Microscope: Three Dirty Dwarves
There's a Saturn game called Thunderhawk II that has a password system. Part of it includes XORing one of the buffers with the string "NOSEY GIT", which I took to mean they were chiding me for trying to snoop on the system.

To their credit, I couldn't figure it out!

bbayles··on Under the Microscope: Three Dirty Dwarves
There are lots of cool things like this to discover in Sega Saturn games, in large part because people are intimidated by the notoriously difficult SH-2 assembly language.

However, the Saturn surprisingly has really good tools for reverse engineering. There is a very good save state loader for Ghidra, and the Mednafen debugger allows for on-the-fly memory editing.

With these methods I also found a cheat code for Clockwork Knight 2 that grants access to the entire first game! Somehow that was secret for decades.

bbayles··on Telecom Industry Is Mad Because the FCC Might Examine High Broadband Prices
The headline makes me raise my eyebrows. We're deriving "mad" from this anodyne statement?

> The NOI’s undue focus on affordability—or pricing—is particularly inappropriate.

The linked ArsTechnica article describes this as a "tizzy."

Nobody likes cable providers, sure, but I don't think this justifies all this editorializing and projection.

bbayles··on FPGAs and the renaissance of retro hardware
I've been writing up my findings here: https://32bits.substack.com/

So far I've focused on the Sega Saturn because it is notorious for having a difficult-to-understand assembly language (SH-2). That means there are lots of things to discover, because people haven't really looked yet!

bbayles··on FPGAs and the renaissance of retro hardware
I wanted to learn how to use Ghidra for reverse engineering binaries. The thing that allowed me to really improve with it was using it to analyze old video games that I played as a kid in the 1990s. Finding previously-unknown cheat codes, coming up with improvement patches, and figuring out how they work is very motivating!

I'm happy that these retro hardware projects are working out; I've liked seeing people test out what I've found in Ghidra on real systems.

bbayles··on The Python Sofware Foundation Receives Wonderfully Welcoming Award from GitHub
I have mixed feelings about how "welcoming" PSF is for new contributors. On the one hand, I've managed to get a number of enhancements into CPython. On the other hand, I've fixed small longstanding issues (e.g. to docs) and had the change requests languish for years.
bbayles··on Splunk to cut workforce by 7% after cisco deal
For a contrary perspective, this wasn't my experience with being acquired by Cisco. I had my issues with the process, but I felt well-treated throughout and was never lied to.
bbayles··on Warner Bros. CFO Thinks You Deadbeats Have Been on a Free Ride for Way Too Long
Looking past the editorializing, here's the actual quote from the CFO:

> For a decade, in streaming, an enormously valuable amount of quality content has been given away well below fair market value, and I think that’s in the process of being corrected.

He did not say anything about deadbeats, free rides, etc.

I think it's valid to say that the streaming services have been focused on growth rather than profits for the past several years, and that's changing as the era of cheap money ends.

bbayles··on When URL parsers disagree
WHATWG rejects ".://", yeah? It's not the most readable spec, but there's a tester here: https://jsdom.github.io/whatwg-url/

I recently published bindings for ada (an implementation of the WHATWG URL Spec) for Python with the hope of having something that follows a single standard.

bbayles··on Big effort needed on UK diet to fight ultra-processed food, say health experts
For a contrary perspective, see Stuart Ritchie's and Tom Chivers's episode on UPFs: https://www.thestudiesshowpod.com/p/episode-6-ultra-processe...
bbayles··on Journalists should be skeptical of all sources including scientists
Is the idea that they believed it was plausible before writing the paper, became convinced it was implausible during the writing, and then later switched back to plausible?
bbayles··on Journalists should be skeptical of all sources including scientists
> It should matter, a lot, that even a group of scientists who believed a lab leak idea was plausible couldn't muster up an argument that would hold up under peer review

I think Nate would say that the problem is that the paper literally said that such a scenario was "implausible" while the authors believed the opposite.

In the "more studies are needed" section, the authors could have explained what questions remained and what data might have resolved them. I suspect Silver would have considered that more honest.

bbayles··on UK: Food inflation rises to 18.2% as it hits highest rate in over 45 years
Let's check this empirically. Which cartel-like brands are publicly traded and publish financial reports? We can look at their profit margins next quarter.
bbayles··on Our reality may be a sum of all possible realities
For a contrary perspective, see https://www.math.columbia.edu/~woit/wordpress/?p=13367
bbayles··on Ask HN: Concepts that clicked only years after you first encountered them?
Here's something to think about: suppose you buy an assortment of candy from the grocery store and distribute a uniform collection of pieces to a room full of middle school students.

Some students will like the sour candy; others won't. Some will like coconut; others won't. Some will love nuts; others will hate them.

Now you let the students talk to each other and trade candy. The ones who like sour candy but hate coconut will trade with the students with the opposite preference, and so on.

At the end of the trades, everybody is happier with their new bundle - why would they have traded otherwise? So value has increased. But this is magic - no new candy was produced! Through trade we have increased overall value - the exercise was positive sum.

With some effort you can see that a middle man might add value by expediting trades - connecting people who like coconut with people who hate it (suppose there are thousands of students in the class who all speak different languages).

And you can see how fiat currency might make things easier. Rather than having to come up with the barter value of coconut candy and sour candy to nuts, you can convert both to a single unit and then trade units.

bbayles··on Exec who cleaned up Enron calls FTX mess 'unprecedented'
I don't really doubt that he's right about this, but doesn't he have a pretty big incentive to play up how bad the mess is? If he successfully unwinds it then he looks like a genius. If he can't do it, we can't blame him, because it was worse than anything anybody had ever seen.
bbayles··on Congratulations: We now have opinions on your open source contributions
FWIW, I also maintain a "critical" package, and I'm happy that the index is requiring 2FA for it.
bbayles··on We fixed f-string typos in popular Python repos
The first is better also because you can do things with loggers other than print out their contents. For example, suppose you had a statement like:

    logger.debug('Database error: %s', error_message)
You probably have a logging handler that did the normal string. But you can also have one that keeps a count of how many `Database error: %s` hits there are (as opposed to `Network error: %s`) there are over time. Doing the string substitution would break this aggregation.
bbayles··on How Is Python 2 Supported in Red Hat Enterprise Linux After 2020?
Something to consider: there hasn't been a great way to get Python 3 on RHEL / CentOS until this year. The IUS repo is an option, but it makes distributing a Python 3 package difficult: you have to get EPEL installed, then IUS, then you can finally get your own package in.

I'm happy to be able to drop Python 2 support in my projects, but I've had to hold off on some of them that run on RHEL / CentOS.

← PreviousPage 2 of 4Next →