Пример #1
0
        public static bool Run(string[] args)
        {
            ConvTool prog = new ConvTool();

            if (args.Length < 1 || args[0].EqualsCI("-h") || args[0].EqualsCI("-help"))
            {
                Trace.WriteLine("IDAtoHEW CopyRight Merrill A. Myers III 2012");
                Trace.WriteLine("USAGE:");
                Trace.WriteLine("Convert .map file to C defines header (.h) and section file (.txt) using .xml translation: IDAtoHEW <file.xml> <file.map> <file.h> <file.txt>");
                Trace.WriteLine("Convert .map file to IDC script: IDAtoHEW <file.map> <file.idc>");
                Trace.WriteLine("Convert .h file to IDC script: IDAtoHEW <file.h> <file.idc>");
            }
            else if (args[0].ContainsCI(".h"))
            {
                prog.ReadHeader(args[0]);
                if (args.Length < 3)
                {
                    prog.WriteIDC(Regex.Split(args[0], ".h")[0] + ".idc");
                }
                else
                {
                    prog.WriteIDC(args[1]);
                }
            }
            else if (args[0].ContainsCI(".map"))
            {
                idaMap = new IdaMap(args[0]);
                prog.MapToDefines();
                if (args.Length < 3)
                {
                    prog.WriteIDC(Regex.Split(args[0], ".map")[0] + ".idc");
                }
                else
                {
                    prog.WriteIDC(args[1]);
                }
            }
            else if (args[0].ContainsCI(".xml") && args.Length == 6)
            {
                String Build  = "Debug";
                String Config = args[5].Split('_')[0];
                if (args[5].Split('_').Length > 1)
                {
                    Build = args[5].Split('_')[1];
                }

                prog.LoadXML(args[0]);
                idaMap = new IdaMap(args[1]);

                Definition def = SharpTuner.AvailableDevices.DefDictionary[args[4]];

                prog.FindAndWriteDefines(args[2], Build, Config, def.CarInfo["internalidstring"].ToString(), def.CarInfo["ecuid"].ToString()); //TODO: auto load ecuid??
                prog.FindAndWriteSections(args[3]);
            }
            else
            {
                Trace.WriteLine("invalid command! Args: " + args.Length);
            }
            return(true); //TODO FIX!!
        }
Пример #2
0
        public static bool Run(string[] args)
        {
            ConvTool prog = new ConvTool();

            if (args.Length < 1 || args[0].EqualsCI("-h") || args[0].EqualsCI("-help"))
            {
                Trace.WriteLine("IDAtoHEW CopyRight Merrill A. Myers III 2012");
                Trace.WriteLine("USAGE:");
                Trace.WriteLine("Convert .map file to C defines header (.h) and section file (.txt) using .xml translation: IDAtoHEW <file.xml> <file.map> <file.h> <file.txt>");
                Trace.WriteLine("Convert .map file to IDC script: IDAtoHEW <file.map> <file.idc>");
                Trace.WriteLine("Convert .h file to IDC script: IDAtoHEW <file.h> <file.idc>");
            }
            else if (args[0].ContainsCI(".h"))
            {
                prog.ReadHeader(args[0]);
                if (args.Length < 3)
                    prog.WriteIDC(Regex.Split(args[0], ".h")[0] + ".idc");
                else
                    prog.WriteIDC(args[1]);
            }
            else if (args[0].ContainsCI(".map"))
            {
                idaMap = new IdaMap(args[0]);
                prog.MapToDefines();
                if (args.Length < 3)
                    prog.WriteIDC(Regex.Split(args[0], ".map")[0] + ".idc");
                else
                    prog.WriteIDC(args[1]);
            }
            else if (args[0].ContainsCI(".xml") && args.Length == 6)
            {
                String Build = "Debug";
                String Config = args[5].Split('_')[0];
                if(args[5].Split('_').Length > 1)
                    Build = args[5].Split('_')[1];

                prog.LoadXML(args[0]);
                idaMap = new IdaMap(args[1]);

                Definition def = SharpTuner.AvailableDevices.DefDictionary[args[4]];

                prog.FindAndWriteDefines(args[2],Build,Config,def.CarInfo["internalidstring"].ToString(),def.CarInfo["ecuid"].ToString()); //TODO: auto load ecuid??
                prog.FindAndWriteSections(args[3]);
            }
            else
                Trace.WriteLine("invalid command! Args: " + args.Length );
            return true; //TODO FIX!!
        }