aperture 2 trial hack

Update: 18feb08 My original hack required multiple edits in order to get the program to run, but Michal has found a far better method that just means a single change is required – I’ve reproduced it here from his comments and email so it’s easy to see what to do.

Update: 04mar08 At the request of hydr0, I’ve added screen shots of the application to demonstrate what zero-padding is – click on the image to view the whole application window grab if you require more context.

I’d sort of promised myself that by the time Aperture 2 came out I’d have managed to get a machine that was modern enough to be supported natively and be able to drop this script hackery rubbish… Needless to say, in light of certain other recent events a new Mac isn’t likely in the near future, and besides, if Aperture 2 is faster than 1.5.6 as all the early reviews indicate, maybe I don’t need to upgrade afterall.

Ok, this time I don’t have the original media, just the same trial package as everyone else so there will be two stages to this. The first is to allow the installer to run and ignore the minimum requirement checks – I skipped this last night on my PowerBook and didn’t install any of the helper packages and happily crashed my system when trying to quit the program. Not recommend.

In order to get the program installed on my MDD dual 867MHz G4 I had to fudge the speed test:

  1. Download the trial from Apple’s website
  2. Open the ApertureTrial.dmg disc image
  3. Create a new directory on your hard drive
  4. Drag the two items out of the .dmg and onto your local disc
  5. Right-click on the ApertureTrial.mpkg file and choose Show Package Contents
  6. Open the Contents directory
  7. Right-click on the ApertureTrial.dist file and choose Open With and then Other...
  8. Choose a text editor such as TextWrangler or TextEdit
  9. Scroll down until you find: function installationCheck()
  10. Change the next var regexp line to read: var regexp = /Power/;
  11. Change the next line to read: if (!checkCPUFrequency(600000000))
  12. Find the line below this that reads checkRAMRequirement and change the value inside the brackets if desired
  13. Save this file
  14. Double click on the ApertureTrial.mpkg icon and the installation should complete. Note you will need the trial licence key emailed to you by {Apple}

This will change the limit from a 1.25 GHz PowerBook to a 600MHz generic Power machine (ie: any G4 system). Note that you can drop the RAM requirement below 1GB and take the CPU limit down below 600MHz if you desire, but I would really, really question how usable this would make the final program.

After the installation has completed (don’t forget to rename your existing Aperture program – the trial will stop if you haven’t and ask you to do so) you will find that it fails to launch, complaining the the computer doesn’t meet requirements. Now it’s time for the hex editor (0xED.app is my favourite choice here) on the binary, just like before.

Michal’s new version:

  1. Open 0xED
  2. Choose File -> Open...
  3. Navigate to /Applications, then Aperture.app, then Contents, then MacOS, and finally choose the Aperture file and then click on Open
  4. Ensure the editor is set to Overwrite mode (Edit -> Write Mode)
  5. Enter 6d21b0 into the Offset box and hit Enter
  6. Check the ASCII side of things and you should see the string performRequirementsCheck starting under the cursor
  7. Replace the string with performLicenseCheck
  8. Switch to the hex view, and erase the extra five characters (the Check string) with zeros
  9. Save this file
  10. Launch Aperture as you normally would

That’s it: no more video card checks or RAM limits to edit.

The data before editing looks like this:

After editing, it should look like this:



My original method, purely for reference now:

  1. Open 0xED
  2. Choose File -> Open...
  3. Navigate to /Applications, then Aperture.app, then Contents, then MacOS, and finally choose the Aperture file and then click on Open
  4. Ensure the editor is set to Overwrite mode (Edit -> Write Mode)
  5. Enter 6D237C into the Offset box and hit Enter
  6. Check the ASCII side of things and you should see the string PowerBook starting under the cursor
  7. Open Terminal and type sysctl hw.model. On my MDD dual 867MHz system this returns: hw.model: PowerMac3,6
  8. Replace the Book part of the string in the 0xED window with the four characters after the word Power in the sysctl result. In my case, this means Mac3 so the string in the 0xED window now reads PowerMac3
  9. Save this file

This has changed the requirement for a G4 laptop to be a test for your exact system. Now it’s time to change the CPU requirements, as Aperture still expects a 1.25 GHz minimum G4, and now there are two options: the first is to open the Info.plist file and hand edit it, or you can type one command at the Terminal (the second way is faster, but changes the plist from ASCII to binary – not an issue for most people).

Option 1:

  1. Using either a Text Editor or the plist editor that comes with the Developer Tools, open the file /Applications/Aperture.app/Contents/Info.plist
  2. Look for the key called: RKG4LaptopMinimumCPUSpeedMHz and change the value that follows it from 1250 to something less than your system, eg: 600
  3. Save the file
  4. Launch Aperture as you normally would

Option 2:

  1. Open Terminal and type: defaults write /Applications/Aperture.app/Contents/Info RKG4LaptopMinimumCPUSpeedMHz -int 600
  2. Launch Aperture as you normally would

This does work, but I have had problems when quitting Aperture: the program does keep all of my changes but often crashes on termination. So far as this evaluation goes, I can live with that but maybe others out there can sort out a clean shutdown ?

← Previous Post

Next Post →

47 Comments

  1. vittoriosa

    Fantastic, I’ve been looking for someone discussing this ever since Aperture 2 came out.

    I’m having trouble using this workaround for my situation. I’m on a PB15 1.33, so the main issue is the 1GB of RAM (I have 768). Have you found any trick for bypassing the RAM check when the application loads? In Aperture 1.5, it was as simple as adjusting a value in the info.plist, but in 2.0 that key is gone…

    Great site, and bravo for talking about this as it comes in handy for those stretching the last few months out of their systems 😉

  2. Hi Vittoriosa,

    Good catch – you need to edit the file /Applications/Aperture.app/Contents/Resources/minsys.plist file – there’s not much in there and there’s a very obvious key called AELMinimumRAMSize and it’s currently set to 1000. I tried taking this above my RAM size and Aperture refused to load, so give that an edit for either the Developer Tools plist editor or TextEdit and see if that helps you.

    HTH,

  3. Hi, thanks for help. Mine idea for ram was to change hw.physmem to sth that has value above the requirements – like hw.l2settings – but it hasn’t worked. I’ve still have a problem on mini g4 – now instead of “unsuported hardware” I have “unsported graphic card”. I have 1gb of 1gb of ram so at least that isn’t an issue.

    greetings,

  4. vittoriosa

    That was it, thank you! I was trying to find where they moved it. Thanks a lot for helping with the sleuthing.

    Your site is definitely an invaluable resource- good luck on the job searching!

  5. PS

    I’m wondering why not just to put “return true;” at the beginning of function installationCheck()?

  6. I have an ibook with ATI Mobility Radeon 9200. Do you know how to fix the gpu-check on startup aperture1 thanks for your tips

  7. Ok, bulk answer time !

    Michal – yes, I went looking for more sysctl stuff at first, but couldn’t find any useful candidates. It’s so nice to have find | xargs grep to help out at times like this !

    vittoriosa – Thanks: glad it worked for you and thanks for the wishes.

    Michal – That would probably work too: I tend to be rather cautious when first trying an override and wanted to keep the logic of the test as close to the original as possible. Once it worked, I just didn’t go back and refactor it, and got obsessed with getting the program to actually run…

    karl – There are many versions of aperture 1, so you can either find the full version number and use the Search box at the top right of each page, but I did realise there are rather a lot of Aperture posts now so I have added a new category to the list of topics and all of the old posts are now organised in there too so one click will give you a list. Note that there are 3 pages (at the moment) of posts, so do scroll to the bottom and use the ‘Next page’ link until you find your exact version number.

    HTH,

  8. sorry this was a typo from me! I mean Aperture 2 not 1.x

  9. Aha, ok Karl – well I can’t prove this one easily myself, but at offset 0x626763 there is a string that reads ATI Radeon 9600 OpenGL Engine, so you might like to try changing the 9600 to 9200 to see if that helps.

    The problem I have is that whilst it’s easy to see a large block of video card types in the string table, I can’t match the chipset in mine with the data from System Profiler and what Aperture is actually looking for: they all make sense in English, but the “FX” part of the full description of my graphics chip isn’t in the string in Aperture but it does appear in the profile…

    I’ll have a deeper look over the weekend and see if I can’t find an easier way to know exactly how the string is being matched so you can re-write anything in the binary with a similar length with what your laptop actually has.

    HTH,

  10. Hello,
    I’ve tried changing 9600 to 9200 – also on the other occurence – still “unsuported graphics”.

    I was thinking that a hint might be in “Aperture check” application – but it relies on simple plist. And after changing clock and ram it says that Aperture can be installed.

    I think that it must work as in previous Apertures – changing behavior after “cmpwi cr7,r3,0” – but registers might had changed…

    Also maybe the id from system profile like “ATY,RV280” might be a clue?

    Greetings,

  11. So, I’ve managed to start it!

    I don’t know yet about side effects, but all the main features works quite well on my pb 867 640mb.

    Look for string “performRequirementsCheck” and change it to “performLicenseCheck

  12. Hmm, sth cuted my previous post…

    Changing even the first occurence of “performRequirementsCheck” at 6D21B0 is sufficient. There’s no need to change minsys.plist for ram, I don’t know yet how it is with powermacs/mini g4 type.

    Greetings,

  13. Thanks Michbal! It works on my ibook G4 Radeon 9200

  14. Hi. I have a ibook G4 Radeon 9200. I still can’t run aperture because don’t meet the minimum graphics. Karl, what exactly you did?

  15. i get to play around tonight … suh-weet …

  16. Neuewelle

    😀
    Hi! i recently discover this page and i thank you (well the people how wrotes the supports and above) ’cause after several attemps i finally get back to work my ”old aperture 1.5.6” again and it ”fells awesome”.

    Now i want to run Aperture 2 and all that I read it’s rubbish? 😕


    Well MAYBE a tip about installation on A2. Seriously i try all the steps for a succeed instal but no one seems to work, but ❗ delete at ApertureTrial.dist the next line it’s at the beginning and no other changes need to be made to install it. This worked for me, don’t know why..


    Now the important question on this comment: How I run it! because it wont open without a warning like ” the computer does not meet…. hardware or a unsupported graphic card or even a total crash of it after trying all kinds of steps to run it.

    Greetings,

    💡 Runing leo with a ppc mini (1.42 & 1GB Ram)

  17. Neuewelle

    Edited Message!

    ❗ Well MAYBE a tip about installation on A2. Seriously i try all the steps for a succeed instal but no one seems to work, but delete at ApertureTrial.dist the next line
    it’s at the beginning and no other changes need to be made to install it. This worked for me, don’t know why..
    Reading my message i realize that i forgot to paste () sorry for that. if there is a moderator or a administrator that can edit the last comment it would be great. Well thats all thanks again and sorry for my bad english

    Greetings,

  18. Great ! it works fine on my Quicksilver G4 733 mhz ! Don’t forget to make the “Michal’s new version” or you can’t run the app (graphic card error).

  19. Hi

    Does anyone how I can do this so as to be able to use iMovie 08.

    Thanks

  20. I am new to this and would like to know how to create the new directory on the hard drive.
    Thanks!

  21. Dude would it be too much to ask if you could please load up some screen shots of what you did in the hex editor? I’ve replaced the line for the ASCII part, but I don’t understand what you mean when you say “Switch to the hex view, and erase the extra five characters (the Check string) with zeros”. 1) 0xED shows the Hex and the ASCII at the same time so I don’t get what you mean switch. 2) How am I supposed to know what part of the HEX side is the Check string? I see a bunch of numbers and can’t tell which is which…..

    Screenshots would make a world of difference and go along way to erasing any confusion….

  22. I’m not trying to be an a$$, but there has got to be something more that you have done to get this to work because it isn’t working for me. I made the changes to the .mpkg such as you outlined and everything went by the book. I then made the changes as you outlined to the binary using 0xED. Whenever I try to launch the app though it crashes. The only error that I receive is that Aperture quit unexpectedly. I don’t get any errors about my graphics card or RAM or anything.

    Here are the specs on my laptop:

    1.5 GHz PowerPC G4 PowerBook
    Model Identifier: PowerBook5,5
    Memory: 768MB

    Graphics
    ATI Mobility Radeon 9700:

    Chipset Model: ATY,RV360M11
    Type: Display
    Bus: AGP
    VRAM (Total): 128 MB
    Vendor: ATI (0x1002)
    Device ID: 0x4e50
    Revision ID: 0x0000
    ROM Revision: 113-xxxxx-134

    Again, as I said, I am NOT getting any errors about my graphics card or my RAM. It just says that the app quit unexpectedly (a normal crash message). As I mentioned in my previous comment, screenshots of what exactly you’re doing in 0xED would really be helpful. I say this because I noticed that the offset that you mention in your post is listed differently in 0xED. In 0xED it’s listed as: 06D21B6. Could that be the reason for the error maybe? Also, as I mentioned before, I don’t really understand the “change the extra numbers to zeros” part. I think that this is where I’m getting hung up on but I’m not sure. Any would be appreciated.

    hydr0

  23. fwiw … i just installed the 2.0.1 update … no need for me to go back into the app …

    PB G4 12″ 1.5GHz 1.25GB RAM GeForce FX Go5200

  24. christian

    works great.

    thanks from Brasil.
    😛

  25. jeremie

    hi ! I’ve tried to install A2 on a macmini g4, after changing the lines with text edit inaperture trial .dist but when I launch aperturetrial.mpkg I still get a graphic card error… does anyone know what to do????:?::?::?:

  26. Jeremie, your MacMini is an excellent machine – but, alas, it isn’t CoreImage capable. Aperture does what it does using CoreImage and without CoreImage it can’t work at all. The only way an old G4 could run Aperture is if it had a Core Image AGP graphics card installed – and the graphics chip in the MacMini isn’t upgradable. I’m sorry to be the bearer of bad news.
    That said, if someone can circumvent that -perhaps by forcing Aperture to use software Core Image routines on the G4 processor itself (very slow, but still), I’d be most impressed.

  27. Neuewelle

    Hello, mmm… sorry to disagree Pascal… I’m finally running Aperture 2 and no slow in any way, in fact it runs a little faster than 1.5.6 to me. I have a g4 mini and i run it over leo (maybe it’s that?). I still see that, and I don’t know why, in my previews post the lines of my tip for installation still missing even when I paste twice, well here goes a third one..
    Jeremy try the following:
    Delete at aperturetrial.dist the following line at the beginning
    This should enable to install it. God Luck!
    This time i type the line, not copy & paste let see if works now.

  28. Hello… the trick does not work on aperture 2.1, right? i found the “RequirementsCh” in the .app file, but after changing the string… the applicationen bounces a few times and disapears… 🙁

  29. No, it doesn’t work with 2.1 or 2.0.1, there are extra posts for those versions.

    You can view those directly:

    https://minimal.cx/2008/03/28/aperture-21-hack/

    https://minimal.cx/2008/03/05/aperture-201-hack/

    Or you can view all of the posts about Aperture via it’s own category:

    https://minimal.cx/category/software/aperture/

    Or you can use the search box at the top right of every page.

    HTH,

  30. Okay, I’ve followed these instructions to the letter and I’m still getting an alert upon launch that I have insufficient RAM (512MB). Any ideas?

    And yes, I’ve made sure I’m editing Aperture 2.0.

  31. Josh – are you getting this message from the installer, or after installation when you try to run the program ?

    If it’s from the installer, what does the checkRAMRequirement section of the ApertureTrial.dist file say ?

    If it’s after installation, then have a look inside the Aperture program in the file called Info.plist and change the RAM test there too. More info on the Info.plist RAM setting can be found in this older post.

    HTH,

  32. I’m getting this dialog after launching Aperture.

    I found Info.plist and the only integer values I could find related to CPU speed requirements, nothing about RAM.

    I’ve set the CPU down to 600MHz to be on the safe side (I’m running on a 1GHz TiBook) and see what happens when I attempt a relaunch.

  33. Ok Josh, I’m actually a bit puzzled as to why you have a problem – the file location did indeed change in Aperture so my last comment wasn’t so helpful, but the reason I hadn’t found the new location is that it’s supposed to merely warn you if you’re using 512MB and only stop if you have less than that…

    Anyway, try having a look in the Aperture.app/Contents/Resources/MRCheckPro.bundle/Contents/Resources/minsys.plist file. In there you will see keys for the amount of RAM required to not display a warning as well as the absolute minimum (also nice to see the dual core machines have a separate lower CPU limit (at last !) which would have made things easier for my MDD 867MHz in the past, but I digress…).

    Look for AELMinimumRAMSize and change the value for block to something lower, or simply change both to something silly, say 64MB. If video is an issue, you might want to drop the AELMinimumVRAM requirement too.

    HTH,

  34. Pelatonrider

    Followed instructions first time around. Worked great . Great job thanks. Inadvertently updated to 2.1.1. Tried uninstalling with appzapper so I could do a reinstall on G4 1.25 with 768 ram. No Luck. l get hardware error message. Post mentions renaming existing file. I didn’t do that the first time and had success. Any suggestions??

    Thanks again

  35. Hi Pelatonrider,

    I’ve been away from my computer for a couple of days so haven’t had a look at 2.1.1 yet – I left it updating Aperture this morning so I hope to have a new set of figures after I’ve had a look at it tonight.

    HTH,

  36. Pelatonrider

    Ok. Don’t I feel stupid. I spelled License as ‘Licence’ in the hex edit program. Made the change and it is again working fine., Thanks again for all of your efforts.

  37. Heh ! Not something I would have thought of right away: glad you have fixed things.

    Just for the search engines out there, I did manage to find the new offset for 2.1.1 yesterday, and this now has its own post.

    TTFN,