DUDA ACERCA DE UNA DIRECCION DE MEMORIA EN OOLYDBG

Iniciado por bodoke1969, 13 Febrero 2013, 06:31 AM

0 Miembros y 4 Visitantes están viendo este tema.

bodoke1969

Hola a todos los del foro, espero me puedan ayudar en la siguiente duda que tengo:

Hay un programa que cheque con el RDG Pakcer Detection, y dice que fue hecho en Visual C#.net, lo abro con el ollydbg Shadow (1.10), le agrege unas excepcion y corre excelente, solo que al momento de sacar las ventanas activas (opcion W), veo claramente la frase que quiero modificar, pero, cuando le doy un Follow ClassProc, deberia mandarme a la direcion que ejecuta dicha instruccion, abre la CPU ( opcion C) pero vacia, checo en la opcion ID y dice =Handle, y en la columna ClsProc me manda la direccion FFFF01AF que no existe, como podria ver realmente de donde se origina dicha instruccion?

GRACIAS DE ANTEMANO!!!  ;-)

apuromafo CLS

#1
ver temas en ollydbg, que deben verse en otras herramientas realmente no tiene precio.., yo que tu usaria herramientas como kam(de kakeware), para confirmar las apis, o simplemente monitores..o algo para alguna handle...
respecto a lo de olly  

aver todo .net debe ser depurado con las herramientas que son para ese entorno, es un framework, no es un programa compilado asi como tal y conocemos siempre, se ejecutan componentes de tu equipo y segun el core

las sugerencias como siempre es leer el faq, confirmar con herramientas mas especializadas como PID
http://pid.gamecopyworld.com/
con eso deberias tener algo

la otra es que uses windows juggler en ollydbg

pero respecto a modificarlo para siempre aveces podrias intentar cheat engine o bien intentar reversarlo(decompilar , guiarte con el codigo)
para eso requiere otro tiempo muchisimo mayor:

, reflector (plugins como reflexil, deblector) entre otros deberian ser lo mas basico, junto con simple assembler, http://code.google.com/p/simple-assembly-explorer/

CFF Explorer:
http://www.ntcore.com/exsuite.php


realmente no tengo tanta experiencia modificando .net, pero para ver eventos tambien hay herramientas  para eventos en .net
http://portal.b-at-s.net/download.php?view.53

entre otros muchos debes aprender codigo intermedio (il)


suerte en tu investigación.

Saludos Apuromafo

arturoro

Gracias por responder Apuromafo: :rolleyes:

  Perdona la demora que no te conteste rapido, estaba checando lo que me escribiste y tienes razon, fue mejor ver los .DLL con SAE y no con el ollyDBG  ;-), creo que ya estoy mas cerca, solo que he tenido problemas en modificar los .DLL la version 1 del ILSpy, no me deja modificar el codigo que me aparece, baje la version 2 y tampoco, solo me kedaron 6 .DLL que no lo abre el SAE, lo cheque y no tienen  codigo que modificar, pero, eso s lo de menos, y la pregunta de los 64 mil, conoces un programa para modificar los .DLL que necesito modificar? porque me aparece en C o C++, ya que con el Ollydbg no puedo jejejej!!! me manda el mensaje que o que estan dañados, incompletos o que esta cifrado, y asi no puedo modificarlos.

NUEVAMENTE GRACIAS X TU AYUDA !!!!  ;-)

apuromafo CLS

primero debes saber si estan empacados, luego quitar desofuscacion en caso que haya y para modificar siempre es de preferencia reflector, hay teams que ya tienen crackeado(keygen) el reflector, no debe ser dificil de encontrar... 

arturoro

Hola Nuevamente Apuromafo:

   Cheque el archivo DLL en cuestion y me dice lo siguiente:

File Type : 32-Bit Dll (Subsystem : Win CUI / 3), Size : 507904 (07C000h) Byte(s)
[File Heuristics] -> Flag : 00000000000001001101000000110000 (0x0004D030)
[!] Possible CD/DVD-Key or Serial Check -> SerialNumber
[CompilerDetect] -> .NET
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 0.796 Second(s)
:rolleyes:

Lo que me llama la atencion es el Posible CD/DVD-Key   :-*, pero con el Net Reflector lo lee bien ( me refiero a que no tengo problemas de lectura en eventos, instrucciones, referencias, etc), me comentas que te quite el desofucador, pero cheque por la internet y solo he visto pocos, otros para javascript, o C# (pero era para ofuscar dentro del programa, no para verificar), tambien lo he desesamblado jejeje!!! con el net reflector, pero solo quiero cambiar unas lineas del propio DLL y que se grabe, se puede hacer eso? o debo de instalar el visual studio para programar en C#, bueno, no codificar sino copiar y pegar ? jejeje!!!!. Perdona mi ignorancia ...  :-(


GRACIAS NUEVAMENTE !!!!  ;-)

arturoro

Hola Apuromofo:

Creo que ya descubri como modificar los DLL en el Net Reflector, ya que por lo que veo hay que agregar unos Add-Ins, pero ya van como 5 que trato de meter y solo me marca error de cargar el archivo, que debo de checar el evento de excepcion???? en fin, sigo checando....


   NUEAVAMENTE GRACIAS!!!  ;-)

arturoro

Hola Nuevamente Apuromofo:

  MMM!!! corrigeme si me equivoco :P, el NET Reflector por si mismo no modifica los DLL, verdad??? :o, y si los hay debe ser mediante un Add-Ins (creo yo), lo mas que hice fue bajar descompilado el DLL que quiero modificar, y lo mande como libreria de Clase (CLass Library), lo descompila y me manda cero errores, abro el visual studio 2008 (me manda que es una version anterior, estoy bajando el 2005, actualiza a 2008 y listo), pero al momento de generar la solucion, simplemente me manda arriba de 15 errores, jejeje!!! (ya agrege las referencias, etc), lo que no se es que si debo de agregar todoooooo el sistema al proyecto, pero creo que no, ya que las dll, las puedes crear por separado, verdad???. Espero tus comentarios y jalones de orejas jejeje!!!  :laugh:

GRACIAS POR TODO Y SOPORTAR A GENTE COMO YO !!!!  ;-) ;-)

apuromafo CLS

pues digamos que mi nick es apuromafo,

para saber si un .net esta o no con algun packer o algo heuristico  extra es necesario usar Dnid,
http://forum.tuts4you.com/topic/24739-dnid-v10/

pero si pid no muestra nada puede que a lo mas pueda estar ofuscado o sin nada extra


al poderse decompilar(obtener el codigo de fuente) tienes casi todo, el tema va en otro lado, hay componentes que muchas veces provienen de otros lados y obviamente eso uno los desconoce a menos que sepas codificar.

si , la habilidad de reflector es para mostrar el tipo de codigo de fuente, pero la habilidad de modificar viene desde sus plugins o addons,

hay a lo menos 2 tipos de historias que ocurren adicionalmente en los .net
1)  existen GUID y recursos que deben estar alineados (net reactor modifica por ejemplo valores y coloca extra..si dumpeas..no corre tu exe/dll)
2) existen algunos que estan por decirlos Firmados  , algunos removiendo o cambiando la firma corren bien


ahora bien, yo se que esto es como dificil de decir, pero digamos que luego que conoces el codigo, luego que sabes donde modificar, el cambio de preferencia debe ser en codigo IL, pues asi no altera tanto, muchos de los crackers que he leido hacen los cambios en hexadecimal (si con un editor hexadecimal), y modifican tranquilamente el archivo, pues dominan el tema de direcciones(rva) y que offset o pointer deben modificar

para mi es mas facil e intuitivo intentar usar reflexil, ir a la rutina y escribir el codigo posible, pero por motivo personal, jamas he investigado mas alla, pues claramente los .net hay muchas historias


yo te sugiero ahora seguir la lectura de .net desde otras personas :
http://ricardonarvaja.info/WEB/buscador.php

coloca ".net"

obviamente es mejor seguir con la lectura de faq, en cada uno de los puntos y ya explorar paso a paso en este mundo.

arturoro

Hola Apuromafo:

  Perdona la confusion de tu nombre, ya estaba cansado y desvelado, ahora te digo como me fue: Proble con el Reflector 7.6 pero tuve problemas a la hora de modificar la DLL, probe con el Dis#, igual forma, pero, pude bajar el fuente en C# y lo puse en Visual Studio 2003 (VS), el unico error que me manda fue una apertura de una DLL que hace referencia (no se si en las demas me indica lo mismo, ya que llega ahi y me manda ese error), pense que ese archivo que hace referencia tenia llave, pero la verifique y nada de llave, en fin, como no es de aqui la duda la mande al apartado de programacion en C, jejejje!!! De todas formas sigo leyendo lo que me mandaste, voy a probar otras cosas en lo que resuelvo la duda de programacion en C#

GRACIAS DE ANTEMANO POR LA AYUDA !!!!  ;-)

apuromafo CLS

ok, yo te aconsejaria mas usar el ultimo reflector..de medicinas y eso tambien existe el keygen ...