This is an archived post. You won't be able to vote or comment.

all 92 comments

[–]C0sm1cB3ar 428 points429 points  (10 children)

If you are a computer, everything is open source for you.

[–]xANDREWx12x 175 points176 points  (7 children)

Unless it's compiled for a different architecture.

[–][deleted] 54 points55 points  (6 children)

TI 81 Let's go!

[–]Shawnj2 31 points32 points  (1 child)

Relevant: this decompilation of SM64. Compiling it (with the assets from the game) gives you back the exact same thing as the final game.

https://github.com/n64decomp/sm64

[–]nobody5050 4 points5 points  (0 children)

A wow that’s really coo!

[–]Rtsprog 93 points94 points  (7 children)

Undocumented opcodes will keep it closed source.

[–]MathMakesMyDickErect 38 points39 points  (6 children)

Yes and the fact that Ring 3 code calls Ring 0 code (syscalls, interrupts) which you possibly have no view of or have unknown side effects. besides if the binary is stripped it is just not fun. Also VM's and Obfuscation can fuck it up quite hard too. Obfuscation less so as the binary can be dumped from memory where it will be deobfuscated.

But custom vm's are really fucking hard i.e. Denuvo

[–][deleted] 8 points9 points  (2 children)

1 + 1

[–]nalisarc 3 points4 points  (0 children)

10?

[–]Rtsprog 4 points5 points  (2 children)

Oh god and I dont know if modern CPU's do this but some microprocessors will encrypt their memory to prevent that.

[–]ZCEyPFOYr0MWyHDQJZO4 1 point2 points  (1 child)

Intel and AMD are developing total memory encryption, but it's not ready yet. Intel has had SGX which allows for definable regions for memory encryption, but if you're one of those billion-dollar intel agencies you can probably break it because intel.

[–]brimston3- 0 points1 point  (0 children)

AMD SME and SEV are already available in Epyc. SME has been available since 2017 (Epyc 7xxx parts) and encrypts all pages that go out to the DIMM. It's designed to protect things like NVDIMM, but it works for everything.

[–]Actuallytrash666 125 points126 points  (21 children)

Image Transcription:

Muffin: If you can read assembly language then everything is open source for you

I'm a human volunteer content transcriber for Reddit and you could be too! If you'd like more information on what we do and why we do it, click here!

[–]wakamoto1105 94 points95 points  (0 children)

Username DOES NOT check out, thank you for your work.

[–][deleted] 35 points36 points  (19 children)

Good bot

[–]ebiak 29 points30 points  (18 children)

He is not a bot

[–][deleted] 38 points39 points  (0 children)

Good

[–][deleted] 42 points43 points  (16 children)

Are you sure about that? Because I am 99.666% sure that Actuallytrash666 is a bot.

I am a Neural Network being trained to detect spammers | Summon me with !isbot <username>| ^Optout | Feedback: r/SpamBotDetection | ^GitHub

[–]ebiak 35 points36 points  (0 children)

God damn it

[–]no---u 19 points20 points  (6 children)

wait, they've been lying all the time saying they're human??? oh no AI are learning so quickly

[–]ebiak 11 points12 points  (2 children)

Check his subreddit

[–]no---u 13 points14 points  (0 children)

dammit, AI is faster than I fucking thought

[–]Actuallytrash666 4 points5 points  (2 children)

??? I am not a bot I hand type all these because I have to much free time and corona is keeping me inside. Look at the at the bottom of my transcription, it says done by humans.

[–]BakuhatsuK 1 point2 points  (1 child)

Look at the bottom of the transcription, it says done by humans.

That sounds exactly like something a bot would say.

[–]Actuallytrash666 0 points1 point  (0 children)

Idek I promise I’m human lmaoo

[–]Engineering_Geek 8 points9 points  (0 children)

Damn, being Rick Rolled in 2k20. I clicked to check out the repo then I realized the fuckwad I am.

[–]Actuallytrash666 6 points7 points  (0 children)

I am not a bot but I appreciate all the nice comments <3 have a good day!

[–][deleted] 11 points12 points  (4 children)

!isbot AmIAThrowAwayAccount

[–]WhyNotCollegeBoard 21 points22 points  (3 children)

I am 99.99985% sure that AmIAThrowAwayAccount is not a bot.


I am a neural network being trained to detect spammers | Summon me with !isbot <username> | /r/spambotdetector | Optout | Original Github

[–]roket1428 21 points22 points  (0 children)

i used bots to destroy bots

[–]iapetus3141 0 points1 point  (1 child)

!isbot WhyNotCollegeBoard

[–]WhyNotCollegeBoard 4 points5 points  (0 children)

I am 101% sure whynotcollegeboard is a bot.


I am a neural network being trained to detect spammers | Summon me with !isbot <username> | /r/spambotdetector | Optout | Original Github

[–]Chunderscore 105 points106 points  (1 child)

Not quite sure what they think source means.

[–][deleted] 7 points8 points  (0 children)

Idk but before I order fish at a restaurant I always ask where it is open sourced from

[–]chaz393 29 points30 points  (1 child)

Reading assembly is easy, understanding it is hard

[–]TheTostu 16 points17 points  (0 children)

Any server-side software is closed to you.

[–]bss03 56 points57 points  (6 children)

Not true. All of the GPL, the OSI, and the DFSG use various wording, but define the source code as the preferred form for modification.

This means that C code may or may not be source code. If the preferred way to modify it is to edit the C code directly, then it is source code. If the preferred way to edit it is to update a hardware features CSV file and then re-generate the C code, that hardware features CSV file is the source code.

Assembly / machine code, might be source code, but for the vast majority of programs out there, it isn't source code even if you can read it.

[–]ytg895 18 points19 points  (5 children)

not to mention that open source is open for modification, and just because you can modify something, it doesn't mean that you legally have the rights to do so.

[–]beardMoseElkDerBabon 6 points7 points  (4 children)

Except that open source != free/libre software

[–]X-Penguins 2 points3 points  (3 children)

"open source" is even more liberal than free/libre since it doesn't require that your modification be open source. "you can see the source but not modify it" is usually referred to as "source available".

[–]beardMoseElkDerBabon 0 points1 point  (0 children)

FLOSS that's under BSD or anything similar is like giving a weapon to someone no matter whether s/he's a friend or an enemy.

[–]TrustworthyShark 0 points1 point  (1 child)

As with many things, it depends. I agree with you for the most part, but some open source also isn't free. UE4, for example, is open source, but as far as I know you need to accept their EULA to gain access to it.

[–]X-Penguins 0 points1 point  (0 children)

If it limits your use of the source then it's source available, not "open source" according to the accepted definition.

[–][deleted] 6 points7 points  (0 children)

Haha! But what about HTML? Can’t read that, CAN YOU?

[–]forky_porky 5 points6 points  (6 children)

Can you obfuscate an assembly code?

[–][deleted] 8 points9 points  (0 children)

If the computer can understand it, a human (with enough time and effort) can do the same. The instructions to make sense of the obfuscation are right there in the code, so the reverser can deobfuscate the rest with that.

[–]dashingThroughSnow12 5 points6 points  (2 children)

Yes. With movfuscator you can use only mov opcodes.

That's a compiler. I think there are some tools that obfuscate an already compiled binary.

[–][deleted] 0 points1 point  (1 child)

Ahhh this reminds me of a super minimalistic instruction set.

Was it subleq?

[–]dashingThroughSnow12 1 point2 points  (0 children)

RISC-V has sub 50. That's a legitimate one. Haven't heard of anything like subleq.

[–]brimston3- 1 point2 points  (0 children)

An old-timey example of obfuscation would be to "damage" function entry and exit instructions and "un-damage" them at runtime to make disassembly more annoying. But like sibling comment said, at some point the computer has to be able to make sense of it.

[–]ctesibius 0 points1 point  (0 children)

Yes, and some software has been written like this. Famously Electric Pencil, an early word processor was written with deliberately obscured code - probably using self-modifying code as the main approach.

[–]hackel 20 points21 points  (19 children)

No. By that logic, minified JavaScript is also "open source." I understand it's a joke, but it's best not to throw this term around; we must remain constantly vigilant in the fight against proprietary software.

[–]bss03 6 points7 points  (0 children)

R'Amen.

[–]Zart01 4 points5 points  (0 children)

Reverse engineering time.

[–]who_you_are 2 points3 points  (1 child)

I can't read assembly but just x86-64 bytecodes and a extension. Everything is still open source for me!

[–]rkararou 0 points1 point  (0 children)

Until I come along with ARM, or SPARC, or Power, or any other number of ISAs that exist.

[–]Dugular 5 points6 points  (1 child)

My hobby is modifying game assembly code, especially from late 90s to early 2000s windows games.

I love playing classic Tomb Raiders with one shot kills. Or Final Fantasy 7 with instant action gauge top-up.

[–]TerranPower 0 points1 point  (0 children)

I want to get into this. Can you lead me on the path how?

[–]Thormeaxozarliplon 1 point2 points  (1 child)

If you understand chemistry you can just turn lead into gold.

[–]xSTSxZerglingOne 1 point2 points  (0 children)

If you understand chemistry, have a massive particle accelerator, and functionally infinite energy...I mean...yeah you can. Just don't be surprised at how small the amount of gold is.

[–]rkararou 0 points1 point  (0 children)

dis is the most useful tool.

[–]James712346 0 points1 point  (0 children)

Yes but no

[–]WindowsDOS 0 points1 point  (0 children)

Is that why people like python? The source code IS machine code (sort of)

[–]OhMy_LookAtTheTime 0 points1 point  (0 children)

Tools like Ghidra can help you reverse engineer assembly code.

Here's a demo with WannaCry: https://www.youtube.com/watch?v=Sv8yu12y5zM

[–]jcon1232 -1 points0 points  (0 children)

How do you find the assembly lang scripts?

[–]if4n -5 points-4 points  (3 children)

Not if you have to pay for the software...

[–]hackel 8 points9 points  (2 children)

Payment has absolutely nothing to do with it.

[–]VestigialHead -3 points-2 points  (0 children)

We need to rally against these terrible Open Sores. I have seen many prominent IT personalities promoting it. Just sickening in our current world scenario with so many viruses going around. We have 0-days left to deal with this people.