Back in the late 2000s, I was a major contributor to the Wii homebrew scene. At the time, I worked on software (people call them “jailbreaks” these days) to allow users to run their own unofficial apps on the Nintendo Wii. I was passionate about my work and the team I was part of (Team Twiizers, later fail0verflow). Despite that, I ended up burning out, primarily due to the very large fraction of entitled users.| marcan.st
A lot has been written about the Apple vs. FBI saga. However, the truth about exactly what it all means from a technical standpoint is scattered among many sources, amidst quite a bit of misinformation. This post is my attempt to provide, in a question and answer format, what I consider to be the current knowledge of the state of affairs, from the perspective of a security researcher. Very little of this is my own research.| marcan.st
Yesterday, early morning, I was working on a friend’s Windows PC. The plan was simple: migrate the Windows install from an HDD partition to a smaller SSD by freeing up space, running ntfsresize to shrink the partition down to something that fits on the SSD, and then dd-ing it over. I figured ntfsresize would be pretty safe and well-tested, since it’s used by pretty much every Linux distro installer to resize Windows partitions.| marcan.st
To say that my blog was gathering dust would be a bit of an understatement; the post before this one was written over 2 years ago. Part of the reason for the lack of updates has undoubtedly been laziness, but part of it was also that I’m not a huge fan of WordPress. Over the past few years I have been using static site generators like Hyde on other sites, and in particular I much prefer to write anything longer than a tweet in a text editor rather than web UI, and commit it to git instead o...| marcan.st
Euskal Encounter is Spain’s largest and oldest demoparty and LAN party. I have been an attendee since 2005, and part of the official volunteer event staff since 2011. The same organizing team also hosts two other smaller events: Gipuzkoa Encounter and Araba Encounter. At all three events I am the coordinator of the Free Software area and the chief BOFH of the local server infrastructure. Hack It / Solve It competition The Hack It is a hacking challenge where teams compete to solve a series ...| marcan.st
These are projects that I once started or significantly contributed to, but which these days are maintained by others. You may have been redirected from an obsolete page to here. usbmuxd I wrote the first Linux version of usbmuxd, a daemon that handles communications with iOS devices and which these days is installed on most desktop Ubuntu systems by default. These days, usbmuxd is maintained by the libimobiledevice team.| marcan.st
Check out the main OpenLase page here. Jeffrey Nelson just let me know about an awesome project that he put together: LaserShark! Instead of using OpenLase with the hacky sound card output, he put together a proper open DAC board based around an LPC1343 Cortex-M3 microcontroller. I haven’t had a chance to see it in action yet, but considering that the systems I’ve seen so far either use proprietary DACs (that tend to suck) or sound card DACs (with all their problems), I think this is easi...| marcan.st
Check out the main OpenLase page here. I apologize for taking this long to post this! I’ve been busy non-stop since 27c3 and never got a chance to get around to it. Finally, though, here it is: the description of the Mark 1 laser projector that I use with OpenLase. But wait, there’s more! If you don’t have the hardware and don’t want to build it, or you want to try out OpenLase, or you want to be able to mess around with it on the go, you can now do that.| marcan.st
OpenLase is designed to work with typical DIY laser scanners that use sound cards as DACs. This is the first laser projector that I built to go along with it. It is by no means perfect, and indeed, quite a few things could be improved. It’s relatively simple though, and it should be straightforward to duplicate. Overall view Overall view There are four main parts to the scanner: the digital-to-analog converter (DAC) (and associated control circuitry), the emitter subsystem, the scanning sub...| marcan.st
As you probably already know, libgpod has included support for Apple’s iOS 2.x hash for a while now. With their new devices, Apple changed the hash again, but for some reason the change only applies to new devices – old devices running iOS 4.x still work. However, if you have a new device (iPad, iPhone 4, or iPod touch 4G), music sync does not work. If your device is not jailbroken, you’ll have to wait until the new hash is reverse engineered.| marcan.st
Check out the main OpenLase page here. First of all, as I’m sure everyone knows by now, I’ve been working on hacking the Kinect and writing open drivers for it. There’s a website for the community and a Git repo with the code, and it’s working fairly nicely by now. With that out of the way, here’s a project that I’ve been working on on-and-off for the past year or so.| marcan.st
As most of you will probably already know, I’ve been working on a project recently which aims to run Linux on the PS3 (including the PS3 Slim) using the PSJailbreak exploit, effectively replacing GameOS on the fly. I think it’s gotten to the point where it’s useful enough for other people to be interested, so here’s something resembling an official announcement. Obligatory demo video: AsbestOS (a mineral, and meaning “inextinguishable” in Greek) is a bootloader to run PS3 Linux wi...| marcan.st
These days, if you want to do something like this, you should check out libeatmydata. Linux has a tweakable knob called laptop_mode which is meant as an energy saving tool for laptop users on battery: it basically says “try not to touch the disk for X minutes at a time, unless you really need to, and once you do, do everything that you’ve been piling up all at once”. It’s great for laptop users, and doubly so for things like my huge laptop with two 7200RPM HDDs.| marcan.st
I no longer use an iPhone nor am I an active developer of usbmuxd. If you’re interested in the current state of affairs, check out the libimobiledevice repositories, where development continues. Last post was more along the lines of an announcement, so here’s a more concrete guide. There have been new releases of most parts of the software stack in the past few days, so now is the time to grab them if you’re interested.| marcan.st
I no longer use an iPhone nor am I an active developer of usbmuxd. If you’re interested in the current state of affairs, check out the libimobiledevice repositories, where development continues. Those who watch my git repos may have noticed that I’ve been working on this for a while now. iPhones and iPod Touches have never been properly supported under Linux (especially non-jailbroken devices) because they are just so different from all the previous iPod models.| marcan.st
With the new OS version, Apple totally changed up the database format. Now it’s based on a whole bunch of SQLite files and there are also a few files in a format similar to the old proprietary one. There are more than likely still hashes in the critical files, and there’s also a suspicious pair of files that appear to be entirely encrypted. The SQLite format is open and certainly better than the old one, but someone still needs to interface a media player to it.| marcan.st
After a few days of reading very, very weird disassembled code and poking registers, the odd 2D hardware finally works (for the most part). It can draw lines, so I threw in a software 3D transform. Here’s the Stanford Bunny in a glorious 448 vertices and 1416 lines of jaggy wireframe awesomeness.  The chip has hardware line styling (stippling), and you can see 4 different settings (solid, “10″ dashed, “100″ dashed, “1000″ dashed) in sequence.| marcan.st
I’ve joined a bunch of friends in a quest to reverse engineer and write custom software for Sunplus SPMP305x chips. These chips are inside all sorts of chinese media players, particularly the fairly powerful kind with a camera, video playback, etc. The chip is based around an ARM926EJ-S core, but the peripherals around it are completely custom – check out the marketing blurb. Most current work is on reverse engineering the hardware interface so we can completely replace the default firmware.| marcan.st
I’ll eventually write a longer post about how different bits and pieces of this laptop’s hardware fare under Linux. For now, I’ve managed to strike one of the more annoying issues: proper audio. Scroll down if you’re impatient and want the code; read on if you want the full story. This laptop is peculiar because it has built-in “5.1” audio. Yes, it does really have 6 speakers, though you’d be hard pressed to get much spatial separation out of them (and they aren’t even placed ...| marcan.st
If you’ve ever worked with other people on some piece of code or program, particularly over IRC or IM or some other form of real-time or fast text communication, chances are you’ve used one of the many “paste” sites available (my personal favorite is pastie). These sites offer a convenient way of sending small to medium chunks of text to other people quickly, by simply copyng and pasting the text into a web form.| marcan.st
And I wasn’t even watching protected content. This is (one of the many reasons) why DRM needs to die.| marcan.st
With newer iPods and the iPhone 2.x firmware, Apple decided to implement a new hash scheme for iTunesDB to prevent third-party apps from managing the iPod database. Stupid. They decided to make it part of the FairPlay codebase, including its obfuscation. Very Stupid. But just in case that weren’t enough, then they went ahead and tried to take down the iPodHash project which was attempting to reverse engineer the (annoyingly obfuscated) algorithm.| marcan.st
From a 1.66GHz Atom to a 3.9GHz Skylake| marcan.st