Título: Interceptar API Publicado por: Keyen Night en 16 Diciembre 2009, 23:42 pm En un programa llamado Sin Espias un programa antiespias (¬¬ que tonto es obvio); Tiene un modulo que se encarga de monitorear todos los procesos en busca de keylogger nose como lo hace tengo 2 posibilidades una es que detecte el api GetAsciiKeyState o que intercepte el teclado haciendo un Hook a Windows...
Si es detectando el api entonces me supongo que se podra hacer con mas apis que no sean esa.... En fin lo que quiero es detectar el uso de la api ReadProcessMemory Si me pudieran ayudar estaria muy agredecido ;-) Título: Re: Interceptar API Publicado por: raul338 en 16 Diciembre 2009, 23:53 pm [offtopic]
En un programa llamado Sin Espias un programa antiespias (¬¬ que tonto es obvio); se dice "valga la redundancia" xD[/offtopic] La verdad ni idea, pregunta en la sección de VB o en el foro de leandro que saben una banda de APIs y esas cosas, despues te encargas (o te ayudamos :P) a pasarlo a .net Título: Re: Interceptar API Publicado por: MazarD en 17 Diciembre 2009, 17:58 pm Lo más fácil es que hookees en c ya que la rutina de filtrado dificilmente la podrás tener en c# por estar sobre el framework de .net.
Aquí tienes un tutorial sobre api hooking básico: http://mazard.info/tutos/apihooking.pdf Después hay uno muy bueno de e0n que ahora mismo no encuentro, pero búscalo en el foro. Saludos! Título: Re: Interceptar API Publicado por: Foxy Rider en 17 Diciembre 2009, 19:14 pm te conviene hacerte una librería para trabajar con esto en C y PInvokear ... o usar alguna de por ahí ...
podés hacerlo en .NET,pero es bastante desprolijo, so .. better go with PInvoke .. fijate que por codeplex hay algo hecho --> http://www.codeplex.com/Wikipage?ProjectName=easyhook Saludos ~ Título: Re: Interceptar API Publicado por: Keyen Night en 21 Diciembre 2009, 20:18 pm He leido todos los tutos en C++ ya entendi el principio de editar la API para que todos los datos pasen primero por nosotros y despues regresen al programa que la esta llamando pero no he logrado hacer nada, pues debe ser que soy muy tonto xD para C++ como odio ese lenguaje aunque es pontente...
No existe algun modo de hacer en C++, C# o Vb de .Net? Título: Re: Interceptar API Publicado por: Foxy Rider en 21 Diciembre 2009, 21:33 pm Mi querido Keyen, leíste lo que postee ? :)
te amplío un poquito más ... lo que podés hacer es de dos maneras, usando assemblies que te provean esta función (ahí te tiré un ejemplo de codeplex) o armarte vos una ... si tomás el camino de armar la librería/assembly vos en C, acordate de exportar las funciones a dll con __declspec(dllexport) si estás en Visual studio, si es GNU, se exporta automáticamente todo... otro detalle, si compilás con un compilador de C++, agregá un extern "C", por que sino, no vas a poder PInvokear gracias al name mangling (que es una forma de enmarañar los nombres de funciones/clases, and so on) ---> http://msdn.microsoft.com/en-us/library/0603949d.aspx y después, desde .NET usás PInvoke : http://msdn.microsoft.com/en-us/magazine/cc164123.aspx hay maneras más complejas, pero, let's KISS (Keep it simple stupid) creo que me expliqué bien xD (no sé, el sueño me hace dudar :$) Saludos ~ Título: Re: Interceptar API Publicado por: MazarD en 22 Diciembre 2009, 13:23 pm Citar podés hacerlo en .NET,pero es bastante desprolijo O una locura directamente xDEl propio easyhook este de codeplex implemeta el hook desde una dll en c y después le proporciona una interfaz a c# para la rutina de filtrado con lo que es ahorrarse bastante trabajo, incluso proporciona un driver para hookear a nivel de kernel con lo que tienes las principales opciones. La verdad es que está muy bien y lo hace verdaderamente simple para el que vaya a utilizarlo. Yo lo haría toda la parte de apihooking en c/c++ o c# con el easyhook este ahorrandote la complejidad (innecesaria) de integrar el apihooking a c# Saludos Título: Re: Interceptar API Publicado por: Keyen Night en 22 Diciembre 2009, 19:03 pm Gracias a Vertex.Symphony por sus mensajes pero a mi C++ no me va realmente.
MazarD cual seira el primer paso para hacer el api hooking con EasyHook en C#? Título: Re: Interceptar API Publicado por: Foxy Rider en 22 Diciembre 2009, 19:18 pm Keyen, querido ... te comento, en mi primer mensaje te tiré el link a easyhook, creo que si buscás ayuda, el mínimo esfuerzo que se te pide es leer lo que se te responde, no se te va a dar un code hecho para que copypastees ....
también el mínimo esfuerzo de tratar de leer la documentación que hay en el sitio y venir con dudas específicas, es decir RTFM (Read The Fucking Manual) por si no lo notaste, ahí te di el link en este post -> https://foro.elhacker.net/net/interceptar_api-t278233.0.html;msg1369164#msg1369164 Saludos ~ Título: Re: Interceptar API Publicado por: Keyen Night en 22 Diciembre 2009, 19:24 pm Realmente no quierro un codigo hecho y copy&paste eso no tiene sentido sino que casi no se consigue informacion acerca de api hooking si no fuera por este foro no habria descubierto nada acerca de este tema, más bien te agradezco por procuparte en que yo entienda ;)
Título: Re: Interceptar API Publicado por: MazarD en 22 Diciembre 2009, 20:19 pm Vertex.Symphony tampoco hay que ponerse bordes seguramente se lió cuando le explicaste el tema de las librerias con funciones exportadas sin que dijera que ese era su problema.
Keyen Night no puedo darte unos primeros pasos porque nunca he utilizado easyhook, solo he bajado el código para ver como funcionaba por curiosidad. Bajate la librería que te ha pasado en el primer post Vertex.Symphony y verás que viene bastante documentación y varios proyectos en c# de ejemplo y cuando tengas dudas concretas será más fácil ayudarte. Saludos! Título: Re: Interceptar API Publicado por: Keyen Night en 22 Diciembre 2009, 20:48 pm Estoy probando el codigo que hay en la pag de codeplex para hacer hook a CreateFileW pero C# me lanza un error en...
Código Dice... Error 1 El código no seguro sólo puede aparecer si se compila con /unsafe C:\Documents and Settings\***\Escritorio\Main\Main\Main.cs 20 29 Main Título: Re: Interceptar API Publicado por: raul338 en 22 Diciembre 2009, 21:07 pm Agrega en las propiedades de proyecto, En "parametros adicionales" (en algun lado de compilacion creo:..) "/unsafe" que es lo que te tira error :P
|