Jump to content
Tuts 4 You

Inx .NET Protector


Go to solution Solved by Accede,

Recommended Posts

Posted

Inx .NET Protector


Hey, I just made my own protector. I modified my own version of ConfuserEx and improved it and made it stronger so I want to know if it is good or not? Please try to unpack it and tell me, thanks ♥

All Rights Reserved To Inx.


 

  • 2 months later...
  • Solution
Posted (edited)

I know what for are version you used to make that confuserex mod and the modifications you used Hmm md5 is old as f
And 1 of you unpackmes dont even start and i know 100% what it is that it not start fix you junk dump and you cflow module.
He used something like this

Spoiler

try
                {
                    string kappa = File.ReadAllText(Directory.GetCurrentDirectory() + "\\Packer.txt");
                    string FilePath = kappa.Split(';')[0];
                    string CleanPath = kappa.Split(';')[1];
                    string FileName = Path.GetFileName(FilePath);
                    byte[] assembly = File.ReadAllBytes(FilePath);
                    RijndaelManaged rijndaelManaged = new RijndaelManaged();
                    rijndaelManaged.KeySize = 256;
                    rijndaelManaged.GenerateIV();
                    rijndaelManaged.GenerateKey();
                    string newValue = Convert.ToBase64String(rijndaelManaged.Key);
                    string newValue2 = Convert.ToBase64String(rijndaelManaged.IV);
                    MemoryStream memoryStream = new MemoryStream();
                    rijndaelManaged.Padding = PaddingMode.ISO10126;
                    CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndaelManaged.CreateEncryptor(), CryptoStreamMode.Write);
                    cryptoStream.Write(assembly, 0, assembly.Length);
                    cryptoStream.FlushFinalBlock();
                    cryptoStream.Flush();
                    memoryStream.Seek(0L, SeekOrigin.Begin);
                    string newValue3 = Convert.ToBase64String(memoryStream.ToArray());
                    cryptoStream.Close();
                    memoryStream.Close();
                    string text = Properties.Resources.StubCode;
                    text = text.Replace("%KEY%", newValue);
                    text = text.Replace("%IV%", newValue2);
                    text = text.Replace("%PROGRAM%", newValue3);
                    text = text.Replace("%lV%", RandomString(3000));
                    Assembly assembly2 = Assembly.Load(assembly);
                    Dictionary<string, string> dictionary = new Dictionary<string, string>();
                    dictionary.Add("CompilerVersion", "v4.0");
                    goto IL_120;
                IL_120:
                    CSharpCodeProvider csharpCodeProvider = new CSharpCodeProvider(dictionary);
                    CompilerParameters compilerParameters = new CompilerParameters();
                    compilerParameters.CompilerOptions = "/target:winexe";
                    foreach (AssemblyName assemblyName in assembly2.GetReferencedAssemblies())
                    {
                        if (assemblyName.Name.Contains("System.") || assemblyName.Name.Contains("Microsoft."))
                        {
                            compilerParameters.ReferencedAssemblies.Add(assemblyName.Name + ".dll");
                        }
                    }
                    string outputAssembly = Path.GetTempPath() + Guid.NewGuid().ToString() + ".exe";
                    compilerParameters.GenerateExecutable = true;
                    compilerParameters.OutputAssembly = outputAssembly;
                    CompilerResults compilerResults = csharpCodeProvider.CompileAssemblyFromSource(compilerParameters, new string[]
                    {
                text
                    });
                    byte[] result;
                    try
                    {
                        FileStream fileStream = compilerResults.CompiledAssembly.GetFiles()[0];
                        byte[] array = new byte[fileStream.Length];
                        int num = fileStream.Read(array, 0, array.Length);
                        fileStream.Close();
                        string name = fileStream.Name;
                        fileStream.Dispose();
                        if (num == array.Length)
                        {
                            result = array;
                        }
                        else
                        {
                            result = null;
                        }
                    }
                    catch
                    {
                        result = null;
                    }
                    Directory.CreateDirectory(CleanPath + "\\Confused\\Packed");
                    File.WriteAllBytes(CleanPath + "\\Confused\\Packed\\" + FileName, result);
                    File.Delete(Directory.GetCurrentDirectory() + "\\Packer.txt");

And the list something like this:
 

fat_list.txt

Edited by Accede

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...