Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - FFernandez

#91
Porque   2 3 5 6 8 9     omites el 22,33 etc

22,23,25,26,28,29
32,33,35,36,38,39


12 números combinados de 6 en 6 sin repetición

la combinación numero 1 seria 22,23,25,26,28,29

la última seria 32,33,35,36,38,39
#92
Si buscas el puntero inicial con el programa en ejecución, y cada vez que lo cargas cambia es porque  el .EXE se a cargado en otra ubicación de memoria.      
Una vez localizado el puntero debes de localizar la dirección de memoria inicial del programa en memoria.
Calcula la diferencia y obtendrás el RVA.
Cada vez que inicies la aplicación tienes que obtener el punto de entrada del mismo y sumarle el RVA.

Si aún no funciona buscamos ese valor(RVA) en otra ubicación que siempre sea la misma y contenga ese mismo valor. Obtenemos su RVA.  Cada vez que lo utilicemos en este caso ascendemos a esa dirección de memoria y leemos el contenido que será nuestro RVA2, + (puntero inicial) . Sera nuestro puntero a .................
#93
Primero:
1º averiguar longitud de la clave ¿si existe?
2º si no existe, averiguar el algoritmo
Todo sin entrar en las funciones que lo ha creado.
Segundo: ¿???



Quien se apunta?
#94
He encontrado esto, en el primer enlace me cuadra con la realidad viendo el código en hexadecimal.  Pero no encuentro la explicación de cada ítem correctamente, tengo localizado
Signatura, size, etc y el final  UltimateFallbackLanguage. El resto no lo puedo determinar???

El segundo enlace es para obtenerlo por código, y no me sirve para desensamblar


https://docs.microsoft.com/en-us/windows/win32/intl/resource-utilities

https://docs.microsoft.com/en-us/windows/win32/api/winnls/ns-winnls-filemuiinfo


>:(


Resuelto y publicado
    ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)

Gracias  Apuromafo CLS    :D
#95
Redes / Re: MODEM/ROUTER vs. modem tp-link
19 Diciembre 2020, 13:01 PM
Un saludo, sin hacer nada, en vez de poner la IP de la WEB, pon la IP asignada al Rúter o Modem y acederas a la Configuración igualmente.
#96
Ingeniería Inversa / Re: Crackear un programa
16 Diciembre 2020, 23:41 PM
#97
Ingeniería Inversa / Re: Un poco de info
16 Diciembre 2020, 23:25 PM
Hay que entender las estructuras, tanto de lo que se ejecuta en tu dispositivo, como los protocolos de comunicación, como lo que se ejecuta En los servidores remotos.
Todos tienden a optimizar el rendimiento con respecto a la calidad, mucha calidad supone que tu dispositivo hará la mayor parte del trabajo, incluso habrá en algunos casos comunicaciones entre los dispositivos de los usuarios...................... Etc..    es un mundo intrigante.
#98
Constantes


Código (cpp) [Seleccionar]
 public static string Language_Int(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {

           ["1025"] = "Arabic - Saudi Arabia",  // ar-SA
           ["1026"] = "Bulgarian",  // bg-BG
           ["1027"] = "Catalan",  // ca-ES
           ["1028"] = "Chinese - Taiwan",  // zh-TW
           ["1029"] = "Czech",  // cs-CZ
           ["1030"] = "Danish",  // da-DK
           ["1031"] = "German - Germany",  // de-DE
           ["1032"] = "Greek",  // el-GR
           ["1033"] = "English - United States",  // en-US
           ["1034"] = "Spanish - Spain (Traditional Sort)",  // es-ES
           ["1035"] = "Finnish",  // fi-FI
           ["1036"] = "French - France",  // fr-FR
           ["1037"] = "Hebrew",  // he-IL
           ["1038"] = "Hungarian",  // hu-HU
           ["1039"] = "Icelandic",  // is-IS
           ["1040"] = "Italian - Italy",  // it-IT
           ["1041"] = "Japanese",  // ja-JP
           ["1042"] = "Korean",  // ko-KR
           ["1043"] = "Dutch - Netherlands",  // nl-NL
           ["1044"] = "Norwegian (Bokmål)",  // nb-NO
           ["1045"] = "Polish",  // pl-PL
           ["1046"] = "Portuguese - Brazil",  // pt-BR
           ["1047"] = "Rhaeto-Romanic",  // rm-CH
           ["1048"] = "Romanian",  // ro-RO
           ["1049"] = "Russian",  // ru-RU
           ["1050"] = "Croatian",  // hr-HR
           ["1051"] = "Slovak",  // sk-SK
           ["1052"] = "Albanian - Albania",  // sq-AL
           ["1053"] = "Swedish",  // sv-SE
           ["1054"] = "Thai",  // th-TH
           ["1055"] = "Turkish",  // tr-TR
           ["1056"] = "Urdu - Pakistan",  // ur-PK
           ["1057"] = "Indonesian",  // id-ID
           ["1058"] = "Ukrainian",  // uk-UA
           ["1059"] = "Belarusian",  // be-BY
           ["1060"] = "Slovenian",  // sl-SI
           ["1061"] = "Estonian",  // et-EE
           ["1062"] = "Latvian",  // lv-LV
           ["1063"] = "Lithuanian",  // lt-LT
           ["1064"] = "Tajik",  // tg-Cyrl-TJ
           ["1065"] = "Persian",  // fa-IR
           ["1066"] = "Vietnamese",  // vi-VN
           ["1067"] = "Armenian - Armenia",  // hy-AM
           ["1068"] = "Azeri (Latin)",  // az-Latn-AZ
           ["1069"] = "Basque",  // eu-ES
           ["1070"] = "Sorbian",  // wen-DE
           ["1071"] = "F.Y.R.O. Macedonian",  // mk-MK
           ["1072"] = "Sutu",  // st-ZA
           ["1073"] = "Tsonga",  // ts-ZA
           ["1074"] = "Tswana",  // tn-ZA
           ["1075"] = "Venda",  // ven-ZA
           ["1076"] = "Xhosa",  // xh-ZA
           ["1077"] = "Zulu",  // zu-ZA
           ["1078"] = "Afrikaans - South Africa",  // af-ZA
           ["1079"] = "Georgian",  // ka-GE
           ["1080"] = "Faroese",  // fo-FO
           ["1081"] = "Hindi",  // hi-IN
           ["1082"] = "Maltese",  // mt-MT
           ["1083"] = "Sami",  // se-NO
           ["1084"] = "Gaelic (Scotland)",  // gd-GB
           ["1085"] = "Yiddish",  // yi
           ["1086"] = "Malay - Malaysia",  // ms-MY
           ["1087"] = "Kazakh",  // kk-KZ
           ["1088"] = "Kyrgyz (Cyrillic)",  // ky-KG
           ["1089"] = "Swahili",  // sw-que
           ["1090"] = "Turkmen",  // tk-TM
           ["1091"] = "Uzbek (Latin)",  // uz-Latn-UZ
           ["1092"] = "Tatar",  // tt-RU
           ["1093"] = "Bengali (India)",  // bn-IN
           ["1094"] = "Punjabi",  // pa-IN
           ["1095"] = "Gujarati",  // gu-IN
           ["1096"] = "Oriya",  // or-IN
           ["1097"] = "Tamil",  // ta-IN
           ["1098"] = "Telugu",  // te-IN
           ["1099"] = "Kannada",  // kn-IN
           ["1100"] = "Malayalam",  // ml-IN
           ["1101"] = "Assamese",  // as-IN
           ["1102"] = "Marathi",  // mr-IN
           ["1103"] = "Sanskrit",  // sa-IN
           ["1104"] = "Mongolian (Cyrillic)",  // mn-MN
           ["1105"] = "Tibetan - People's Republic of China",  // bo-CN
           ["1106"] = "Welsh",  // cy-GB
           ["1107"] = "Khmer",  // km-KH
           ["1108"] = "Lao",  // lo-LA
           ["1109"] = "Burmese",  // my-MM
           ["1110"] = "Galician",  // gl-ES
           ["1111"] = "Konkani",  // kok-IN
           ["1112"] = "Manipuri",  // mni
           ["1113"] = "Sindhi - India",  // sd-IN
           ["1114"] = "Syriac",  // syr-SY
           ["1115"] = "Sinhalese - Sri Lanka",  // si-LK
           ["1116"] = "Cherokee - United States",  // chr-US
           ["1117"] = "Inuktitut",  // iu-Cans-CA
           ["1118"] = "Amharic - Ethiopia",  // am-ET
           ["1119"] = "Tamazight (Arabic)",  // tmz
           ["1120"] = "Kashmiri (Arabic)",  // ks-Arab-IN
           ["1121"] = "Nepali",  // ne-NP
           ["1122"] = "Frisian - Netherlands",  // fy-NL
           ["1123"] = "Pashto",  // ps-AF
           ["1124"] = "Filipino",  // fil-PH
           ["1125"] = "Divehi",  // dv-MV
           ["1126"] = "Edo",  // bin-NG
           ["1127"] = "Fulfulde - Nigeria",  // fuv-NG
           ["1128"] = "Hausa - Nigeria",  // ha-Latn-NG
           ["1129"] = "Ibibio - Nigeria",  // ibb-NG
           ["1130"] = "Yoruba",  // yo-NG
           ["1131"] = "Quecha - Bolivia",  // quz-BO
           ["1132"] = "Sepedi",  // nso-ZA
           ["1136"] = "Igbo - Nigeria",  // ig-NG
           ["1137"] = "Kanuri - Nigeria",  // kr-NG
           ["1138"] = "Oromo",  // gaz-ET
           ["1139"] = "Tigrigna - Ethiopia",  // ti-ER
           ["1140"] = "Guarani - Paraguay",  // gn-PY
           ["1141"] = "Hawaiian - United States",  // haw-US
           ["1142"] = "Latin",  // la
           ["1143"] = "Somali",  // so-SO
           ["1144"] = "Yi",  // ii-CN
           ["1145"] = "Papiamentu",  // pap-AN
           ["1152"] = "Uighur - China",  // ug-Arab-CN
           ["1153"] = "Maori - New Zealand",  // mi-NZ
           ["2049"] = "Arabic - Iraq",  // ar-IQ
           ["2052"] = "Chinese - People's Republic of China",  // zh-CN
           ["2055"] = "German - Switzerland",  // de-CH
           ["2057"] = "English - United Kingdom",  // en-GB
           ["2058"] = "Spanish - Mexico",  // es-MX
           ["2060"] = "French - Belgium",  // fr-BE
           ["2064"] = "Italian - Switzerland",  // it-CH
           ["2067"] = "Dutch - Belgium",  // nl-BE
           ["2068"] = "Norwegian (Nynorsk)",  // nn-NO
           ["2070"] = "Portuguese - Portugal",  // pt-PT
           ["2072"] = "Romanian - Moldava",  // ro-MD
           ["2073"] = "Russian - Moldava",  // ru-MD
           ["2074"] = "Serbian (Latin)",  // sr-Latn-CS
           ["2077"] = "Swedish - Finland",  // sv-FI
           ["2080"] = "Urdu - India",  // ur-IN
           ["2092"] = "Azeri (Cyrillic)",  // az-Cyrl-AZ
           ["2108"] = "Gaelic (Ireland)",  // ga-IE
           ["2110"] = "Malay - Brunei Darussalam",  // ms-BN
           ["2115"] = "Uzbek (Cyrillic)",  // uz-Cyrl-UZ
           ["2117"] = "Bengali (Bangladesh)",  // bn-BD
           ["2118"] = "Punjabi (Pakistan)",  // pa-PK
           ["2128"] = "Mongolian (Mongolian)",  // mn-Mong-CN
           ["2129"] = "Tibetan - Bhutan",  // bo-BT
           ["2137"] = "Sindhi - Pakistan",  // sd-PK
           ["2143"] = "Tamazight (Latin)",  // tzm-Latn-DZ
           ["2144"] = "Kashmiri (Devanagari)",  // ks-Deva-IN
           ["2145"] = "Nepali - India",  // ne-IN
           ["2155"] = "Quecha - Ecuador",  // quz-EC
           ["2163"] = "Tigrigna - Eritrea",  // ti-ET
           ["3073"] = "Arabic - Egypt",  // ar-EG
           ["3076"] = "Chinese - Hong Kong SAR",  // zh-HK
           ["3079"] = "German - Austria",  // de-AT
           ["3081"] = "English - Australia",  // en-AU
           ["3082"] = "Spanish - Spain (Modern Sort)",  // es-ES
           ["3084"] = "French - Canada",  // fr-CA
           ["3098"] = "Serbian (Cyrillic)",  // sr-Cyrl-CS
           ["3179"] = "Quecha - Peru",  // quz-PE
           ["4097"] = "Arabic - Libya",  // ar-LY
           ["4100"] = "Chinese - Singapore",  // zh-SG
           ["4103"] = "German - Luxembourg",  // de-LU
           ["4105"] = "English - Canada",  // en-CA
           ["4106"] = "Spanish - Guatemala",  // es-GT
           ["4108"] = "French - Switzerland",  // fr-CH
           ["4122"] = "Croatian (Bosnia/Herzegovina)",  // hr-BA
           ["5121"] = "Arabic - Algeria",  // ar-DZ
           ["5124"] = "Chinese - Macao SAR",  // zh-MO
           ["5127"] = "German - Liechtenstein",  // de-LI
           ["5129"] = "English - New Zealand",  // en-NZ
           ["5130"] = "Spanish - Costa Rica",  // es-CR
           ["5132"] = "French - Luxembourg",  // fr-LU
           ["5146"] = "Bosnian (Bosnia/Herzegovina)",  // bs-Latn-BA
           ["6145"] = "Arabic - Morocco",  // ar-MO
           ["6153"] = "English - Ireland",  // en-IE
           ["6154"] = "Spanish - Panama",  // es-PA
           ["6156"] = "French - Monaco",  // fr-MC
           ["7169"] = "Arabic - Tunisia",  // ar-TN
           ["7177"] = "English - South Africa",  // en-ZA
           ["7178"] = "Spanish - Dominican Republic",  // es-DO
           ["7180"] = "French - West Indies",  // fr-029
           ["8193"] = "Arabic - Oman",  // ar-OM
           ["8201"] = "English - Jamaica",  // en-JM
           ["8202"] = "Spanish - Venezuela",  // es-VE
           ["8204"] = "French - Reunion",  // fr-RE
           ["9217"] = "Arabic - Yemen",  // ar-YE
           ["9225"] = "English - Caribbean",  // en-029
           ["9226"] = "Spanish - Colombia",  // es-CO
           ["9228"] = "French - Democratic Rep. of Congo",  // fr-CG
           ["10241"] = "Arabic - Syria",  // ar-SY
           ["10249"] = "English - Belize",  // en-BZ
           ["10250"] = "Spanish - Peru",  // es-PE
           ["10252"] = "French - Senegal",  // fr-SN
           ["11265"] = "Arabic - Jordan",  // ar-JO
           ["11273"] = "English - Trinidad",  // en-TT
           ["11274"] = "Spanish - Argentina",  // es-AR
           ["11276"] = "French - Cameroon",  // fr-CM
           ["12289"] = "Arabic - Lebanon",  // ar-LB
           ["12297"] = "English - Zimbabwe",  // en-ZW
           ["12298"] = "Spanish - Ecuador",  // es-EC
           ["12300"] = "French - Cote d'Ivoire",  // fr-CI
           ["13313"] = "Arabic - Kuwait",  // ar-KW
           ["13321"] = "English - Philippines",  // en-PH
           ["13322"] = "Spanish - Chile",  // es-CL
           ["13324"] = "French - Mali",  // fr-ML
           ["14337"] = "Arabic - U.A.E.",  // ar-AE
           ["14345"] = "English - Indonesia",  // en-ID
           ["14346"] = "Spanish - Uruguay",  // es-UY
           ["14348"] = "French - Morocco",  // fr-MA
           ["15361"] = "Arabic - Bahrain",  // ar-BH
           ["15369"] = "English - Hong Kong SAR",  // en-HK
           ["15370"] = "Spanish - Paraguay",  // es-PY
           ["15372"] = "French - Haiti",  // fr-HT
           ["16385"] = "Arabic - Qatar",  // ar-QA
           ["16393"] = "English - India",  // en-IN
           ["16394"] = "Spanish - Bolivia",  // es-BO
           ["17417"] = "English - Malaysia",  // en-MY
           ["17418"] = "Spanish - El Salvador",  // es-SV
           ["18441"] = "English - Singapore",  // en-SG
           ["18442"] = "Spanish - Honduras",  // es-HN
           ["19466"] = "Spanish - Nicaragua",  // es-NI
           ["20490"] = "Spanish - Puerto Rico",  // es-PR
           ["21514"] = "Spanish - United States",  // es-US
           ["58378"] = "Spanish - Latin America",  // es-419
           ["58380"] = "French - North Africa",  // fr-015
           ["None"] = Maquina + " None" // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];
   }
public static string RESOURSE_VS_FIXEDFILEINFO_dwFileFlags(string Maquina)
    {
        var Machine = new Dictionary<string, string>
        {

            ["00000001"] = "VS_FF_DEBUG",  //  El archivo contiene información de depuración o se compila con las funciones de depuración habilitadas.

            ["00000010"] = "VS_FF_INFOINFERRED",  // La estructura de la versión del archivo se creó de forma dinámica; por lo tanto, algunos de los miembros de esta estructura pueden estar vacíos o incorrectos. Esta bandera nunca debe establecerse en los datos VS_VERSIONINFO de un archivo.

            ["00000004"] = "VS_FF_PATCHED",  // El archivo ha sido modificado y no es idéntico al archivo de envío original del mismo número de versión.

            ["00000002"] = "VS_FF_PRERELEASE",  // El archivo es una versión de desarrollo, no un producto comercializado.

            ["00000008"] = "VS_FF_PRIVATEBUILD",  // El archivo no se creó utilizando los procedimientos de publicación estándar.Si se establece este indicador, la estructura StringFileInfo debe contener una entrada PrivateBuild entry.


            ["00000020"] = "VS_FF_SPECIALBUILD",  // El archivo fue creado por la empresa original utilizando procedimientos de publicación estándar, pero es una variación del archivo normal del mismo número de versión. Si se establece este indicador, la estructura StringFileInfo debe contener una entrada SpecialBuild entry.

            ["None"] = Maquina + " None"  // return new

        };

        if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

        return Machine[Maquina];
    }

    public static string RESOURSE_VS_FIXEDFILEINFO_dwFileOS(string Maquina)
    {
        var Machine = new Dictionary<string, string>
        {

            ["00010000"] = "VOS_DOS",  //The file was designed for MS-DOS.
            ["00040000"] = "VOS_NT",  //The file was designed for Windows NT.
            ["00000001"] = "VOS__WINDOWS16",  //The file was designed for 16-bit Windows.
            ["00000004L"] = "VOS__WINDOWS32",  //The file was designed for 32-bit Windows.
            ["00020000L"] = "VOS_OS216",  //The file was designed for 16-bit OS/2.
            ["00030000L"] = "VOS_OS232",  //The file was designed for 32-bit OS/2.
            ["00000002L"] = "VOS__PM16",  //The file was designed for 16-bit Presentation Manager.
            ["00000003L"] = "VOS__PM32",  //The file was designed for 32-bit Presentation Manager.
            ["00000000L"] = "VOS_UNKNOWN",  //The operating system for which the file was designed is unknown to the system.
            ["00010001"] = "VOS_DOS_WINDOWS16",  //The file was designed for 16-bit Windows running on MS-DOS.
            ["00010004"] = "VOS_DOS_WINDOWS32",  //The file was designed for 32-bit Windows running on MS-DOS.
            ["00040004"] = "VOS_NT_WINDOWS32",  //The file was designed for Windows NT.
            ["00020002"] = "VOS_OS216_PM16",  //The file was designed for 16-bit Presentation Manager running on 16-bit OS/2.
            ["00030003"] = "VOS_OS232_PM32",  //The file was designed for 32-bit Presentation Manager running on 32-bit OS/2.
            ["None"] = Maquina + " None"  // return new

        };

        if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

        return Machine[Maquina];
    }

    public static string RESOURSE_VS_FIXEDFILEINFO_dwFileType(string Maquina)
    {
        var Machine = new Dictionary<string, string>
        {

            ["00000001"] = "VFT_APP",  //The file contains an application.
            ["00000002"] = "VFT_DLL",  //The file contains a DLL.
            ["00000003"] = "VFT_DRV",  //The file contains a device driver. If dwFileType is VFT_DRV, dwFileSubtype contains a more specific description of the driver.
            ["00000004"] = "VFT_FONT",  //The file contains a font. If dwFileType is VFT_FONT, dwFileSubtype contains a more specific description of the font file.
            ["00000007"] = "VFT_STATIC_LIB",  //The file contains a static-link library.
            ["00000000"] = "VFT_UNKNOWN",  //The file type is unknown to the system.
            ["00000005"] = "VFT_VXD",  //The file contains a virtual device.
            ["None"] = Maquina + " None"  // return new

        };

        if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

        return Machine[Maquina];
    }

    // Todos los valores de dwFileSubtype que no se enumeran aquí están reservados.
    public static string RESOURSE_VS_FIXEDFILEINFO_VFT_DRV_dwFileSubtype_(string Maquina)
    {
        var Machine = new Dictionary<string, string>
        {

            ["0000000A"] = "VFT2_DRV_COMM",  //The file contains a communications driver.
            ["00000004"] = "VFT2_DRV_DISPLAY",  //The file contains a display driver.
            ["00000008"] = "VFT2_DRV_INSTALLABLE",  //The file contains an installable driver.
            ["00000002"] = "VFT2_DRV_KEYBOARD",  //The file contains a keyboard driver.
            ["00000003"] = "VFT2_DRV_LANGUAGE",  //The file contains a language driver.
            ["00000005"] = "VFT2_DRV_MOUSE",  //The file contains a mouse driver.
            ["00000006"] = "VFT2_DRV_NETWORK",  //The file contains a network driver.
            ["00000001"] = "VFT2_DRV_PRINTER",  //The file contains a printer driver.
            ["00000009"] = "VFT2_DRV_SOUND",  //The file contains a sound driver.
            ["00000007"] = "VFT2_DRV_SYSTEM",  //The file contains a system driver.
            ["0000000C"] = "VFT2_DRV_VERSIONED_PRINTER",  //The file contains a versioned printer driver.
            ["00000000"] = "VFT2_UNKNOWN",  //The driver type is unknown by the system.

            ["None"] = Maquina + " None"  // return new

        };

        if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

        return Machine[Maquina];
    }
    public static string RESOURSE_VS_FIXEDFILEINFO_VFT_FONT_dwFileSubtype_(string Maquina)
    {
        var Machine = new Dictionary<string, string>
        {

            ["00000001"] = "VFT2_FONT_RASTER",  //The file contains a raster font.
            ["00000003"] = "VFT2_FONT_TRUETYPE",  //The file contains a TrueType font.
            ["00000002"] = "VFT2_FONT_VECTOR",  //The file contains a vector font.
            ["00000000"] = "VFT2_UNKNOWN",  //The font type is unknown by the system.
            ["None"] = Maquina + " None"  // return new

        };

        if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

        return Machine[Maquina];
    }

#99
un programa con muchas líneas de código si no se sigue un patrón, en caso de falla ¿¿?¿
A la hora de actualizar el programa por motivos varios,  "compatibilidad" etc..?¿?¿
La semejanza en los patrones de objetos, funciones, etc..  en distintos lenguajes, nos ayudan a migrar de uno a otro con relativa facilidad...............
#100
Constantes



Código (cpp) [Seleccionar]

public static string MachineTypes_HEADER_2(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["0000"] = " The content of this field is assumed to be applicable to any machine type",                  
           ["01D3"] = "Matsushita AM33",                
           ["8664"] = "x64",
           ["01C0"] = "ARM little endian",
           ["AA64"] = "ARM64 little endian",
           ["01C4"] = "ARM Thumb-2 little endian",
           ["0EBC"] = "EFI byte code",
           ["014C"] = "Intel 386 or later processors and compatible processors",
           ["0200"] = "Intel Itanium processor family",
           ["9041"] = "Mitsubishi M32R little endian",
           ["0266"] = "MIPS16",
           ["0366"] = "MIPS with FPU",
           ["0466"] = "MIPS16 with FPU",
           ["01F0"] = "Power PC little endian",
           ["01F1"] = "Power PC with floating point support",
           ["0166"] = "MIPS little endian",
           ["5032"] = "RISC-V 32-bit address space",
           ["5064"] = "RISC-V 64-bit address space",
           ["5128"] = "RISC-V 128-bit address space",
           ["01A2"] = "Hitachi SH3",
           ["01A3"] = "Hitachi SH3 DSP",
           ["01A6"] = "Hitachi SH4",
           ["01A8"] = "Hitachi SH5",
           ["01C2"] = "Thumb",
           ["0169"] = "MIPS little-endian WCE v2",
           ["None"] = Maquina + " None"  // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];
   }


   public static string CharacteristicsFile_HEADER_2(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["0001"] = "IMAGE_FILE_RELOCS_STRIPPED",    // Image only, Windows CE, and Microsoft Windows NT and later. This indicates that the file does not contain base relocations and must therefore be loaded at its preferred base address. If the base address is not available, the loader reports an error. The default behavior of the linker is to strip base relocations from executable (EXE) files.
           ["0002"] = "IMAGE_FILE_EXECUTABLE_IMAGE",    // Image only. This indicates that the image file is valid and can be run. If this flag is not set, it indicates a linker error.
           ["0004"] = "IMAGE_FILE_LINE_NUMS_STRIPPED",    // COFF line numbers have been removed. This flag is deprecated and should be zero.
           ["0008"] = "IMAGE_FILE_LOCAL_SYMS_STRIPPED",    // COFF symbol table entries for local symbols have been removed. This flag is deprecated and should be zero.
           ["0010"] = "IMAGE_FILE_AGGRESSIVE_WS_TRIM",    // Obsolete. Aggressively trim working set. This flag is deprecated for Windows 2000 and later and must be zero.
           ["0020"] = "IMAGE_FILE_LARGE_ADDRESS_ AWARE",    // Application can handle > 2-GB addresses.
           ["0040"] = "IMAGE_FILE_FUTURE_USE", // This flag is reserved for future use.
           ["0080"] = "IMAGE_FILE_BYTES_REVERSED_LO",    // Little endian: the least significant bit (LSB) precedes the most significant bit (MSB) in memory. This flag is deprecated and should be zero.
           ["0100"] = "IMAGE_FILE_32BIT_MACHINE",    // Machine is based on a 32-bit-word architecture.
           ["0200"] = "IMAGE_FILE_DEBUG_STRIPPED",    // Debugging information is removed from the image file.
           ["0400"] = "IMAGE_FILE_REMOVABLE_RUN_ FROM_SWAP",    // If the image is on removable media, fully load it and copy it to the swap file.
           ["0800"] = "IMAGE_FILE_NET_RUN_FROM_SWAP",    // If the image is on network media, fully load it and copy it to the swap file.
           ["1000"] = "IMAGE_FILE_SYSTEM",    // The image file is a system file, not a user program.
           ["2000"] = "IMAGE_FILE_DLL",    // The image file is a dynamic-link library (DLL). Such files are considered executable files for almost all purposes, although they cannot be directly run.
           ["4000"] = "IMAGE_FILE_UP_SYSTEM_ONLY",    // The file should be run only on a uniprocessor machine.
           ["8000"] = "IMAGE_FILE_BYTES_REVERSED_HI",    // Big endian: the MSB precedes the LSB in memory. This flag is deprecated and should be zero.
           ["None"] = Maquina + " None"  // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];

   } //



   public static string Subsystem_2(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["0"] = "IMAGE_SUBSYSTEM_UNKNOWN",   //An unknown subsystem
           ["1"] = "IMAGE_SUBSYSTEM_NATIVE",   //Device drivers and native Windows processes
           ["2"] = "IMAGE_SUBSYSTEM_WINDOWS_GUI",   //The Windows graphical user interface (GUI) subsystem
           ["3"] = "IMAGE_SUBSYSTEM_WINDOWS_CUI",   //The Windows character subsystem
           ["5"] = "IMAGE_SUBSYSTEM_OS2_CUI",   //The OS/2 character subsystem
           ["7"] = "IMAGE_SUBSYSTEM_POSIX_CUI",   //The Posix character subsystem
           ["8"] = "IMAGE_SUBSYSTEM_NATIVE_WINDOWS",   //Native Win9x driver
           ["9"] = "IMAGE_SUBSYSTEM_WINDOWS_CE_GUI",   //Windows CE
           ["10"] = "IMAGE_SUBSYSTEM_EFI_APPLICATION",   //An Extensible Firmware Interface (EFI) application
           ["11"] = "IMAGE_SUBSYSTEM_EFI_BOOT_ SERVICE_DRIVER",   //An EFI driver with boot services
           ["12"] = "IMAGE_SUBSYSTEM_EFI_RUNTIME_ DRIVER",   //An EFI driver with run-time services
           ["13"] = "IMAGE_SUBSYSTEM_EFI_ROM",   //An EFI ROM image
           ["14"] = "IMAGE_SUBSYSTEM_XBOX",   //XBOX
           ["16"] = "IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION",   //Windows boot application.
           ["None"] = Maquina + " None"  // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];

   } //

   public static string DllCharacteristics_OPTIONAL_2(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["0001"] = "IMAGE_LIBRARY_PROCESS_INIT",  // Reserved, must be zero.
           ["0002"] = "IMAGE_LIBRARY_PROCESS_TERM",  // Reserved, must be zero.
           ["0004"] = "IMAGE_LIBRARY_THREAD_INIT",  // Reserved, must be zero.
           ["0008"] = "IMAGE_LIBRARY_THREAD_TERM",  // Reserved, must be zero.
           ["0020"] = "IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA",  //Image can handle a high entropy 64-bit virtual address space.
           ["0040"] = "IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE",  // DLL can be relocated at load time.
           ["0080"] = "IMAGE_DLLCHARACTERISTICS_ FORCE_INTEGRITY",  // Code "Integrity checks are enforced.
           ["0100"] = "IMAGE_DLLCHARACTERISTICS_ NX_COMPAT",  // Image "Is NX compatible.
           ["0200"] = "IMAGE_DLLCHARACTERISTICS_ NO_ISOLATION",  //  Isolation aware, but do not "Isolate the "Image.
           ["0400"] = "IMAGE_DLLCHARACTERISTICS_ NO_SEH",  // Does not use structured exception (SE) handling. No SE handler may be called "In this "Image.
           ["0800"] = "IMAGE_DLLCHARACTERISTICS_ NO_BIND",  // Do not bind the "Image.
           ["1000"] = "IMAGE_DLLCHARACTERISTICS_APPCONTAINER",  //  Image must execute "In an AppContainer.
           ["2000"] = "IMAGE_DLLCHARACTERISTICS_ WDM_DRIVER",  // A WDM driver.
           ["4000"] = "IMAGE_DLLCHARACTERISTICS_GUARD_CF",  //  Image supports Control Flow Guard.
           ["8000"] = "IMAGE_DLLCHARACTERISTICS_ TERMINAL_SERVER_AWARE", // Terminal Server aware.
           ["None"] = Maquina + " None"  // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];

   } //


   public static string Characteristics_SECTION_HEADER_4(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["00000000"] = "IMAGE_SCN_TYPE_REG",  // Reserved for future use.
           ["00000001"] = "IMAGE_SCN_TYPE_DSECT or IMAGE_SCN_SCALE_INDEX",  // Reserved for future use. Tls index is scaled
           ["00000002"] = "IMAGE_SCN_TYPE_NOLOAD",  // Reserved for future use.
           ["00000004"] = "IMAGE_SCN_TYPE_GROUP",  // Reserved for future use.
           ["00000008"] = "IMAGE_SCN_TYPE_NO_PAD ",  // The section should not be padded to the next boundary. This flag is obsolete and is replaced by IMAGE_SCN_ALIGN_1BYTES. This is valid only for object files.
           ["00000010"] = "IMAGE_SCN_TYPE_COPY",  // Reserved for future use.
           ["00000020"] = "IMAGE_SCN_CNT_CODE ",  // The section contains executable code.
           ["00000040"] = "IMAGE_SCN_CNT_INITIALIZED_DATA ",  // The section contains initialized data.
           ["00000080"] = "IMAGE_SCN_CNT_UNINITIALIZED_ DATA ",  // The section contains uninitialized data.
           ["00000100"] = "IMAGE_SCN_LNK_OTHER ",  // Reserved for future use.
           ["00000200"] = "IMAGE_SCN_LNK_INFO ",  // The section contains comments or other information. The .drectve section has this type. This is valid for object files only.
           ["00000400"] = "IMAGE_SCN_MEM_PROTECTED - Obsolete",  // Reserved for future use.
           ["00000800"] = "IMAGE_SCN_LNK_REMOVE ",  // The section will not become part of the image. This is valid only for object files.
           ["00001000"] = "IMAGE_SCN_LNK_COMDAT ",  // The section contains COMDAT data. For more information, see COMDAT Sections (Object Only). This is valid only for object files.
           ["00002000"] = "reservado",  // reservado
           ["00004000"] = "IMAGE_SCN_NO_DEFER_SPEC_EXC",  // Reset speculative exceptions
           ["00008000"] = "IMAGE_SCN_GPREL ",  // The section contains data referenced through the global pointer (GP).
           ["00010000"] = "IMAGE_SCN_MEM_SYSHEAP - Obsolete",  // Obsolete
           ["00020000"] = "IMAGE_SCN_MEM_PURGEABLE Or IMAGE_SCN_MEM_16BIT",  // Reserved for future use.
           ["00040000"] = "IMAGE_SCN_MEM_LOCKED ",  // Reserved for future use.
           ["00080000"] = "IMAGE_SCN_MEM_PRELOAD ",  // Reserved for future use.
           ["00100000"] = "IMAGE_SCN_ALIGN_1BYTES ",  // Align data on a 1-byte boundary. Valid only for object files.
           ["00200000"] = "IMAGE_SCN_ALIGN_2BYTES ",  // Align data on a 2-byte boundary. Valid only for object files.
           ["00300000"] = "IMAGE_SCN_ALIGN_4BYTES ",  // Align data on a 4-byte boundary. Valid only for object files.
           ["00400000"] = "IMAGE_SCN_ALIGN_8BYTES ",  // Align data on an 8-byte boundary. Valid only for object files.
           ["00500000"] = "IMAGE_SCN_ALIGN_16BYTES ",  // Align data on a 16-byte boundary. Valid only for object files.
           ["00600000"] = "IMAGE_SCN_ALIGN_32BYTES ",  // Align data on a 32-byte boundary. Valid only for object files.
           ["00700000"] = "IMAGE_SCN_ALIGN_64BYTES ",  // Align data on a 64-byte boundary. Valid only for object files.
           ["00800000"] = "IMAGE_SCN_ALIGN_128BYTES ",  // Align data on a 128-byte boundary. Valid only for object files.
           ["00900000"] = "IMAGE_SCN_ALIGN_256BYTES ",  // Align data on a 256-byte boundary. Valid only for object files.
           ["00A00000"] = "IMAGE_SCN_ALIGN_512BYTES ",  // Align data on a 512-byte boundary. Valid only for object files.
           ["00B00000"] = "IMAGE_SCN_ALIGN_1024BYTES ",  // Align data on a 1024-byte boundary. Valid only for object files.
           ["00C00000"] = "IMAGE_SCN_ALIGN_2048BYTES ",  // Align data on a 2048-byte boundary. Valid only for object files.
           ["00D00000"] = "IMAGE_SCN_ALIGN_4096BYTES ",  // Align data on a 4096-byte boundary. Valid only for object files.
           ["00E00000"] = "IMAGE_SCN_ALIGN_8192BYTES ",  // Align data on an 8192-byte boundary. Valid only for object files.
           ["00F00000"] = "IMAGE_SCN_ALIGN_MASK",  // unused
           ["01000000"] = "IMAGE_SCN_LNK_NRELOC_OVFL ",  // The section contains extended relocations. > 16 Bits NumberOfRelocations >= 0xffff => is stored in the 32-bit VirtualAddress field of the first relocation
           ["02000000"] = "IMAGE_SCN_MEM_DISCARDABLE ",  // The section can be discarded as needed.
           ["04000000"] = "IMAGE_SCN_MEM_NOT_CACHED ",  // The section cannot be cached.
           ["08000000"] = "IMAGE_SCN_MEM_NOT_PAGED ",  // The section is not pageable.
           ["10000000"] = "IMAGE_SCN_MEM_SHARED ",  // The section can be shared in memory.
           ["20000000"] = "IMAGE_SCN_MEM_EXECUTE ",  // The section can be executed as code.
           ["40000000"] = "IMAGE_SCN_MEM_READ ",  // The section can be read.
           ["80000000"] = "IMAGE_SCN_MEM_WRITE ",  // The section can be written to.
           ["None"] = Maquina + " None"  // return new

       };

       if(Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];

   } //

   public static string CodePage_4(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["0"] = "default to ANSI code page",
           ["37"] = "IBM037 IBM EBCDIC US-Canada",
           ["437"] = "IBM437 OEM United States",
           ["500"] = "IBM500 IBM EBCDIC International",
           ["708"] = "ASMO-708 Arabic (ASMO 708)",
           ["709"] = " Arabic (ASMO-449+, BCON V4)",
           ["710"] = " Arabic - Transparent Arabic",
           ["720"] = "DOS-720 Arabic (Transparent ASMO); Arabic (DOS)",
           ["737"] = "ibm737 OEM Greek (formerly 437G); Greek (DOS)",
           ["775"] = "ibm775 OEM Baltic; Baltic (DOS)",
           ["850"] = "ibm850 OEM Multilingual Latin 1; Western European (DOS)",
           ["852"] = "ibm852 OEM Latin 2; Central European (DOS)",
           ["855"] = "IBM855 OEM Cyrillic (primarily Russian)",
           ["857"] = "ibm857 OEM Turkish; Turkish (DOS)",
           ["858"] = "IBM00858 OEM Multilingual Latin 1 + Euro symbol",
           ["860"] = "IBM860 OEM Portuguese; Portuguese (DOS)",
           ["861"] = "ibm861 OEM Icelandic; Icelandic (DOS)",
           ["862"] = "DOS-862 OEM Hebrew; Hebrew (DOS)",
           ["863"] = "IBM863 OEM French Canadian; French Canadian (DOS)",
           ["864"] = "IBM864 OEM Arabic; Arabic (864)",
           ["865"] = "IBM865 OEM Nordic; Nordic (DOS)",
           ["866"] = "cp866 OEM Russian; Cyrillic (DOS)",
           ["869"] = "ibm869 OEM Modern Greek; Greek, Modern (DOS)",
           ["870"] = "IBM870 IBM EBCDIC Multilingual/ROECE (Latin 2); IBM EBCDIC Multilingual Latin 2",
           ["874"] = "windows-874 Thai (Windows)",
           ["875"] = "cp875 IBM EBCDIC Greek Modern",
           ["932"] = "shift_jis ANSI/OEM Japanese; Japanese (Shift-JIS)",
           ["936"] = "gb2312 ANSI/OEM Simplified Chinese (PRC, Singapore); Chinese Simplified (GB2312)",
           ["949"] = "ks_c_5601-1987 ANSI/OEM Korean (Unified Hangul Code)",
           ["950"] = "big5 ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)",
           ["1026"] = "IBM1026 IBM EBCDIC Turkish (Latin 5)",
           ["1047"] = "IBM01047 IBM EBCDIC Latin 1/Open System",
           ["1140"] = "IBM01140 IBM EBCDIC US-Canada (037 + Euro symbol); IBM EBCDIC (US-Canada-Euro)",
           ["1141"] = "IBM01141 IBM EBCDIC Germany (20273 + Euro symbol); IBM EBCDIC (Germany-Euro)",
           ["1142"] = "IBM01142 IBM EBCDIC Denmark-Norway (20277 + Euro symbol); IBM EBCDIC (Denmark-Norway-Euro)",
           ["1143"] = "IBM01143 IBM EBCDIC Finland-Sweden (20278 + Euro symbol); IBM EBCDIC (Finland-Sweden-Euro)",
           ["1144"] = "IBM01144 IBM EBCDIC Italy (20280 + Euro symbol); IBM EBCDIC (Italy-Euro)",
           ["1145"] = "IBM01145 IBM EBCDIC Latin America-Spain (20284 + Euro symbol); IBM EBCDIC (Spain-Euro)",
           ["1146"] = "IBM01146 IBM EBCDIC United Kingdom (20285 + Euro symbol); IBM EBCDIC (UK-Euro)",
           ["1147"] = "IBM01147 IBM EBCDIC France (20297 + Euro symbol); IBM EBCDIC (France-Euro)",
           ["1148"] = "IBM01148 IBM EBCDIC International (500 + Euro symbol); IBM EBCDIC (International-Euro)",
           ["1149"] = "IBM01149 IBM EBCDIC Icelandic (20871 + Euro symbol); IBM EBCDIC (Icelandic-Euro)",
           ["1200"] = "utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications",
           ["1201"] = "unicodeFFFE Unicode UTF-16, big endian byte order; available only to managed applications",
           ["1250"] = "windows-1250 ANSI Central European; Central European (Windows)",
           ["1251"] = "windows-1251 ANSI Cyrillic; Cyrillic (Windows)",
           ["1252"] = "windows-1252 ANSI Latin 1; Western European (Windows)",
           ["1253"] = "windows-1253 ANSI Greek; Greek (Windows)",
           ["1254"] = "windows-1254 ANSI Turkish; Turkish (Windows)",
           ["1255"] = "windows-1255 ANSI Hebrew; Hebrew (Windows)",
           ["1256"] = "windows-1256 ANSI Arabic; Arabic (Windows)",
           ["1257"] = "windows-1257 ANSI Baltic; Baltic (Windows)",
           ["1258"] = "windows-1258 ANSI/OEM Vietnamese; Vietnamese (Windows)",
           ["1361"] = "Johab Korean (Johab)",
           ["10000"] = "macintosh MAC Roman; Western European (Mac)",
           ["10001"] = "x-mac-japanese Japanese (Mac)",
           ["10002"] = "x-mac-chinesetrad MAC Traditional Chinese (Big5); Chinese Traditional (Mac)",
           ["10003"] = "x-mac-korean Korean (Mac)",
           ["10004"] = "x-mac-arabic Arabic (Mac)",
           ["10005"] = "x-mac-hebrew Hebrew (Mac)",
           ["10006"] = "x-mac-greek Greek (Mac)",
           ["10007"] = "x-mac-cyrillic Cyrillic (Mac)",
           ["10008"] = "x-mac-chinesesimp MAC Simplified Chinese (GB 2312); Chinese Simplified (Mac)",
           ["10010"] = "x-mac-romanian Romanian (Mac)",
           ["10017"] = "x-mac-ukrainian Ukrainian (Mac)",
           ["10021"] = "x-mac-thai Thai (Mac)",
           ["10029"] = "x-mac-ce MAC Latin 2; Central European (Mac)",
           ["10079"] = "x-mac-icelandic Icelandic (Mac)",
           ["10081"] = "x-mac-turkish Turkish (Mac)",
           ["10082"] = "x-mac-croatian Croatian (Mac)",
           ["12000"] = "utf-32 Unicode UTF-32, little endian byte order; available only to managed applications",
           ["12001"] = "utf-32BE Unicode UTF-32, big endian byte order; available only to managed applications",
           ["20000"] = "x-Chinese_CNS CNS Taiwan; Chinese Traditional (CNS)",
           ["20001"] = "x-cp20001 TCA Taiwan",
           ["20002"] = "x_Chinese-Eten Eten Taiwan; Chinese Traditional (Eten)",
           ["20003"] = "x-cp20003 IBM5550 Taiwan",
           ["20004"] = "x-cp20004 TeleText Taiwan",
           ["20005"] = "x-cp20005 Wang Taiwan",
           ["20105"] = "x-IA5 IA5 (IRV International Alphabet No. 5, 7-bit); Western European (IA5)",
           ["20106"] = "x-IA5-German IA5 German (7-bit)",
           ["20107"] = "x-IA5-Swedish IA5 Swedish (7-bit)",
           ["20108"] = "x-IA5-Norwegian IA5 Norwegian (7-bit)",
           ["20127"] = "us-ascii US-ASCII (7-bit)",
           ["20261"] = "x-cp20261 T.61",
           ["20269"] = "x-cp20269 ISO 6937 Non-Spacing Accent",
           ["20273"] = "IBM273 IBM EBCDIC Germany",
           ["20277"] = "IBM277 IBM EBCDIC Denmark-Norway",
           ["20278"] = "IBM278 IBM EBCDIC Finland-Sweden",
           ["20280"] = "IBM280 IBM EBCDIC Italy",
           ["20284"] = "IBM284 IBM EBCDIC Latin America-Spain",
           ["20285"] = "IBM285 IBM EBCDIC United Kingdom",
           ["20290"] = "IBM290 IBM EBCDIC Japanese Katakana Extended",
           ["20297"] = "IBM297 IBM EBCDIC France",
           ["20420"] = "IBM420 IBM EBCDIC Arabic",
           ["20423"] = "IBM423 IBM EBCDIC Greek",
           ["20424"] = "IBM424 IBM EBCDIC Hebrew",
           ["20833"] = "x-EBCDIC-KoreanExtended IBM EBCDIC Korean Extended",
           ["20838"] = "IBM-Thai IBM EBCDIC Thai",
           ["20866"] = "koi8-r Russian (KOI8-R); Cyrillic (KOI8-R)",
           ["20871"] = "IBM871 IBM EBCDIC Icelandic",
           ["20880"] = "IBM880 IBM EBCDIC Cyrillic Russian",
           ["20905"] = "IBM905 IBM EBCDIC Turkish",
           ["20924"] = "IBM00924 IBM EBCDIC Latin 1/Open System (1047 + Euro symbol)",
           ["20932"] = "EUC-JP Japanese (JIS 0208-1990 and 0212-1990)",
           ["20936"] = "x-cp20936 Simplified Chinese (GB2312); Chinese Simplified (GB2312-80)",
           ["20949"] = "x-cp20949 Korean Wansung",
           ["21025"] = "cp1025 IBM EBCDIC Cyrillic Serbian-Bulgarian",
           ["21027"] = " (deprecated)",
           ["21866"] = "koi8-u Ukrainian (KOI8-U); Cyrillic (KOI8-U)",
           ["28591"] = "iso-8859-1 ISO 8859-1 Latin 1; Western European (ISO)",
           ["28592"] = "iso-8859-2 ISO 8859-2 Central European; Central European (ISO)",
           ["28593"] = "iso-8859-3 ISO 8859-3 Latin 3",
           ["28594"] = "iso-8859-4 ISO 8859-4 Baltic",
           ["28595"] = "iso-8859-5 ISO 8859-5 Cyrillic",
           ["28596"] = "iso-8859-6 ISO 8859-6 Arabic",
           ["28597"] = "iso-8859-7 ISO 8859-7 Greek",
           ["28598"] = "iso-8859-8 ISO 8859-8 Hebrew; Hebrew (ISO-Visual)",
           ["28599"] = "iso-8859-9 ISO 8859-9 Turkish",
           ["28603"] = "iso-8859-13 ISO 8859-13 Estonian",
           ["28605"] = "iso-8859-15 ISO 8859-15 Latin 9",
           ["29001"] = "x-Europa Europa 3",
           ["38598"] = "iso-8859-8-i ISO 8859-8 Hebrew; Hebrew (ISO-Logical)",
           ["50220"] = "iso-2022-jp ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS)",
           ["50221"] = "csISO2022JP ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)",
           ["50222"] = "iso-2022-jp ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI)",
           ["50225"] = "iso-2022-kr ISO 2022 Korean",
           ["50227"] = "x-cp50227 ISO 2022 Simplified Chinese; Chinese Simplified (ISO 2022)",
           ["50229"] = " ISO 2022 Traditional Chinese",
           ["50930"] = " EBCDIC Japanese (Katakana) Extended",
           ["50931"] = " EBCDIC US-Canada and Japanese",
           ["50933"] = " EBCDIC Korean Extended and Korean",
           ["50935"] = " EBCDIC Simplified Chinese Extended and Simplified Chinese",
           ["50936"] = " EBCDIC Simplified Chinese",
           ["50937"] = " EBCDIC US-Canada and Traditional Chinese",
           ["50939"] = " EBCDIC Japanese (Latin) Extended and Japanese",
           ["51932"] = "euc-jp EUC Japanese",
           ["51936"] = "EUC-CN EUC Simplified Chinese; Chinese Simplified (EUC)",
           ["51949"] = "euc-kr EUC Korean",
           ["51950"] = " EUC Traditional Chinese",
           ["52936"] = "hz-gb-2312 HZ-GB2312 Simplified Chinese; Chinese Simplified (HZ)",
           ["54936"] = "GB18030 Windows XP and later: GB18030 Simplified Chinese (4 byte); Chinese Simplified (GB18030)",
           ["57002"] = "x-iscii-de ISCII Devanagari",
           ["57003"] = "x-iscii-be ISCII Bangla",
           ["57004"] = "x-iscii-ta ISCII Tamil",
           ["57005"] = "x-iscii-te ISCII Telugu",
           ["57006"] = "x-iscii-as ISCII Assamese",
           ["57007"] = "x-iscii-or ISCII Odia",
           ["57008"] = "x-iscii-ka ISCII Kannada",
           ["57009"] = "x-iscii-ma ISCII Malayalam",
           ["57010"] = "x-iscii-gu ISCII Gujarati",
           ["57011"] = "x-iscii-pa ISCII Punjabi",
           ["65000"] = "utf-7 Unicode (UTF-7)",
           ["65001"] = "utf-8 Unicode (UTF-8)",
           ["None"] = Maquina + " None" // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];
   }

public static string Resourse_Types_MAKEINTRESOURCE(string Maquina)
   {
       var Machine = new Dictionary<string, string>
       {
           ["9"] = "RT_ACCELERATOR", // Accelerator table.
           ["21"] = "RT_ANICURSOR", // Animated cursor.
           ["22"] = "RT_ANIICON", // Animated icon.
           ["2"] = "RT_BITMAP", // Bitmap resource.
           ["1"] = "RT_CURSOR", // Hardware-dependent cursor resource.
           ["5"] = "RT_DIALOG", // Dialog box.
           ["17"] = "RT_DLGINCLUDE", //  Por ejemplo, 1 DLGINCLUDE "MyFile.h"
           ["8"] = "RT_FONT", // Font resource.
           ["7"] = "RT_FONTDIR", // Font directory resource.
           ["12"] = "RT_GROUP_CURSOR", // RT_CURSOR + 11 Hardware-independent cursor resource.
           ["14"] = "RT_GROUP_ICON", // RT_ICON  + 11 Hardware-independent icon resource.
           ["23"] = "RT_HTML", // HTML resource.
           ["3"] = "RT_ICON", // Hardware-dependent icon resource.
           ["24"] = "RT_MANIFEST", // Side-by-Side Assembly Manifest.
           ["4"] = "RT_MENU", // Menu resource.
           ["11"] = "RT_MESSAGETABLE", // Message-table entry.
           ["19"] = "RT_PLUGPLAY", // Plug and Play resource.
           ["10"] = "RT_RCDATA", // Application-defined resource (raw data).
           ["6"] = "RT_STRING", // String-table entry.
           ["16"] = "RT_VERSION", // Version resource.
           ["20"] = "RT_VXD", // VXD.
           ["None"] = Maquina + " None"  // return new

       };

       if (Machine.ContainsKey(Maquina) == false) { Maquina = "None"; }

       return Machine[Maquina];

   } //