5

Back in 1993, I was taking a number theory class, and there was a semester-long...

 3 years ago
source link: https://twitter.com/EricLengyel/status/1389106103179378689
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Don’t miss what’s happening
People on Twitter are the first to know.

Thread

See new Tweets

Conversation

Back in 1993, I was taking a number theory class, and there was a semester-long factorization contest that we could participate in. I implemented a distributed multiple polynomial quadratic sieve (MPQS) for the Mac, and I needed a cluster of computers to run it on.
Replying to
The computer lab in the math building had a bunch of Mac Centris 650s on an AppleTalk network. But they were running some kind of secure software that didn't give you access to the Finder, only specific software, so I couldn't pop in a disk and run my own programs.
You can see in this picture that the Centris had two little buttons on the front. One was a reset button, and the other generated a non-maskable interrupt (NMI). If Macsbug was installed, the NMI button froze everything and dropped you into the system debugger.
Image
If no debugger was installed, then the NMI button brought up a small system monitor window. It was extremely basic and didn't do much more than let you look at raw memory and, importantly, let you poke new byte values into memory at arbitrary addresses.
On my own computer, I wrote a tiny program that would display the system file picker and execute whatever file was chosen. I printed out the machine code for that program and brought it with me to the lab. It was only a few dozen 8-bit hex values.
I could enter that program in the system monitor, but I needed a way to run it. The Mac had several hooks (function pointers) at fixed low-memory addresses, and one of them was a callback that would be repeatedly invoked as the user was dragging something in the GUI.
So I put my program's address into that hook, exited the monitor, and dragged a scroll bar indicator somewhere. Bam! The system file picker appears. I navigate to the Finder program, select it, and click Open. The Finder launches, and I have full access to the computer.
I repeated this on about 15 computers and loaded my MPQS program on each of them. About half the lab was now running a distributed factorization algorithm controlled by a central host over the network, and the whole thing actually got results!
On these computers, I could factor a general number with around 70 decimal digits in a reasonable amount of time (like overnight). And yes, I won the contest.
Replying to
Many of my tweets start off this same way. . .
Replying to
Sheesh .. my best college story starts off with, 'so we needed a way to do file sharing across the college LAN network'...
How long did it take you to come up with this hack?
New to Twitter?
Sign up now to get your own personalized timeline!
Relevant people
PhD/CS. Gamedev & math author. Creator of , , , http://opengex.org. Former Naughty Dog, Apple, Sierra.

Trending now

Trends for you
Trending in South Korea
한강 실종 대학생
12K Tweets
Trending in South Korea
유진과유진
3,540 Tweets
Trending in South Korea
공룡 ABC
49.1K Tweets
Trending in South Korea
1,230 Tweets
Trending in South Korea
1,061 Tweets
Show more

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK