Live data from Hacker News

Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

cindori.com

11–20 of 57 posts

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#11
post #2

> The core technical challenge, as you can imagine, came from trying to do something that Apple otherwise does not allow I think the main question most would ask is what affordances can you give or details you can share to prove that this will continue working in future versions of the os since the foundations seem brittle. I use Wallpaper Engine on windows for one purpose mostly to avoid burn in since my monitors ar…

That’s totally valid. In the end, all apps on Apple platforms exist at the liberty of Apple. I have several friends who’ve seen their app stop working on Tahoe or previous macOS due to subtle changes in the SDK or the OS.

I think Backdrop fills a specific need that Apple does not want to cover, much like other utility apps like Bartender etc. It will likely require continuous updates, but I’m not new to that, having supported my Trim Enabler utility all the way from OS X Leopard to current macOS.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#12
post #6

What's reverse engineering like on a Mac? Have you ever written about it? I had a lot of experience reverse engineering things on windows (win32 + x86, before 64bit was a thing) using OllyDbg and patching binaries and/or (ab)using dlls. If I had to use windows again and wanted to customize something, I'd probably use windhawk nowadays [0]. On Linux, I can just compile software myself if I need to make changes. But us…

> The fact that title bars on OSX aren't a fixed size drives me crazy every single day. Are you talking about standalone titlebars or are you including merged/unified titlebars+toolbars? Plain titlebars have a single height and merged unified toolbars have a little bit of variance but not a lot. Any significant variance beyond those is due to third party developers hiding the standard window chrome and drawing their…

I am so uneducated that I cannot even answer your question properly. But for example, the default terminal in OSX has a really nice thin bar. VSCode/Cursor have a _slightly_ thicker one. Google Chrome and Firefox are huge. The red/yellow/green buttons also don't have a consistent position between those applications.

Do you happen to know which are custom chrome and which are "unified"? It didn't occur to me that other programs could be drawing their own chrome, since they look _mostly_ native(at least to me). On windows, if something was using custom stuff it would just look completely different (i.e winamp).

I guess part of the problem is that I've never done native OSX development, so I don't know what the APIs or native toolkits are like.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#14
post #12

Earlier quoted context omitted.

> The fact that title bars on OSX aren't a fixed size drives me crazy every single day. Are you talking about standalone titlebars or are you including merged/unified titlebars+toolbars? Plain titlebars have a single height and merged unified toolbars have a little bit of variance but not a lot. Any significant variance beyond those is due to third party developers hiding the standard window chrome and drawing their…

I am so uneducated that I cannot even answer your question properly. But for example, the default terminal in OSX has a really nice thin bar. VSCode/Cursor have a _slightly_ thicker one. Google Chrome and Firefox are huge. The red/yellow/green buttons also don't have a consistent position between those applications. Do you happen to know which are custom chrome and which are "unified"? It didn't occur to me that othe…

Safari is one example of a native AppKit “unified” titlebar+toolbar, as is the Finder.

And yep, all those listed (VS Code/Cursor, Chrome, and Firefox) are examples of fully custom third party window chrome, which is why they’re so variable. A lot of cross-platform software does this. It’s worth noting that Firefox at least lets you toggle on the standard titlebar — right click the toolbar, click “Customize Toolbar…”, and toggle the “Title Bar” checkbox in the bottom left corner.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#15

If you're going through so much trouble to reverse engineer macOS to customize it in a non-standard way, why even bother staying in the Apple walled prison. Why not just use Linux at that point? You can customize it to your heart's desire.

Because there is nobody who makes linux devices of equal battery life and performance to macbooks, nor does linux wake up from sleep as reliably.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#16
post #5

Worth mentioning that if you want a free way to do this that does not require running additional software. All you have to do is have a video you want to use, download one of apple's through settings, go to the location of the downloaded background (I don't remember where that is right now but a quick google search would take care of this), rename your file to the name of apple's file and then replace it. Mac will ac…

I think you will find that if you try to do that, it will actually not work properly. Visiting the lock screen repeatedly will eventually crash the wallpaper extension, producing a black screen. And updating macOS will reset all your wallpapers.

Backdrop uses a more advanced approach that ensures that it works seamlessly across reboots and macOS updates.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#18
post #6

What's reverse engineering like on a Mac? Have you ever written about it? I had a lot of experience reverse engineering things on windows (win32 + x86, before 64bit was a thing) using OllyDbg and patching binaries and/or (ab)using dlls. If I had to use windows again and wanted to customize something, I'd probably use windhawk nowadays [0]. On Linux, I can just compile software myself if I need to make changes. But us…

Here is my 2 cents:

You can run these days macOS as a virtual machine. I have some experience reverse engineering iMessage. Here I only needed to look into the network requests with some SSL pinning removal.

There are some decompiled libraries of Apple's libraries so it helps. Many tried to reverse engineer macOS/iOS before so there is a helpful amount of knowledge out.

I think the best way is just to open up a decompiler program and just start RE. The decompiled source code contains some metadata such as function names so it is readable.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#19
post #3

Hi Oskar, I'm a big fan of TrimEnabler since my Hackintosh days. Sensei looks great but since I already have iStat and thought buying another status menu app would be redundant. But I admire the way it looks. Does the fact that Backdrop reverse engineers the lockscreen mean that it will never come to the App Store? And where can you pull

Thanks! I don't publish any of my apps on the App Store. Partly because I want the creative freedom that publishing independently provides, but also because I don't want arbitrary decisions from unknown reviewers to risk ruining my business, and prevent my users from accessing their purchases.

Re: Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

#20
What were some of the technical challenges you experienced while reverse-engineering the wallpaper system? I've been reverse-engineering (for lack of a better term) some of macOS' and Xcode's poorly-documented functionality prototyping a personal developer tool. My investigation isn't sophisticated by any means; it's just been trial-and-error, but I haven't found much online in the way of resources for people going down this route.
Post reply on HN