How Floppy Disk Copy Protection Worked

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ม.ค. 2025

ความคิดเห็น • 48

  • @thewelder3538
    @thewelder3538 ปีที่แล้ว +3

    Okay, disk copy protection is something I know a LOT about. As a scener who cracked a lot of stuff, I'm going to watch this video with interest... let's see how well you do. Good luck.
    Another good job. The only thing I'd have wanted more about was an example of what games used what protection system. Also, to make it through a video on protection without talking about RNC is quite impressive. The protected sector that he used with a reduced bit cell using a Trace machine wasn't all that technical, but coupled with a TVD that you could embed stuff into made it quite challenging sometimes to break. Well, depending on how well it was integrated.

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว +1

      Glad you liked it and found it accurate. Yeah I hadn’t dug into copylock when I made this, but it sure is an interesting one. Still think the DM one is my favourite thiugh

    • @thewelder3538
      @thewelder3538 ปีที่แล้ว +1

      @@RobSmithDev The DM one is very good to look at and hard to break because they embedded checks in some unusual places. I'm more of a coder than a hardware engineer, so breaking protection doesn't necessarily mean you need to understand the mechanics of how the protection was created. For instance the DM protection doesn't actually check for weak bits, but rather that different reads produced different results. You could have got away with an unformatted track rather than trying to create the weak bits. I'd actually be interested in playing with a Trace machine. I'm not sure you could accurately control which were the weak bits. It would be nice to know exactly how it produced things like long tracks, either by changing the spin speed or the data rate. Although to be fair DM wasn't the first protection system to use fuzzy bits. There was a protection system by Sherston Software on the BBC Micro that used weak bits. There's a REALLY interesting article about it on stardot [org] uk. Apparently, DM uses Fuzzy Bits rather than weak bits. Just look for Sherston Software BBC Copy Protection.

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว +1

      The fuzzy / weak bits is just terminology - it’s kind of all the same thing, confusing the PLL with edge case transitions. There’s a really good depth dive on DM I watched recently that showed what the track looked like when read and what the bit flips look like. They have two distinct values in specific places and I wonder if they were checking for those specific values. Anyway as you said, cracking was about bypassing these checks anyway. I suspect long tracks were just written at a higher data rate rather than spin speed as not all tracks were encoded like this. I know less about the software side of cracking however, this was all knowledge gained while working on the WinUAE FloppyBridge plugin

    • @thewelder3538
      @thewelder3538 ปีที่แล้ว +1

      @@RobSmithDev Yeah I think I saw that explanation on the big flipping. I think it went from something like D5 to 55 at certain places in the sector. Since you couldn't guarantee exactly which bits would flip depending on how the PLL interpreted the fluxes, they essentially just checksummed the read data to determine that multiple reads produced different results. The interesting thing about the BBC Micro weak bits is that they created a sector that was partially readable. The first few bytes of the sector always read the same and was actually a few bytes of code that was executed. The rest of the sector would have bit flips all over the place. And a year before DM did it. In the explanation, he explains what the subtle differences are between weak/fuzzy bits etc, which probably helped a lot of people understand what was going on.

  • @fommil
    @fommil 4 หลายเดือนก่อน +2

    Thank you for explaining something that I've wondered about for over 30 years!

  • @bitcortex1991
    @bitcortex1991 ปีที่แล้ว +2

    Great video! I used to crack "funny floppies" on Atari 8-bit computers. Lacking onboard drive controllers, those machines used a high-level serial interface to talk to the drives. If memory serves, that interface only supported four operations: read sector, write sector, format, and status. Without fine control over the drive mechanism, there was no way for utility software to duplicate surface anomalies of any kind.
    Interestingly, that interface also made it impossible to CHECK for anything really fancy, so the anomalies were mostly limited to the simple bad sector and the so-called "double sector", where consecutive reads of the same sector number yielded entirely different data.
    Given those limitations, software publishers concentrated on obfuscating the checks, and man, some of them got REALLY clever, sending would-be pirates down a thousand dead ends, using undocumented CPU instructions to thwart disassemblers, etc. I learned a LOT by studying that code (and killing several dot matrix printers :)

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว +1

      Thanks! Was aware of the double sector method, crazy how creative the developers got! Yeah the Atari (and pc) had very limited control of the floppy drive, but again that’s an advantage to the devs. I’d love to hear how you went about trying to ‘bypass’ the copy protection checks. I imagine a lot of patience is required (I’m guessing the printing was printing out disassembly listings?) - what sort of undocumented commands were there?

    • @bitcortex1991
      @bitcortex1991 ปีที่แล้ว

      @@RobSmithDev "I’d love to hear how you went about trying to ‘bypass’ the copy protection checks." The hard part was finding them. I had my own disassembler that read directly from floppy sectors and dumped the disassembly to a printer. Most protection checks were in the boot code, so it didn't take long to find them. After that it was just a matter of flipping a branch condition, jumping over some code, or overwriting a short sequence with NOPs.
      It didn't take long for publishers to start trying to hide the checks. Broderbund in particular had some elite ninjas on hand. Their boot code seemed to stop and do nothing for a few seconds, but behind the scenes it was furiously twiddling bits. As I recall, those strange machinations eventually produced a sector number, a memory address, and a decryption key for the next obfuscation stage. This went on and on; stepping through it would have been tedious, but all I had was the disassembly. I once spent a week trying to chase it down, but I ultimately landed in code laced with undocumented instructions. I was stumped, and I never found the checks, but I did find an easy way to bypass the whole thing :)
      "what sort of undocumented commands were there?" I didn't know it at the time, but the 6502 had a lot of them. Search for "6502 illegal opcodes".

  • @JimLeonard
    @JimLeonard 3 ปีที่แล้ว +5

    Your attention to detail is admirable. Keep up the good work.

  • @GadgetUK164
    @GadgetUK164 10 หลายเดือนก่อน +2

    That was a fantastic video - the best on this subject, hands down! I also love how they used the fringe case of the PLL there to flip that one individual bit lol, it's technical magic =D It's amazing to see that in simulation working so well too!

    • @RobSmithDev
      @RobSmithDev  10 หลายเดือนก่อน +1

      I didn’t expect the simulation to work either so imagine my surprise! Thanks for watching and glad you enjoyed it

  • @PrincessColumbidae
    @PrincessColumbidae 2 ปีที่แล้ว +3

    I was linked here by the recent Gumball post on r/HobbyDrama. I'm glad it recommended this, very nicely explained!
    I'm shocked the flaky bit worked!

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว +1

      😀yeah surprised me too - glad you enjoyed it!

  • @La_bruin
    @La_bruin ปีที่แล้ว +1

    This is one of the only explanations of software copy protection that met my expectations. Most waste viewers time on recapping feelies & lame offline techniques. Really a phenomenal job, Rob. Especially the weak bit overview. I recall the Copy II PC Option Board & Transcopy software being able to replicate weak bits with commercial hard drives. Does this ring a bell? Thank you again for such a wonderful video.

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว

      Hi glad you liked the video, most of it was based on my experiences with floppy disks, never looked at anything with hard drives. I interesting, and thanks for watching

  • @PebblesChan
    @PebblesChan 2 ปีที่แล้ว +3

    A great video! There's another copy protection technique that uses strategically placed holes in the midst of the disk media.

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว

      :) Sure is! A bit like the "Bad Sectors" section in my video, some crazy methods used, surely must have increased the cost of production.

  • @gerardmillar1680
    @gerardmillar1680 2 ปีที่แล้ว +1

    That has to be the best explanation of floppy protection I've ever seen. Been looking for a great explanation of my child hood Amiga days. Being blocked on copying games I purchased for friends & vice versa. Always wondered how it worked.

  • @32Bits
    @32Bits 2 ปีที่แล้ว +1

    Great video. The weak bit visualization was fascinating. Really like seeing the flux data in the simulation.

  • @AnotherMaker
    @AnotherMaker 3 ปีที่แล้ว +3

    Fantastic video. Extremely well done. Keep going with the great content.

  • @leetaylor1443
    @leetaylor1443 2 หลายเดือนก่อน +1

    where can i find a flux image of the dungeon master amiga version that has the protection. only one i can find is the compilation version with 3 languages and no protection

    • @RobSmithDev
      @RobSmithDev  2 หลายเดือนก่อน

      You’ll have to search for an SCP or RAW image of it. The IPFs were created from later versions that no longer use this protection. Either that or you’ll have to get an original disk.

  • @geehaf
    @geehaf 2 ปีที่แล้ว +1

    I love this explanation Rob....more!

  • @jimday666
    @jimday666 ปีที่แล้ว +1

    Holy crap, this was technical!
    Thanks!

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว +1

      Lol yeah it does go into detail somewhat

  • @cruncherx86
    @cruncherx86 3 ปีที่แล้ว +1

    On different nick I’m your Patreon. Very pleased of your informative and well done videos!

    • @RobSmithDev
      @RobSmithDev  3 ปีที่แล้ว

      Thanks for the feedback!

  • @mrloverman76
    @mrloverman76 2 ปีที่แล้ว +1

    This is the most complete explanation on floppy copy protection I ever saw! I'm impressed some basement hackers had probably reversed engineered this back in the 80s and 90s!

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว +1

      Some of it sure is crazy! Thanks for watching

  • @TruMouse
    @TruMouse 2 ปีที่แล้ว +1

    I noticed that the Drawbridge can't successfully write the protection on for Lotus Turbo Challenge (Amiga) it fails to load, it does work if written with greaseweazle though so I wonder if this can be fixed not sure what the protection system is

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว +1

      Are you writing from an IPF? (I’ll have to find one to test with)

    • @TruMouse
      @TruMouse 2 ปีที่แล้ว +1

      @@RobSmithDev yes ipf Lotus turbo challenge 1, fails with a black screen and red vertical stripes, also Superfrog .ipf disk 1 fails with red screen

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว +1

      Cheers I’ll put them on my test list

    • @TruMouse
      @TruMouse 2 ปีที่แล้ว +1

      @@RobSmithDev Let me know if you want me to compile a list don't want to bombard you with request but I am currently imaging a lot of old classics so happy to test them if it helps :)

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว

      Will do, thanks

  • @Retr0Rewind
    @Retr0Rewind 3 ปีที่แล้ว

    Love these videos about how things work. Really informative stuff and fascinating! I gather then most disks were cracked by totally removing the checking code in the program hence making the protection used void? Did the program ever check to see if the checking code had been removed or tampered with?

    • @RobSmithDev
      @RobSmithDev  3 ปีที่แล้ว +1

      Hi yes that’s right. Dungeon master was like you described and had several places where it checked the copy protection and unless you removed them all the game would do weird things like kill off your team, or disable some of the actions etc

  • @rayalexander411
    @rayalexander411 9 หลายเดือนก่อน

    Fascinating. Thanks

  • @mehere3013
    @mehere3013 2 ปีที่แล้ว +1

    in todays Times, could the floppy drive controller in the drive have its firmware modified to copy these discs

    • @RobSmithDev
      @RobSmithDev  2 ปีที่แล้ว +1

      With some systems it isn’t even firmware, it’s actual hardware / hard wired. The Amiga for example it’s handled by Paula and there’s no firmware there

  • @pygmybodunk1373
    @pygmybodunk1373 ปีที่แล้ว +1

    I had a commodore 64 and I created a write error on the desk by poking a hole with a needle. My boot program would search that track and sector for the write error before it would run, but no copy program in existence was able to copy it. This was in the 1980s.

    • @RobSmithDev
      @RobSmithDev  ปีที่แล้ว

      Yeah I’ve seen that technique a few times!

  • @Galahadfairlight
    @Galahadfairlight 2 ปีที่แล้ว +1

    Sorry, did we ridicule someones "protection"? ;)

  • @nasty_niff
    @nasty_niff 3 ปีที่แล้ว +1

    Thank god for happy 1050 , super archiver and the bit writer