FileActivation.xml es un XML con el contenido de la peticion y la respuesta de activacion para dicha peticion. Dicho XML usa XML encryption para mantener privado el paso de informacion.
En el caso del segundo FileActivation.xml que muestras, se puede observar una estructura como la siguiente una vez se decodifica
Request
Response
Como se puede apreciar se esta usando una combinacion de RSA/AES-256 para cifrar llave/contenido, por lo que habiendo llegado hasta aqui y dicho todo lo anterior, te doy un par de consejos:
1- Realizar ingenieria inversa en un binario no es como seguir un tutorial paso a paso de como lograr un buen efecto en photoshop, va mucho mas alla que eso y exige muchisimos mas conocimientos adicionales que, desde el respeto, no creo que poseas. Mi punto es que no existe "algún tutorial para aprender a generar un keygen para activar este tipo de licencia" (a no ser por supuesto que alguien mas lo haya hecho antes y haya compartido documentacion de como hacerlo paso a paso), para esto no existen caminos rapidos o atajos.
2- Dada la complejidad del tipo de activacion que se esta usando en comparacion con tu nivel en estos temas, te aconsejaria que empezaras buscando tutoriales basicos de como analizar y parchear ejecutables sencillos, solo con tiempo y mucha practica seras capaz entonces de empezar a entender de que va todo y quizas con muchisima suerte puedas lograr un parche exitoso. (repito, esto no es fast food)
3- Una vez mas con suerte y la ayuda de alguien con experiencia y quizas algo mas
quizas seas capaz de obtener algo
Suerte
En el caso del segundo FileActivation.xml que muestras, se puede observar una estructura como la siguiente una vez se decodifica
Request
Código (xml) [Seleccionar]
<EncryptedData Id="ActivationRequest" Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
<KeyInfo
xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" />
<KeyInfo
xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>SessionKey</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>srYzp3rl3Tf5qwr+XBlUhPr+i5rTIYbDMP8BkHeZfa0jMOVuhCsSDgniKlea7Zjyc7lSifnKzklmx440aXM+EOYwybMnau7OcfVXyc0ko6Syq3zRAMLVF5MQYQ3txRwc1OFz3EkKvjRnXYZ7p2NTK2VvD1JznPI0NJlGTTByjZY=</CipherValue>
</CipherData>
<ReferenceList>
<DataReference URI="#ActivationRequest" />
</ReferenceList>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>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</CipherValue>
</CipherData>
</EncryptedData>Response
Código (xml) [Seleccionar]
<EncryptedData Id="ac" Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
<KeyInfo
xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" />
<KeyInfo
xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>sessionKey</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>HANAB4Ly8oiAktwrzhE7dZMzi9+/HBiQCkqrzXNkcqITf0ZFMHyFOC+rFXImyEOIAv+kkJ19NcM5aEtZ2V/y7TXYq/sEXIVoUU19640owsQWL6BZsi4AEbcCjIcx/jBL4asVVvgHaJBMMX4VUAOlV0KU8QKSfJOzEAXCLMPcBa7vs80/9mWSk464oRbvjsfXKIRRoFGM6y/IEQKi9ZyqqVRrM+34tOmanFb/OAIw8qkyrWZVCt5luWELx6BoSY1H0clw8FfOLNZvKGHWXU8vtGoMDHusTCmAB9H7nH3hdSn9Evlui9t5TkG0fTClNIoqEWwh8nMNkZE1mmQN9tntTg2TRtETo58aeBi7PgJp2C0qyHHcImNUIXjCLJ5Phy75TOpgGjRtJXxAJ2jROMjTJs70ia55FN+597cIedZXWEiQrWbGDUljSfq7c2zmA10/o11Se+JGhC4LAkwwDIEL24q6wR9zsYj7G8G/CJa6ChDe/gfRz+hhCUbk3+MKj15+hsAffqecKpSLectDIZiUfo3m14xshAebH2x3zi2HBDVcjRuOYEasu/0UsT4sZ+RFsbMD+lEcW2VazxcBc4Iz7TvzABWESYQDgZ7nLjdC0OqSGyNPDVmajov3peZvVb5mL/G3Cv3KvaOBD2dT5ePoIR48YPqAT22FUCV4Ry5cxac=</CipherValue>
</CipherData>
<ReferenceList>
<DataReference URI="#ac" />
</ReferenceList>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>AjM1SPBWuA7jRkfiMNqsoh8HoZpgGa5aEikspgwKLgZdLc3Q4hsYyguUPjzxAxTZW8VrC+bwDuHjZM+T2fJpIvcEZwAKoMSXFbKYbwuknD4xWIoDFjFmJCoevUZ/ieVpWF9YnCnaZBb6no10bLmyk6+RWxfYAayKttUkHGHLdvxDWhstG2SkEwClabtFtJ5zhVd2ukMKzReKmebm9onRt+Eh+s5Z531iSUlqTo2CVew9tAQTJgzvUO7V9DYodngaWeg7rp/ibvvR4yJSQTfogg4fUs1eqzHeSXZB6R57TUv0If74zvqONz85TxkghKKaYSHTKgeggVygjEYoot9J4V3LujuBORCvNRGea01/GR+JoT5dhU6qEBgAXlQe6lvGcO9hQu1x+jKzKCO7nU3Ew065+3RtmzWtel9RVoix18IyulfxZyDgU3zDsRCHDMWo2Gn3k3kf3dbW7o9q3xQbayYI2AszvvjXv9xcGGxhwV/1KsHklj6SpkxrIVVMYEvjc8EDQjCNxwiXAbonkleLTkY115VvZEZ9q41MGHNzj7ZCC6YJAAPsJMgH7/dHZP7GgUoWdeOjBQgYU7wkOJXjTUuYZsnuoqtv2nt0c7lJsMs8Xt+fIE1FIzB0ixKhfpF0DSWUpMiLfQDo9J94SnzkrC9rKyIKjI08bcEkncP4avtYI/Mor/T1gMBmUmPlmehaDyojkA/RF2q8/ITQgia8JS6FglyOL7uiRDGXRqQBKr2JrzdXFug0aOf4ojtWD4AkVEZ8dkUwyrxCk1PE/nZHxhJNZQjdj4K8pWhcWHjzGVp4WZQiZ0XK+SoOJTgWAdiEZDt5mmkBreBwKpt8LgUVXmjlUeP+jfuWlLtaRGSSmYsKQ0LqZWCpWmpojYz1qS7NixzkA3/pBetOCUNOHcRbIj+PeI2cnNUOvqavsrT9zngi90CKHSDgrWF1vLuqGNWFo5RE6vcdGk6z0QGP0kctBTkxp6iHWJN72fvydNx/lQ6+7Bap7YGcNbZbcK2Bc6W99KkFQ6Zq1szZqZBm4Pl7SjOwqGQt5ZCMdSN5kakuZEmkYTO1u9BLsOUz0kG41ZZSkOrnHcHKre5X2xqKvpnoKExTPYPYHFNaNhqkcLfAaowpw3hjGrU9YPIo/31uOEnsIDJbSQc9gXEzDAo+fLA7n5jR7S3r4QSAtHOBfI8GWs0YOVi3uge4XTXGIpvBC2tRWWwJFBuFvyRYd3SXc1OTEQkvKskpjQVFfgYlEIOWpCMd+i3awtdsSxnGe+coCPtT++MVOtTT6zcILl1cDcxfER0R15fpTkyLyjOdjgn80reyBNzk0Vq5cr7jYNiTXRiNs0KB61nuzdYcWxQ2YQtGuRSQIa2YVIzwgfBmrZksqFxnBb6BVRhPSf2Qzy1C9j6iHpXpaWGGvliTYtq2YSVhRJtRGQtu2qFCvcM0d9R4KMe+HXipODh7+m+uH0PIGjexJd4x1+o585pXpbM/OtnlkARKKmU+ufnNX2JPb92W9mjXvFHo+VsOynTByqY9jLkFo/5MfcNsyeJYkkDBzTnFIi9yif5luckSf1wVds3VIbaXuobjsJuXq+OBjaD6rGP4XJO0hm2AVo8RCEfHneIue/OXLU1A1/ci5R+Ex+1y/SWPuP+98pjdjTqPlrqFFpbM3Ut1JsqWuA63kDfI1W3sFDAPup97Bk8pLoLE9FR17U3pftuSLMEdGAEWh1A/+KOaYs5ftgJirWhlOYcu20eFy3tt1nUf3ilUqZsu0jHHcPgAGJayJ3xhBskz/E8oAR8doSm8WGLhWDMVezrj6uLAjjc6NTY7RhbWz70m+8mTDzo=</CipherValue>
</CipherData>
</EncryptedData>Como se puede apreciar se esta usando una combinacion de RSA/AES-256 para cifrar llave/contenido, por lo que habiendo llegado hasta aqui y dicho todo lo anterior, te doy un par de consejos:
1- Realizar ingenieria inversa en un binario no es como seguir un tutorial paso a paso de como lograr un buen efecto en photoshop, va mucho mas alla que eso y exige muchisimos mas conocimientos adicionales que, desde el respeto, no creo que poseas. Mi punto es que no existe "algún tutorial para aprender a generar un keygen para activar este tipo de licencia" (a no ser por supuesto que alguien mas lo haya hecho antes y haya compartido documentacion de como hacerlo paso a paso), para esto no existen caminos rapidos o atajos.
2- Dada la complejidad del tipo de activacion que se esta usando en comparacion con tu nivel en estos temas, te aconsejaria que empezaras buscando tutoriales basicos de como analizar y parchear ejecutables sencillos, solo con tiempo y mucha practica seras capaz entonces de empezar a entender de que va todo y quizas con muchisima suerte puedas lograr un parche exitoso. (repito, esto no es fast food)
3- Una vez mas con suerte y la ayuda de alguien con experiencia y quizas algo mas
quizas seas capaz de obtener algoSuerte
de igual manera si no entiendes algo por parte del codigo o el algoritmo en si puedes preguntar, en realidad no es tan complicado. Como dije en un mensaje anterior, una vez que te abstraes lo suficiente puedes ver perfectamente como la relacion de un menu con un Arbol es casi perfecta, haciendo este tipo de estructura de datos las mas apropiada para implementarlo. El codigo se puede simplificar muchisimo si solo se deja el funcionamiento basico. La clase abstracta Menu es nuestra abstraccion del arbol y los atributos principales son:
se muy bien lo que son. En fin, en mi opinion una implementacion en este caso usando una ED tipo Arbol es la solucion ideal y vuelvo a repetirme, es una implementacion mas eficiente, dinamica y si, muchisimo mas sencilla aunque no lo parezca.