Live data from Hacker News

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

cindori.com

1–10 of 57 posts

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

#1
Hi HN, I'm Oskar, a solo indie Mac developer from Sweden. For those in the Mac community, you might know me from my other apps like Sensei and Trim Enabler.

For years, I've been frustrated by the lack of customisation of macOS. In particular the Lock Screen which supports animated wallpapers, but only ones provided by Apple. There's never been a way to add your own personal videos.

I decided to figure out how to solve this, and the result is Backdrop 2.0. Backdrop is my Live Wallpaper app for Mac, it can play video wallpapers on your desktop. And now it can play on your Lock Screen too.

The core technical challenge, as you can imagine, came from trying to do something that Apple otherwise does not allow. However, through extensive reverse engineering of the macOS wallpaper system, I figured out a way to provide Backdrop wallpapers to the system in a way that allows them to play on the lock screen, and even appear in a custom section in System Settings.

I'm here all day to answer any questions—especially about the reverse engineering process, the challenges of integrating with macOS, or the experience of being an indie Mac developer.

Would love to hear your thoughts and feedback.

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

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

#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 are always on but I've grown to like it over the years and would like to try something on mac but would hate to purchase software that stops working or future update comes with a readme of how to "re-enable" it.

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

#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

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

#4
Hi Oskar - I'd love to propose a product idea to you, i'd love to buy something like this or the Mac if it were available. I had this on my linux laptop (https://man.archlinux.org/man/xtrlock.1.en) but it is surprisingly difficult to find for Macs -- something that locks the computer but still allows you to see the screen. This would be ideal for log windows, dashboards, etc.

Separately, if there is something like this already from a reputable MacOS appstore ecosystem i'd appreciate knowing about it from anyone.

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

#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 act as if this video is the right video and use it without complaints. Until apple starts doing any checksum checks on these files I doubt this method will break anytime soon.

This has been working flawlessly for me for a while now.

This may take some finagling to make sure that your video file is not so large that your Mac can't handle it and that you are using the right format. But it is not hard to do.

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

#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 usually most software is configurable enough that I don't need too.

On OSX, I feel like I'm helpless. I've found very little people writing about their experiences, the tools they use, their workflows, the reverse engineered data structures etc. Can you share how you approached this?

The fact that title bars on OSX aren't a fixed size drives me crazy every single day. I looked into it briefly and realized somehow everything I know about other platforms is basically useless.

[0] https://windhawk.net/

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

#7
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.

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

#8
The nice thing about an walled garden OS is it functions beautifully, as those in control restrict everything. Only the most trusted programs receive limited control of the OS.

The bad thing about an walled garden OS is you can't change your wallpaper without breaking the rules.

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

#9
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 own. You could probably tweak NSWindow instances to bring back the standard chrome, but it’s going to look strange since it’ll show in addition to the custom chrome.

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

#10

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 in order to get the Linux desktop I’d want, customization of existing desktops isn’t nearly enough. I’d need to write my own DE, because all of the existing options are just too far diverged from the desired end result.

I’m sure there’s others sticking to macOS on their primary machines for that reason.

Post reply on HN