A few days ago I was chatting with a friend who wanted to use netseal to license their programs. I was explaining to him why it was useless, figured I would make a thread explaining why. Of course you can always pack your code, but that would lead the false positives and nobody wants to download a phishy program.
Visual studio comes with a developer tool, called ildasm. It allows you to output the ilcode of the program. Whats ilcode? Basically it's used by the .NET framework to generate machine independent code as the output of compilation of the source code written in any .NET programming language.
To use ildasm, you just have to load it through visual studio developer console located here: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat"
So basically what we do is, we look for where netseal is instantiated and then we remove the ilcode as well anything that uses the object.
Steps:
- run ildasm
- open program in ildasm
- dump ilcode
- open .il file in notepad
- look for and remove instantiation of netseal as well as anything uses it's object.
- save
- recompile with ilasm
ilcode that instantiates netseal as well as load the license.
If you're looking for any other uses of the netseal object, you would ctrl + f "License::" and remove that ilcode aswell. Note: It might not always be called License, you might have to do some extra digging.
I made a video real quick for it.
I did write this on another forum first, a simple Google search will find it.
Visual studio comes with a developer tool, called ildasm. It allows you to output the ilcode of the program. Whats ilcode? Basically it's used by the .NET framework to generate machine independent code as the output of compilation of the source code written in any .NET programming language.
To use ildasm, you just have to load it through visual studio developer console located here: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat"
So basically what we do is, we look for where netseal is instantiated and then we remove the ilcode as well anything that uses the object.
Steps:
- run ildasm
- open program in ildasm
- dump ilcode
- open .il file in notepad
- look for and remove instantiation of netseal as well as anything uses it's object.
- save
- recompile with ilasm
ilcode that instantiates netseal as well as load the license.
Code:
IL_0000: nop // no-operation
IL_0001: newobj instance void License::.ctor() // creates object
IL_0006: stloc.0 //pops value from top of the stack and stores it in local variable 0. Takes the value of newobj and stores it here.
IL_0007: ldloc.0 // loads the value from stloc.0 onto the stack -- loads the object onto the stack.
IL_0008: ldstr "246G0000" //loads string "246G000"
IL_000d: callvirt instance void License::Initialize(string) // string "246G000" is then passed into the function and called.
If you're looking for any other uses of the netseal object, you would ctrl + f "License::" and remove that ilcode aswell. Note: It might not always be called License, you might have to do some extra digging.
I made a video real quick for it.
I did write this on another forum first, a simple Google search will find it.
This account is currently banned
Ban reason: Learn from your mistakes.
Ban reason: Learn from your mistakes.