示例#1
0
        public void Run(DevirtualizationCtx Ctx)
        {
            Ctx.VirtualizedMethods = new List <VMMethod>();
            var disassembler = new VMDisassembler(Ctx);

            for (var i = 0; i < Ctx.Parser.MethodKeys.Length; i++)
            {
                var method = disassembler.DisassembleMethod(Ctx.Parser.MethodKeys[i]);
                Ctx.VirtualizedMethods.Add(method);
            }
        }
示例#2
0
        private static void DisassembleEmbeddedCode(byte[] memory)
        {
            var builder = new StringBuilder();

            foreach (var instruction in VMDisassembler.Disassemble(memory))
            {
                builder.AppendLine(instruction.ToString());
            }

            File.WriteAllText("embedded_code.txt", builder.ToString());
        }