Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Dynamic crypting

Dynamic crypting

Scheduled Pinned Locked Moved C / C++ / MFC
comsecuritytutorial
4 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Alex Korchemniy
    wrote on last edited by
    #1

    I ran accross a protection tool called Ultraprotect. Here's something that caught my attention: www.ultraprotect.com/dynamiccode.htm[^]. There's a prolog / epilog style encryption decryption (most likely done in __asm blocks). This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. I'd like to learn how to implement something like this myself. If anyone has experience with this type of coding please give me some helpful links/pointers. Alex Korchemniy

    R 1 Reply Last reply
    0
    • A Alex Korchemniy

      I ran accross a protection tool called Ultraprotect. Here's something that caught my attention: www.ultraprotect.com/dynamiccode.htm[^]. There's a prolog / epilog style encryption decryption (most likely done in __asm blocks). This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. I'd like to learn how to implement something like this myself. If anyone has experience with this type of coding please give me some helpful links/pointers. Alex Korchemniy

      R Offline
      R Offline
      Ryan Binns
      wrote on last edited by
      #2

      Alex Korchemniy  wrote: This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. Not really. All they have to do is extract the full code for the method into another application, delete the epilog part and run it. voila. Code cracked. It might take them an extra 5 minutes. It would be easy to write a tool to search through the executable for the prolog and epilog bits, decrypt the code and remove the prolog/epilog, thus defeating the encryption completely.

      Ryan

      "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"

      A 1 Reply Last reply
      0
      • R Ryan Binns

        Alex Korchemniy  wrote: This makes the crackers life a tad bit harder by making them unpack certain parts of the code manually. Not really. All they have to do is extract the full code for the method into another application, delete the epilog part and run it. voila. Code cracked. It might take them an extra 5 minutes. It would be easy to write a tool to search through the executable for the prolog and epilog bits, decrypt the code and remove the prolog/epilog, thus defeating the encryption completely.

        Ryan

        "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"

        A Offline
        A Offline
        Alex Korchemniy
        wrote on last edited by
        #3

        I understand... I can do that myself. I'd just like some hints as to whats a good way to start implementing something like this. I'm planning to add on to it later(mingle code with encryption so that the entire block never shows) once I get the hang of how to do it properly. Any good article on writing good software protection are welcome. Alex Korchemniy

        T 1 Reply Last reply
        0
        • A Alex Korchemniy

          I understand... I can do that myself. I'd just like some hints as to whats a good way to start implementing something like this. I'm planning to add on to it later(mingle code with encryption so that the entire block never shows) once I get the hang of how to do it properly. Any good article on writing good software protection are welcome. Alex Korchemniy

          T Offline
          T Offline
          ThatsAlok
          wrote on last edited by
          #4

          Have a Look here :- http://www.codeproject.com/cpp/softprot.asp[^] http://www.codeproject.com/tools/opensrcprot.asp[^] http://www.codeproject.com/tools/opensrcprot_part2.asp[^]

          "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

          cheers, Alok Gupta

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups