Slashdot Mirror


Morphing Code to Prevent Reverse Engineering?

ptolemu writes "Cringely's latest article discusses a new obfuscation technique currently being researched called PSCP (Program State Code Protection). An informative read that concludes with some interesting insight on the software giants that heavily depend on this kind of technology."

26 of 507 comments (clear)

  1. do what i do by theMerovingian · · Score: 4, Funny


    delete all the white space, and comment in Hungarian

    --
    "If you think you have things under control, you're not going fast enough." --Mario Andretti
    1. Re:do what i do by AntiOrganic · · Score: 5, Funny

      Just name all of your variables in Hungarian notation like Microsoft. No one will have any idea what the fuck is going on even if your entire source code leaks.

    2. Re:do what i do by Dark+Lord+Seth · · Score: 3, Funny

      Comment?

    3. Re:do what i do by kfg · · Score: 5, Funny

      Ok, I tried that. It really works.

      In fact, it obfuscated my Python code so badly even the interpreter couldn't figure out what the hell it meant.

      Maybe I need to improve my Hungarian.

      KFG

    4. Re:do what i do by Anonymous Coward · · Score: 2, Funny

      Az a baj, hogy vannak azok kozolunk, aki angolt is es magyart is ismerik. A magyar nyelv nem lehetlen nehez megtanulni es megerteni. Sot, ezek is forithatnak a "csak angol-beszelo" reszere.

      (The problem is, that there are those among us who speak both English and Hungarian. The Hungarian language is not impossibly hard to learn and understand. Heck, these folks could translate for the "only-English speakers.")

      --AC

    5. Re:do what i do by BobGregg · · Score: 5, Funny

      >>delete all the white space, and comment in Hungarian

      Ha, you laugh. At my first job, the documentation for our product (a medical management system) was written by the original software developer - who was Hungarian. Screen after screen, there were pages filled with explanations like this:

      LOBExpCode. This is the LOBExpCode for the system. Enter your LOBExpCode here.
      NGFTSMapC. This is the NGFTSMapC for the system. Enter your NGFTSMapC here.

      And so on. And no, no data dictionary. Occasionally there would be half-pages of attempted explanation in extremely broken English. Even our own developers couldn't tell what half the stuff did. So that's one form of code obfuscation...

    6. Re:do what i do by Ernest+P+Worrell · · Score: 3, Funny

      Hungarian is the old standard. Microsoft is now encouraging a pascal/camel case type notation. New focus: readability.

    7. Re:do what i do by Anonymous Coward · · Score: 4, Funny

      Proof positive of the undeniable advantages of offshoring!

    8. Re:do what i do by loucura! · · Score: 5, Funny

      You mean you don't know the scope of Tmp, i, and j?! What's wrong with you? Tmp is obviously a global string, i is a class level float, and j is a local pointer to a linked list. Jeez, programmers these days.

      --
      Black and grey are both shades of white.
    9. Re:do what i do by Anonymous Coward · · Score: 5, Funny

      Boy, if only there were some way to unambiguously declare the type of your variable. You could put it right next to where you declare the variable, or where it gets passed into the function. And then, if you needed to change the variable's type, you could do it from that one location. If only this were the case, we could get rid of the ugly maintenance nightmare that is Hungarian Notation.

    10. Re:do what i do by wideBlueSkies · · Score: 2, Funny

      So in other words you were writing Perl code. :)

      wbs.

      --
      Huh?
  2. Enough by Tebriel · · Score: 4, Funny

    The code I write is obfuscated enough as it is. I'm my own anti-piracy mechanism.

    --
    The Blaster Master Fighting for Truth, Justice, and Evil Pie since 1979
    1. Re:Enough by metlin · · Score: 5, Funny

      So you code in Perl too, eh?

  3. Wonder Twins. by Kenja · · Score: 5, Funny
    Wonder Twins power, ACTIVATE!

    Form of, illegible code.
    Shape of, encrypted executables.

    Not sure where the monkey fits into all of this.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    1. Re:Wonder Twins. by Anonymous Coward · · Score: 1, Funny

      The monkey wrote the code, I think...

  4. easy to do by Anonymous Coward · · Score: 3, Funny

    write really bad code. you don't see anyone reverse engineering Windows, do you?

  5. Top 12 Things A Klingon Programmer Would Say by dnahelix · · Score: 3, Funny
    Top 12 Things A Klingon Programmer Would Say

    1. 12. Specifications are for the weak and timid!


    2. 11. This machine is a piece of GAGH! I need dual
      processors if I am to do battle with this code!

      10. You cannot really appreciate Dilbert unless you've read
      it in the original Klingon.

      9. Indentation?! -- I will show you how to indent
      when I indent your skull!

      8. What is this talk of 'release'? Klingons do not make
      software 'releases'. Our software 'escapes' leaving a bloody
      trail of designers and quality assurance people in its wake.

      7. Klingon function calls do not have 'parameters' -- they
      have 'arguments' -- and they ALWAYS WIN THEM.

      6. Debugging? Klingons do not debug. Our software
      does not coddle the weak.

      5. I have challenged the entire quality assurance
      team to a Bat-Leth contest. They will not concern us again.

      4. A TRUE Klingon Warrior does not comment his code!

      3. By filing this SPR you have challenged the honor
      of my family. Prepare to die!

      2. You question the worthiness of my code? I should
      kill you where you stand!

      1. Our users will know fear and cower before our software.
      Ship it! Ship it, and let them flee like the dogs they are!
    --
    Slashdot Eds Link Anonymous Posts With Logged Posts
    They Are Vermin Feeding On Each Other's Feces.
    I Hate \.
  6. pah! by openSoar · · Score: 2, Funny

    i always write obfuscated code by default - goddamit! if it was hard to write, it should be hard to read

  7. Let's try an experiment! by El · · Score: 3, Funny

    Let's start a software company based on an algorithm that promises to compress any string of bits into a 1 bit smaller string of bits, and thus by multiple invocations can compress any string of bits into a single bit... Then let's see if we can get Cringely to recommend this technology!

    --

    "Freedom means freedom for everybody" -- Dick Cheney

  8. Hungarian? Forget about it. Use Finnish. by Anonymous Coward · · Score: 3, Funny
    and comment in Hungarian

    As a Finn, I must propose our language as a viable alternative for obfuscation purposes. Please allow me to demonstrate:

    Tama koodi ei toimi ja siina on ladonoven kokoinen aukko - mutta ei Linus sita tajua.

  9. Classic Cringly from PBS! by Anonymous Coward · · Score: 0, Funny

    Executive summary of the article:

    1. MS bad!
    2. MS code is insecure
    3. Linux rulez d00d!

    Next, I assume we will hear from him how someone 'discovered' that writing a procedural like algorithm in a rules based language makes the code more secure.

    I really really feel good that my tax dollars are being well spent at PBS to fund political speech.

    I especially like the fact that I am funding political speech that I disagree with!

    Hey, wait isn't that violating my 1st amendment rights!

  10. I reverse engineered WinXP!!! by Anonymous Coward · · Score: 1, Funny

    And I am still in shock what I found...
    RedHat Mother's Day edition with Hungarian comments and an obfuscating GUI layer.
    No wonder Microsoft is scared to open it up.

  11. It must be said by pimpinmonk · · Score: 2, Funny

    In Soviet Russia, the code modifies YOU!

    Imagine the ramifications of that statement. Actually it's kind of true--my increasingly bad sleep patterns and worsening ability to attract women are probably direct results of coding! But hey, at least I can't get reverse-engineered (that sounds like sodomy, so I think it's a Very Good Thing(TM))

  12. I, for one by Anonymous Coward · · Score: 1, Funny

    I, for one, vote for SCO's greek-letter obfuscation technique...

    Slide 10

  13. I obscutify my code the old fashioned way by Anonymous Coward · · Score: 1, Funny

    Spagetti. Not to mention the spelling mistakes.

  14. Variables that lie by lolits · · Score: 3, Funny

    Reminds me of an assembler language program I once had to fix, in which the programmer had equated "R5" with 3.