elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 72
41  Foros Generales / Foro Libre / Re: Sus escritorios en: 17 Septiembre 2023, 18:30 pm
aca va el mio.

42  Seguridad Informática / Análisis y Diseño de Malware / Re: Modificar un archivo .exe para extraer algún virus y salvar el ejecutable en: 23 Agosto 2023, 22:58 pm
sube alguna muestra, osea busca algun programa (que no pese mucho) que este infectado , lo comprimes con contraseña y lo subes a mediafire o mega.
43  Comunicaciones / Android / Re: Debería actuallizar miui ? en: 29 Julio 2023, 02:27 am
Yo tengo el 10C, siempre he actualizado cuando esta disponible y nunca he tenido ninguna experiencia desagradable. la mayoria de casos donde se ven problemas y bugs son con rom chinas o india...

PD: Actual mente tengo MIUI 14 (14.0.3.0) y no he tenido ningun bug...
44  Programación / .NET (C#, VB.NET, ASP) / Re: Alguien que me pueda ayudar con mi tarea de c# en: 15 Julio 2023, 20:42 pm
no publicaste nada en el post
45  Programación / Ingeniería Inversa / Re: Recuperar archivos con extension .vvew en: 9 Julio 2023, 16:30 pm
Hola a todos, espero que me puedan ayudar.

El año pasado un programa que instale por desgracia me "crackeo" el ordenador. Y esto sin darme cuenta a las horas, cuando mi pc todos los archivos tenian la extension vvew, me pase todos los archivos a un solo disco y formatee el ordenador por el virus, pero mis archivos no hubo forma de restaurarlos, solo sobrevivieron los que estaban a mas de 5 carpetas metidos, el resto nada, hay archivos importantes que he seguido dejando por si, en un futuro hubiera una forma, como lo hicieron de forma online, he provado todas las opciones y ninguno consigue restaurarlos, ustedes sabrian como podria hacerlo?

Muchas gracias.

Si formateaste el disco estas F.

46  Programación / .NET (C#, VB.NET, ASP) / [Exclusivo El Hacker] [Tutorial] [SOURCE] Hooks - Cheat Menu Internal - Imgui - C#/VB en: 23 Junio 2023, 18:48 pm
Hola a todos, Alfin logre crear un menu completamente interno, USANDO IMGUI.

Antes que nada quiero decir , que esto no hubiera sido posible sin toda la ayuda que me ah Proporcionado BloodSharp en este tema y la guia que me dio Elektro durante años. Agradecido con ellos y este foro donde me inicie en este mundo.




Para llegar a este punto, ha sido un camino dificil, me encontre con limitacion del lenguaje .NET, como la incapacidad al no ser nativo , manejar ganchos y punteros. muchas veces Bloodsharp me insistion en dejar .Net para esto y pasarme c++.  pero yo mero terco, siempre lo intentaba sin exito alguno. :xD

Recuerdo que lo primero que intentaba era superponer Formularios (Externo) y de tanto intentar logre aprender muchas cosas , hasta hice un tutorial.

Luego intente hacer un menu interno, y lo logre de manera poco ortodoxa usando una api hecha en c++ , que hacia todo el trabajo por mi.

Elektro me dijo que con SharpDx se lograba en este post y Bloodsharp indico lo que tenia que hacer (Hookear)



Despues de muchos años... Finalmente entendi a que se referian y hoy vengo a mostrarles.

Empezaremos , que es Hookear (Gancho)?

"Hookear" es un término utilizado en el ámbito de la programación para referirse a la técnica de interceptar y modificar el comportamiento de una función o método existente en un programa. También se conoce como "interceptar" o "enganchar".

Basicamente cuando se realiza un hook en una función, se inserta código personalizado antes, después o en lugar del código original de la función. Esto permite a los desarrolladores modificar o extender el comportamiento de la función sin tener que modificar el código fuente original del programa.

Esto es realmente poderoso, Podemos enganchar cualquier funcion exportada, he aqui un ejemplo https://easyhook.github.io/tutorials/createlocalhook.html , Engancha a la WinAPI MessageBeep , por lo tanto cuando se llame a esta funcion, se desviara a tu codigo y puedes hacer varias cosas, por ejemplo silenciarlo (bloqueala), sustituirla por otro sonido (bloquea y reproduce otro sonido) , o simplemente notifica. Ven lo genial de esto ?

En .NET  hay varias formas de hacerlo, Usando EASYHOOK o MINHOOK , incluso hay codigos de ejemplo : https://stackoverflow.com/questions/51913872/c-sharp-calling-a-function-from-its-memory-address



Hablemos un poco sobre D3D

Se acuerdan que en la Escuela nos enseñaron que una linea se compone de puros puntos no? Los videos y Gif no son diferentes, se componen de images, a cada imagen le llamaremos Frame o Cuadro. , estos Frames se muestra seguido uno tras de otro formando movimiento.


Los FPS (Frames Per Second, o Fotogramas por Segundo) son una medida de la fluidez con la que se muestran los gráficos en un juego o aplicación. Representan la cantidad de cuadros o imágenes que se muestran por segundo. Un FPS más alto indica una mayor cantidad de cuadros generados por segundo, lo que generalmente se percibe como una animación más fluida y una experiencia de juego más suave.


Por lo general, Un juego usa un motor y ese motor usa una API gráfica para interactuar con la tarjeta gráfica y renderizar gráficos en aplicaciones y juegos. DirectX, OpenGL y Vulkan son las mas populares.

Ahora tomaremos el Ejemplo de HALO CE un juego shooter en primera persona... Este juego usa DirectX9  debes conocer como funciona para saber que enganchar. pero como no somos programadores de graficos, entonces basta con saber lo basico.

DirectX9 -> d3d9 tienes varias funciones Pero nos centraremos en 3 especificamente.

EndScene : La función EndScene se utiliza para finalizar el cuadro de renderizado actual y preparar el back buffer para su presentación. Se encarga de realizar tareas de finalización y limpieza antes de llamar a Present para mostrar el contenido en pantalla. Esto puede incluir la ejecución de operaciones de post-procesamiento, como aplicar efectos de imagen, manipular texturas, etc. EndScene se llama típicamente después de haber terminado de renderizar todos los elementos en el back buffer y antes de llamar a Present para mostrar el resultado final.


Present : Como se mencionó anteriormente, la función Present se utiliza para presentar el contenido renderizado en la ventana o dispositivo de visualización. Present toma el back buffer, que ha sido preparado por EndScene, y lo muestra en la pantalla.

Reset : La función Reset se utiliza para restablecer o reiniciar el estado de un dispositivo gráfico en Direct3D9. Esto incluye la restauración de los recursos gráficos, los parámetros de presentación y otros estados relacionados con el dispositivo. La llamada a Reset se utiliza cuando hay cambios en el tamaño de la ventana, cambios en la configuración del adaptador gráfico u otros eventos que requieran una reconfiguración del dispositivo gráfico.


En resumen, EndScene se utiliza para realizar tareas finales de procesamiento y preparar el contenido renderizado para su presentación, mientras que Present se encarga de mostrar en pantalla el contenido renderizado finalizado. Ambas funciones son importantes en el proceso de renderizado de Direct3D9 y se utilizan en secuencia para lograr una visualización adecuada en la ventana o dispositivo de visualización y Reset se utiliza para restablecer y reconfigurar el dispositivo gráfico.

La VTable (Tabla Virtual) es una tabla de punteros a funciones que se utiliza en la programación orientada a objetos (C++ , C# o VB). Sirve para determinar qué método específico se debe llamar cuando se invoca un método virtual en un objeto.

Cada clase con métodos virtuales tiene su propia VTable, y cada objeto tiene un puntero a su VTable correspondiente. La VTable permite que los métodos virtuales se comporten de manera diferente en función del tipo real del objeto en tiempo de ejecución. En resumen, la VTable es una forma de organizar y gestionar los métodos virtuales para que se ejecuten correctamente según el tipo de objeto en uso.



Enganchar y Superponer

El secreto de dibujar una superposición en cualquier proceso es enganchar la función "Frame End" de la biblioteca gráfica. En el caso de OpenGL esta función se llama wglSwapBuffers, en el caso de DirectX es d3dEndScene. Simplemente dejamos que el Juego dibuje todo su contenido y cuando llama a la función para finalizar el cuadro actual, dibujamos nuestra superposición en la parte superior antes de llamar a la función de cuadro final real.

Sabiendo la Teoria, entonces ya tenemos una idea de lo que tenemos que hacer no ?

Si revisamos documentacion en c++ , nos damos cuenta que al hookear EndScene , pasa un parametro Device, que es el dispositivo D3D

Código
  1. HRESULT WINAPI D3D9Hook::newEndScene(LPDIRECT3DDEVICE9 pDevice)

Para enganchar esta funcion hay un detalle, Tanto la función EndScene y Present no está disponible directamente en la exportación de d3d9.dll, por lo que no sera tan simple como llamar GetProcAddress, En su lugar, necesitarás obtener un puntero a la interfaz de Direct3D9 y luego acceder a la función EndScene o Present a través de su tabla de métodos (vtable).

Aqui Entra en juego SharpDX , Con el manejaremos de forma facil y rapidas las interfaces y metodos del d3d9 al engancharlo.

Como dijimos antes al enganchar EndScene o Present, y lo redireccionamos a nuestra funcion personalizada , hay un parametro Device, ese parametro lo convetiremos a algo que podamos manejar en nuestro lenguaje y para ello usamos SharpDX.

Código
  1.  public  int EndSceneHook(IntPtr device) //Nuestra funcion Custom al enganchar EndScene
  2.        {
  3.            //Convertimos el Device en un objeto que podamos manejar
  4.            Device dev = (Device)device;
  5.            dev.EndScene(); // LLamamos EndScene para que todo prosiga Como la funcion original y no romper el juego
  6.            return SharpDX.Result.Ok.Code; // Retornamos un int, ya que EndScene lo pide
  7.         }
  8.  

Bien ya con esto dentro de la funcion EndScene, puedes dibujar el en dispositivo grafico del juego, Dibujar Texto es solo un ejemplo de lo que puedes hacer.



Imgui

Ahora aqui viene la parte importante, Como hacemos nuestro menu interno para nuestra herramienta o cheat? , aqui entra en juego imgui, cabe destacar que no es la unica que nos puede servir, tambien esta Nuklear y otras mas.

ImGui (abreviatura de "Immediate Mode GUI") es una biblioteca ligera de interfaz gráfica de usuario (GUI) que se utiliza comúnmente en aplicaciones y juegos. Proporciona herramientas y funciones  para crear interfaces de usuario de forma rápida y sencilla.

Existen cientos de tutoriales para implementar imgui en un Gancho D3d u OpenGL. pero me enfocare en .NET

En .net Tenemos : ImGui.NET que es un Wrapper para cimgui (que a su vez es una api de c para imgui) , pero no es tan simple , ya que en cimgui no viene por defecto las implementaciones de imgui   entonces tendras que hacer :

Los siguientes Pasos son creditos de @Jacobmyers22 , perteneciente a este post.

1) Descargar el codigo fuente de cimgui y colocarle la implementacion que deseas usar, en el ejemplo anterior usamos d3d9 por lo que hay que buscar la implementacion para DX9 ver aqui y aqui

2) Imgui.NET que es un wrapper de cimgui tampoco tiene la implementacion, ya que cimgui tampoco la tiene, entonces ya que la agregaste, debes agregarlo al codigo fuente de imgui.NET :https://pastebin.com/RqNw5yXi y https://pastebin.com/2Dn7Eyp1 .

3) Ya teniendo las dos librerias anteriores con la implementacion que necesitas, estarias listo solo queda usar imgui como lo usarias en c++, no dejare codigo, por que mas abajo dejare el proyecto completo, con todo lo que hemos hablado.



Source and Testing

Dejo aqui el codigo fuente y algunos videos.

Github : https://github.com/DestroyerDarkNess/DX9ImHook








Gracias por vuestro tiempo, Todo este tutorial esta hecho en base a lo que yo se, por lo que puede tener errores. cualquier cosa comenten que les parece.

Este tutorial es bastante directo, considero que hay que hacer un tutoral solo acerca de Hooks (Ganchos) . posiblemente lo haga mas adelante, pero de todos modos he dejado claro conceptos que debes conocer y como lograr el objetivo.

 ;D Comentar que les ah parecido, el tutorial, entendieron? o hay cosas que cambiar?? , saludos.  ;)





47  Foros Generales / Foro Libre / Re: ¡20 años ya! en: 27 Mayo 2023, 23:41 pm
Felicidades @Songoku , yo soy relativamente nuevo en comparacion a ustedes, llegue aqui por azar del destino, y para bien, he aprendido muchas cosas. Esta fue la comunidad que me inicio en el mundo de la informatica. Gracias a todos!!  ;D

PD: En aproximadamente 13 dias cumplire 6 años en el foro.  :xD
48  Programación / Scripting / Re: falta api-ms-win-crt-runtime-l1-1-0.dll en: 15 Abril 2023, 19:11 pm

Este error suele deberse a que falta Visual C++ Redistributable

Descarga e Installa esto : https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/

49  Informática / Software / Re: Mi Primera App para Android : Wallpaper HQ en: 12 Abril 2023, 01:55 am

Coloque una captura de la aplicacion, aunque les recomiendo que la prueben, solo pesa 2mb.



Hola, en Flathub y en la tienda de elementary OS existe una aplicación llamada Fondo, la cuál permite descargar imágenes para fondo de pantalla... No sé cuál backend estás usando, pero Fondo utiliza para las imágenes la API de unsplash, las cuales son espectaculares en mi opinión, quizás tener ese backend adicional te sirva mucho... :silbar:


B#

No conocia unsplash, pero esta bueno, lo implementare. ahorita ando usando mi propia api que le hice a otro sitio de imagenes (usando scraping... ya me conocen. XD)
50  Informática / Software / Mi Primera App para Android : Wallpaper HQ en: 12 Abril 2023, 00:52 am
Hola a todos, He creado mi Primera aplicacion para Android y la publicado... me ayudaria mucho sus opiniones.

Pesa solo 2mb.   ::)

Es la primera version, y es mi primera app. osea puede tener bugs... me ayudaria que me ayudasen a probarla. por eso la comparto.

Siempre he programado en VB.NET, C# y algo de C++ (Con la ayuda del compañero Bloodsharp) , para windows, pero ahora estoy probando nuevos horizontes.



Nombre: Wallpaper HQ (Wallpaper High Quality) lo se, no soy bueno eliguiendo nombres.

Peso : 2mb

Descripcion: Descarga fondos de pantalla para tu telefono, tablet, o cualquier sistema con android, por que las imagenes son en alta resolucion , hasta 10.000x10.000 (no estoy exagerando, hasta con una TV con AndroidTV)

Se acuerdan de mi programa, Xylateware? bueno basicamente esta app es un port para android de mi aplicacion.


Descarga: https://play.google.com/store/apps/details?id=com.holydesing.software.wallpaperhq

Preview :





Porfavor pruebenla y me cuentan, me ayudarian bastante .  ;)





Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 72
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines