8 ms·
what does it mean "jailbreaking" a gadget, esp a PS5? noob here.
by vario 4y ago
what does it mean "jailbreaking" a gadget, esp a PS5? noob here.
- dewey 4y agoUsually that you can then run custom code, or by extension sometimes pirated software.
- vario 4y ago
- alienchow 4y agoBased on prior works, I assume it means you can access the PS5 root. i.e. you can run anything you want on a jail broken PS5 as opposed to just what Sony wants you to run.
- vario 4y ago
- kristofferR 4y agoI was unfamiliar with the term gadget in this context too, it seems to refer to an exploitation technique to bypass ASLR: https://ctf101.org/binary-exploitation/return-oriented-programming/#:~:text=to%20do%20this%2C%20we'll%20use%20small%20snippets%20of%20assembly%20in%20the%20binary%2C%20called%20%22gadgets.%22%20these%20gadgets%20usually%20pop%20one%20or%20more%20registers%20off%20of%20the%20stack%2C%20and%20then%20call%20ret%2C%20which%20allows%20us%20to%20chain%20them%20together%20by%20making%20a%20large%20fake%20call%20stack https://ctf101.org/binary-exploitation/return-oriented-progr.... https://trustfoundry.net/2019/07/18/basic-rop-techniques-and-tricks-2/ https://trustfoundry.net/2019/07/18/basic-rop-techniques-and...
- deleted 4y ago[deleted]
- ethbr0 4y agoOf the top of my head (not my primary space), a gadget is a piece of code at a known or guessable location that provides specific functionality. This is important as modern no-execute et al. prevent you from simply dumping arbitrary code into memory and running it. Consequently, modern exploits tend to look like: (1) figure out how memory is laid out, or close enough, (2) calculate where a useful function is, that you can call with arbitrary parameters (aka a gadget), (3) abuse that function to do your bidding by controlling its parameters and the instruction pointer. (2) gets around your inability to write + execute code directly, because the system is by definition already set up to allow built-in code to execute. And that built-in code generally does lots of useful things (like reading and writing memory). ASLR makes (1) harder, but fundamental efficiency reasons at the operating system code level mean than usually "everything" isn't fully randomized.
- _kbh_ 4y ago> Of the top of my head (not my primary space), a gadget is a piece of code at a known or guessable location that provides specific functionality. > Consequently, modern exploits tend to look like: (1) figure out how memory is laid out, or close enough, (2) calculate where a useful function is, that you can call with arbitrary parameters (aka a gadget), (3) abuse that function to do your bidding by controlling its parameters and the instruction pointer. This is all correct, but generally a gadget is what a snippet of assembly / machine code that you call to get the CPU into a state to call a function. So its less a function and more a set of instructions (anywhere) that are useful. So for example, you might have a gadget to set specific registers with values off the stack so you can call malloc with the correct size, etc.
- ethbr0 4y agoThanks for the clarification! I figure if someone is curious enough + looks up links on their own, giving them a good answer is only fair. :)
- P5fRxh5kUvp2th 4y agoWell back in my day ... slips in dentures* a gadget was just a generic thing you played around with and did a thing. Now get the hell off my lawn you whippersnappers, before I throw my teef at you.
- mikepurvis 4y agoI don't know if this is intentional, but my brain has always connected the word back to the codename used for the nuclear bomb research being done during WWII: https://en.wikipedia.org/wiki/Gadget_(disambiguation)#Science https://en.wikipedia.org/wiki/Gadget_(disambiguation)#Scienc... The idea being that a code "gadget" is something similarly small and innocuous-looking that turns out to have far, far more powerful effects than anyone would guess just by looking at it.
- vario 4y ago
- Ruq 4y agoIt comes from the idea that certain products are "locked down" to where you cannot do anything else with it but what the manufacturer provisions. Jailbreaking means you gain complete control over the device, so that you can do anything else you want with it. I believe the term either originally came from, or was at least popularized by people wanting to escape Apple's "walled garden", which is also viewed by some as a jail.
- vario 4y ago
- matheusmoreira 4y agoThe PS5 is not actually yours, it belongs to Sony. They're just generously allowing you to use it to run very specific software you have licensed. They own the keys to the machine and they determine what you can do with it. Actually calling it a computer is an insult to the term, it's more like a video game playing appliance that happens to contain a computer inside. Jailbreaking means taking control. It means unlocking the computer within so that it becomes a true general purpose computer. It means being able to run your own software, not just what they approve. It means being able to circumvent their DRM if you want.
- vario 4y agoThank you for the eloquent explanation. Although, I don't like the idea of paying for a gadget and still not being able to truly own it.
- matheusmoreira 4y agoYeah, I don't like it either but it's the future we're heading towards. Feels hopeless.
- noirscape 4y agoGaining arbitrary code execution. Modern game consoles (but lots of other devices, including Apple's iOS, which used to have one of the most restrictive environments to develop applications on - it's slightly better these day - as well) restrict the sort of code you're allowed to run on it to only what the manufacturer allows you to run. "Jailbreaking" in this context means that you can bypass those sorts of restrictions, with the implementation of what that entails differing per device. The alternate term you often hear used for this sort of hacking (and slightly older since it predates the iphone) is Homebrew.
- vario 4y ago