コード例 #1
0
ファイル: Worker.cs プロジェクト: khraoverflow/AsStrongAsFuck
        public void ExecuteObfuscations(string param)
        {
            Code = param;
            var       shit  = param.ToCharArray().ToList();
            Stopwatch watch = new Stopwatch();

            watch.Start();
            foreach (var v in shit)
            {
                int i = int.Parse(v.ToString()) - 1;
                Logger.LogMessage("Executing ", Obfuscations[i], ConsoleColor.Magenta);
                Type       type     = OwnAssembly.GetTypes().First(x => x.Name == Obfuscations[i]);
                var        instance = Activator.CreateInstance(type);
                MethodInfo info     = type.GetMethod("Execute");
                try
                {
                    info.Invoke(instance, new object[] { Module });
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
            watch.Stop();
            Console.WriteLine("Time taken: " + watch.Elapsed.ToString());
        }
コード例 #2
0
        public void Save()
        {
            Watermark();
            Logger.LogMessage("Saving as ", Path + "obfuscated.exe", ConsoleColor.Yellow);
            ModuleWriterOptions opts = new ModuleWriterOptions(Module);

            opts.Logger = DummyLogger.NoThrowInstance;

            //Testing
            opts.PEHeadersOptions.NumberOfRvaAndSizes        = 13;
            opts.MetaDataOptions.TablesHeapOptions.ExtraData = 0x12345678;
            int classnumber = RuntimeHelper.Random.Next(75, 100);

            for (int i = 0; i < classnumber; i++)
            {
                opts.MetaDataOptions.OtherHeaps.Add(new MyHeap(Renamer.GetRandomName()));
            }

            int        ii       = 7;
            Type       typex    = OwnAssembly.GetTypes().First(x => x.Name == Obfuscations[ii]);
            var        instance = Activator.CreateInstance(typex);
            MethodInfo infod    = typex.GetMethod("AddFakeClasses");

            try
            {
                infod.Invoke(instance, new object[] { Module });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }

            Assembly.Write(Path + "obfuscated.exe", opts);
            Console.WriteLine("Saved.");
        }
コード例 #3
0
 public override IEnumerable <Type> GetEventClasses()
 {
     return(OwnAssembly
            .GetTypes()
            .Where(t => string.Equals(t.Namespace, "StardewModdingAPI.Events", StringComparison.Ordinal)));
 }