Slashdot Mirror


Mac OS X Intel Build Addresses Pirating

aardwolf64 writes "ThinkSecret has an article up detailing information about the newest Mac OS X 10.4.3 builds (which is currently said to fix almost 500 bugs with 10.4.2.) What is more interesting is the release of 10.4.2 (Intel) to developers. Universal binaries built with the new version (and apparently all subsequent versions) will not work on systems running the older version of the OS."

25 of 319 comments (clear)

  1. omg by swimmar132 · · Score: 5, Funny

    That's a lot of bugs. And I haven't even noticed any of them. :(

  2. Give it a couple of days... by DogcowX · · Score: 4, Insightful

    The hackers will be making it sing like Sinatra.

  3. Before we get the 'bad evil apple' comments ... by hattig · · Score: 5, Insightful

    Is that really so surprising? That a company will act to protect its products from people who are blatantly pirating it and enacting workarounds to bypass whatever security might have been present to ensure it only worked on developer workstations?

    Oh no, your pirated pre-release software can't be upgraded! Teh horror!

  4. what's new? by Jsutton1027w · · Score: 5, Insightful

    I'm sure when Rhapsody (the Pre-OSX betas just after the NeXT takeover) was being developed, that some of the same types of incompatibilities were there.

    Think about it though, most apps from 10.3 don't work properly in 10.2, but that doesn't mean it's apple's way of keeping pirates away. Since all these X86 versions are beta quality anyway, they're probably working on a much faster development mode, and things break easier.

    Then again, they could be doing it on purpose, in which case they have the right, since it's their OS. ;)

  5. Re:Patches... by matt+me · · Score: 4, Funny

    You remember buying crack illegally from the streets... and now your posting on Slashdot. Drugs are a slippery slope :p

  6. Not that uncommon by tono · · Score: 5, Interesting

    Since this is still not a publicly released Operating System available to buy, I'm not all that surprised they're taking care of this sort of thing now. There's no reason for them to care about the old versions of the Operating System if it is not available to the general public. Once the Operating System is actually available to buy this sort of thing will stop, but they want their developers to be using the most recent version available to give them the newest target. I don't really see a problem with this.

    --
    cheese logs keep my wang warm at night.
  7. In case you were wondering... by blackmonday · · Score: 4, Funny

    In case you were wondering whether Apple wanted everyone to pirate OS X onto their Dell and HP systems (for mindshare!), now you have your answer.

  8. Anti-Piracy or simple incompatibility? by Soong · · Score: 5, Insightful

    I was reading some publicly available Apple documentation on the transition to intel style chips, and they included a note that as of June they hadn't finalized their application-binary-interface (ABI) specification for MacOS X on intel. So, maybe it just means they changed the spec and now there's an incompatibility. It would be something most developers would never see, totally taken care of by the compiler, and a make clean and a recompile necessarily fixes everything.

    --
    Start Running Better Polls
    1. Re:Anti-Piracy or simple incompatibility? by Chris_Jefferson · · Score: 4, Interesting

      Yes, there have been a number of changes to the ABI, which is where I'm sure this break comes from. I'm sure Apple wouldn't bother doing this to stop pirates (they'll just repirate it) and breaking the ABI is sure to annoy the odd developer here and there (yes it should make no difference after a complete recompile, but of course it always does). There are also a couple more changes which quite a lot of people really think should be made, so I'd expect one more break before release :)

      --
      Combination - fun iPhone puzzling
    2. Re:Anti-Piracy or simple incompatibility? by mmkkbb · · Score: 4, Insightful

      But that story sells fewer ad views.

      --
      -mkb
  9. Before we get the "beleagered apple' comments by ihatewinXP · · Score: 4, Insightful

    I flipped on this issue so fast that my head is still spinning. Aside from having the iPod and a huge cash reserve to keep them afloat I am honestly worried that piracy will crush the mac platform on intel.

    And in all honesty I want my platform to continue living - I need Apple to stay proftiable in the computer business because I want to continue to buy their computers. Sadly this means that I now support any kind of gestapo like tactic that they use to keep the OS locked to their hardware.

    Hopefully they can find a middle ground but the past few years have taught me that technology cannot build a wall that technology cannot also knock down - it will be a long uphill battle - I hope the FSB on the new powerbooks is worth it.

    --
    ---- The real Slashdot is still here. You just have to browse at -1 to read the comments.
    1. Re:Before we get the "beleagered apple' comments by MoonBuggy · · Score: 4, Interesting

      That's an interesting counterpoint to what I was thinking actually. While I fully support the whole "It's their OS, they don't have a monopoly, it's still beta, they can do what they like" idea, I was under the impression that Intel piracy could actually be good for them (something I want, since I, like you, want to continue using Apple's products). For now I'll ignore the debate of whether they could maintain their quality of software over a wider range of hardware or not.

      If Apple released a generic version of OSX86, MS would jump up and crush them with all the marketers, lawyers and assasins in it's arsenal, so that's a bad plan. With OSX86 only on Apple hardware, nothing will change - MS don't care, you and I will still use it, everyone else will use Windows. With people pirating the OS, however, MS still won't react since they have nothing to react against, you and I still buy Apple products, but some of those Windows users try and like MacOS. After a while one of two things happens: they go out and buy a Mac, or Apple decides it's "unofficial" installed userbase is large enough for them to deploy a generic OS and still survive Microsoft's retaliation. End result: more tasty Apple goodness but with the advantages of PC or Mac hardware too. Maybe not the perfect plan, but plausible nonetheless.

    2. Re:Before we get the "beleagered apple' comments by saha · · Score: 4, Informative
      ibm or hp or sun would be a far, far better choice

      HP??? You are kidding right. They make great printers but I don't think HP support or the quality of their computers are good at all. We used to have a contract with HP and now they are out

      Consumer Report June 2003: Desktop computers Readers report, surveying 39,000 readers
      Shows Apple with the highest ratings for Repairs. Followed in order by Dell, HP, IBM ...etc. Then for Technical Support it was Apple, Dell, Gateway, Sony, HP...etc.

      Now in June 2005. Consumer Reports Tech support: Desktops & laptops survey shows for Dekstops it was Apple, Dell, Gateway, HP, Sony ...etc. And for laptops Apple, IBM, Toshiba, Dell, Gateway, HP ...etc.

      Based on my own experiences the data above is more or less correct, although I've felt Dell slide in the past two years. Dell used to have better support, but lacked testing their products thoroughly sometimes when the slap together components from five different suppliers. Which brings me to the issue of finger pointing.

      We've had to fight PC manufacturers many times when our computers don't work, when the sound card driver causes a BSOD, PNY graphics board genlock doesn't work, when the OEM isn't able to control the OS enough to fix problems. Its frustrating as a customer. As for Sun we've had good experience with them so far. Although one black mark I can recall is for their flagship enterprise servers where having major problems two year ago. Sun traced the problem to memory chips from IBM and tried to differ the blame on IBM. Sun's corporate customers where unimpressed and just wanted the damn enterprise servers fixed. So even Sun can have issues, but less so in my experience.

      The Apple software/hardware solution tends to work better and there are less people for them to blame, so I don't get the run around as a customer. They provide the whole solution and the buck stops with them when I have a problem, unlike other vendors that make me run around.

      If Apple does come up with products that don't honor the warranty, which I have not experienced yet. I'm glad that those lawyers are out there to keep the company "honest" when there are legitimate issues with the product. However, your recommendation hasn't convinced me I would experience less problems from another vendor and the data I provided above speaks to that fact.

  10. Or not? by GraWil · · Score: 5, Interesting

    Well, the poster has one take on this, but perhaps the current release is incompatible because Apple has changed the compiler and some of the dynamic libraries? Perhaps this was not to specifically address pirating, but to fix bugs and to otherwise optimize the system. The OS X 86 project page has a slightly more informed discussion.

  11. Surprise, surprise! (oh, never mind...) by jht · · Score: 4, Insightful

    Who among us in their right mind didn't expect this possibility? The whole idea of these utterly generic Intel PowerMacs were for them to be cheap development preview systems. ADC members who wanted to test and develop ahead of time could either build Universal Binaries on PPC (and cross their fingers), or actually buy one of these and test while the OS is being ported and finalized.

    The point here being, these are not production Intel Macs! Why would you expect to have everything Just Work (which, of course, is the whole reason many folks buy Macs in the first place) - heck, you can only get one of these systems if you're an ADC member! Remember, Apple said that OS X would not work on a generic Intel PC, only on Apple's gear. So now it's starting to come true? Wah!

    As for the breakage between 10.4.1 Intel and 10.4.2 Intel - Get used to it - this may well happen a few more times before live product ships next year. I don't think any legit developers are worried about it. Only the pirates. Right now is the "build, test, and learn" phase, anyhow.

    --
    -- Josh Turiel
    "2. Do not eat iPod Shuffle."
  12. Piracy by chowhound · · Score: 5, Interesting

    Currently Apple requires NO serial number, registration, or any other verification to load OS X. People trade Jaguar, Panther & Tiger disk images on filesharing networks and they burn great. The same disks or legit copies can be used to load onto multiple machines on the same network. "Upgrades" bought from Apple require no previous version's SN to install, and cost the same as a brand new copy.

    The big question is, does this new policy signal a change?I hope not, I appreciate Apple's laid back policy. Right now I'm trying to determine which flavor works best on my near-obsolete G3/333 "Lombard" Powerbook. It's convenient to be able to try out different options before I license a copy.

  13. Not really... by fprog · · Score: 5, Informative

    Most cracks are extremely simple, crackers are simply looking for a conditional and unconditional jump instruction, that's it! Then it's all about stepping into the code step by step and having break points.

    if ( !condition ) { error_message(); }

    http://www.unixwiz.net/techtips/x86-jumps.html

    So, one easy way is as simple as by passing the checks by renaming JZ into JNZ, JE into JNE, JO into JNO, or similar when the serial number is checked.

    This way any invalid serial is now actually valid...
    You might have to add a NOP to make the instruction the same length.

    Other serials are simply generated by having the serial key code compare being blindly copied into another program to create a keygen.

    if ( input_key != calculated_key ) { error(); }

    Another way is to run it in debug mode and then see the content of the register having calculated_key.

    The only product scheme which are more difficult to crack is those which they *seems* to be cracked, but fail unexpectively after a period of time which is very far apart the actual "test".
    Days or weeks is a good delay.

    And for products which prevent "debug mode" utilities, well, there exist other products to go around this issue by simply masquerading the WinIce/SoftIce application, so it doesn't get detected and prevented from running in "debug mode".

    That's all I can tell.

    Some of course are encrypted, but even then the code must be "decrypted" before being run so...
    it's still possible to analyze it, just a bit harder.

    In the end, the best way for a product is to be good, useful, have nice manuals and have a proper support at the right price, then the majority of people will buy it, especially if it's bundled with good hardware, since it wouldn't make sense otherwise.

  14. Piracy crush Apple? Piracy has SAVED Apple! by Sagarian · · Score: 4, Insightful

    or do you think those 20, 40, and 60 GB iPods out there are all full of iTunes bought at 99 cents each?

  15. Re:What is Apple thinking? by zwilliams07 · · Score: 5, Interesting

    I think you'd be discouraging them too if there was a chance all your profits would die because you could go out anywhere and get an illegal copy of their OS and run it on generic hardware.

    Sure some people would actually buy legitament copies of OS X for the MacTels, but a lot more people would just pirate it to save money and not buy an Apple Machine.

    If you have a choice between buying an Apple Machine at $2000, but you can build an even more powerful machine for that price or lower and stick a cracked copy of OS X on it, where will you spend your money?

    Believe me, I'd love to have an Athlon 64 FX-57 PowerMac over some Pentium Mac any day, but Apple has to keep itself afloat. They can't live off the iPod sales forever.

  16. It's about responsibility by SeaFox · · Score: 4, Interesting

    That's an interesting counterpoint to what I was thinking actually. While I fully support the whole "It's their OS, they don't have a monopoly, it's still beta, they can do what they like" idea, I was under the impression that Intel piracy could actually be good for them (something I want, since I, like you, want to continue using Apple's products). For now I'll ignore the debate of whether they could maintain their quality of software over a wider range of hardware or not.

    It's true that Apple could benefit from some piracy on the generic vanilla PC side, but this would do little for the long run. There are many people who would love to run OSX and could care less what the PC it's running on looked like or the build quality. If Apple lets the situation get out of control it will put it's hardware business (which is Apple's real business, despite what people keep trying to claim about the iTMS and OSX upgrades) in jeopardy.

    Also, Apple has an image as a serious company to maintain for their shareholders. They may want a little piracy to get word-of-mouth, first-hit-free publicity in the Wintel world. But if they stand idley by and become complacent about the piracy/hacking of OSX86 their shareholders are going to wonder how much Apple is working to protect it's core hardware business and their stock investments. Apple may be making a mint off iPod sales, but Macintosh sales are still the company's bread and butter. Apple has to show it's commited to a business plan in it's switch to Intel and not being blaise with the company I.P.

    1. Re:It's about responsibility by IntlHarvester · · Score: 4, Insightful

      If Apple lets the situation get out of control it will put it's hardware business in jeopardy.

      Apple's hardware business is already in jeopardy -- PC margins are extremely low and getting lower. The $100 PC is only a matter of a couple years away. Bill Gates is even predicting that PC hardware will be given away for free with software or services.

      I think Apple's move to Intel really is not predicated on performance or watts (Macs sell just fine without them), but survival in a profit-free hardware market. When HP and a few other vendors crater, Jobs will come out of this with millions of OS X/.Mac/iTunes subscriptions and looking like a genius.

      --
      Business. Numbers. Money. People. Computer World.
  17. Re:'universal' binaries ayyy by Phroggy · · Score: 4, Insightful

    I know that updating for bugfixes is the right things to do... But there's not much incentive to upgrade if your 'universal' binaries won't work on the previous developer system.

    You're insane.

    These are developer systems that cost $1000 each, you can't buy one without signing an NDA, and next year you'll have to give them back to Apple. If your shiny new universal binary doesn't run on a developer system that hasn't been upgraded to the latest OS from Apple... who the hell cares? The binary you compile when Apple is ready to sell x86-based Macs will run just fine on the x86-based Macs that your customers can actually buy. If some developer hasn't bothered to upgrade to Apple's latest version yet, who cares if your app won't work for him?

    Does anyone else think that the whole universal binaries idea is a waste of time?

    No, I'm pretty sure it's just you. Do you even know what a universal binary is?

    Sure its handy where writing two versions is next to impossible, but realistically, thats not very often.

    Yeah, I didn't think so. Go learn something about what's going on here before babbling incoherently about it.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  18. Re:'universal' binaries ayyy by alanQuatermain · · Score: 5, Insightful
    But there's not much incentive to upgrade if your 'universal' binaries won't work on the previous developer system.

    Erm-- This is a developer system. It's not finished. This isn't The Thing That'll Be Released Next Year, it's something cobbled together so that folks like me can make sure my software will work on the processor/hardware. It's not a live system that's being 'bugfixed', it's a development system that's actively being developed. That means it'll change. Binary file formats, linker specifics, etc. etc. We're not so much 'upgrading', we're keeping our aim focusssed on a moving target.

    ...also, having re-read your comment: where do you get the idea that anyone wants to maintain any sort of compatibility with the original 10.4.1 DTK? I mean, it's not like it's been released to the public or anything. Compatibility with the intel build of OS X 10.4.1 is not required; compatibility with the intel build of OS X 10.2 will also have been broken, but you don't seem concerned about that...? Or do you think we should all maintain compatibility with the pirated copies of OS Xi 10.4.1?

    (For the record, intel apps built under 10.4.1 still work using 10.4.2; I'd guess that new capabilities/functions were added to the intel dynamic linker, which gcc 4.0.1 uses)

    Does anyone else think that the whole universal binaries idea is a waste of time? Sure its handy where writing two versions is next to impossible, but realistically, thats not very often.

    Again, you seem to be labouring under a misapprehension here. Universal Binaries are what are technically known as 'fat' binaries. In other words, they are a file which contains more than one executable file concatenated together. In this case, it's a file which has the i386 binary and the ppc binary within it, padded to fit the encapsulated 'files' on filesystem block boundaries (4096 bytes) and with a header up front that says where they are.

    I can't believe I'm having to say this on Slashdot of all places, but universal binaries are not some weird magical thing which runs the same binary code on two different processors. They're not like the bytecode generated for the Java Virtual Machine. They're just a way of storing the binary code & data for different architectures within a single file. That's all.

    Oh, and want to see a shipping application compiled as a universal binary? Try BBEdit 8.2.3 (here are the release notes).

  19. Check your facts again - by DECS · · Score: 5, Informative

    Apple took a $795 user operating system ($1295 with the development system), moderized it, added new technologies (many of which were open sourced) and open sourced the core OS.

    They now sell it commerically (with the development system) for ~$120.

    Meanwhile, they are giving away:

    -Darwin
    -QuickTime streaming server
    -Webkit
    -Launchd
    -Netinfo
    -I/O Kit

    Nobody in the open source community really asked for any of those things, Apple just opened them.

    Then again, the things that people want from Apple has never been part of "a free operating system" that Apple benefitted from:

    - QuickTime (particularly the commercial codecs)
    - OpenStep / Cocoa / Carbon APIs
    - Quartz compositor, Q. Extreme
    - Core Image, Video, etc; Core Data

    So mentioning the GPL isn't applicable at all. Apple has borrowed from and contributed things back using BSD style licenses.

    Trying for force people to share isn't freedom.

  20. No, it's not by alanQuatermain · · Score: 5, Informative
    It has been the case for quite a while that a Mac OS X application built against a particular set of headers and stub libs will only run against those libs or newer. This means that if you build against the 10.3.9 headers (either by building against the system headers under 10.3.9 or against the 10.3.9 SDK), your code will not run in 10.3.8.

    Incorrect.

    The dynamic linker in OS X makes the actual location of functions & other symbols in a linked library irrelevant, since the addresses are computed at run time by the dynamic loader -- the compiler inserts a 'stub' routine and a dummy address. The dummy address is first initialised to the address of a compiled-in function called _dyld_stub_binding_helper, which calls the relevant dyld library APIs to find the real function. The real address is then written over the dummy address, so future invocations will jump straight to the target routine.

    I compile apps on OS X 10.4. Most things I compile using gcc 3.3 (because gcc 4.0 auto-links against a library that isn't present in 10.2.x), but I've never had the slightest problem running an app on an earlier version of the operating system. Unless I actually attempt to use a symbol that actually isn't there, nothing goes wrong.

    Also, OS X has had weak-linking since 10.2. That means that the stub binding routine can happily return a symbol address of zero, meaning that I can link against somelib.dylib, including somefunc() which only exists in 10.4 & later, and -- at runtime -- I can simply do if (somefunc != 0) to see if the function is available. On 10.4, the function will be there. On earlier systems, the symbol value will just be zero.

    Y'know, you should actually read the links you post, for instance, on the page you linked you'll find this useful nugget of information:

    • You can build a target for a range of operating system versions, so that it can still launch in older versions, but can take advantage of features in newer ones. This allows you to deliver software that provides new value to customers who have upgraded to a new system version, but still runs for those who haven't.

    ...you seem to imply that you're a programmer, so I'd recommend looking at <AvailabilityMacros.h> for further enlightenment.

    So no, this isn't "just how Xcode works". Xcode (read: gcc & dyld) work in precisely the opposite way, and for a good reason. What's really happening is that some part of the binary file format has been changed, implemented, or created for the benefit of the Mach-O/dyld runtime.

    Maybe it's something new for the Intel machines; maybe it's something that has been available for PPC, but just wasn't implemented in the Intel build of OS X 10.4.1; maybe the latest Intel build of dyld has some performance enhancements which are mirrored by a slight re-ordering of the data/text section format & flags. It doesn't really matter, since even now-- and this seems to be an important yet frequently ignored point so I'll make it very clear --

    OS X for Intel is NOT FINISHED YET

    Apple can and will make changes. That's part of the reason why folks like me have Developer Transition Kits. So we & they can find things that don't work so well, and would do better if they were changed slightly. This is just work in progress, and things can be changed, removed, added. It's Just Normal.

    -Q