Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Debci

#621
Buenas, tras conseguir la manera de obtener el PID sin necesidad de cojer la handle de la window, cree un code para poder modificar otros programas o procesos en ejecucion (que bien lo he pasado jeje), aqui primero el programa de ejemplo:

http://www.mediafire.com/?2mapqpuebn8kym1

Para encontrar el sector de memoria a modificar busquen por el numero que tienen almacenado en un momento determinado en la variable y cambien dicho sector de memoria en el codigo para injectar vuestro propio valor.

Esta basado en el tutorial de Vladek que lei hace tiempo, una variable que va acumulando valores de lo que recive sumandolos y mostrando su resultado.

Ahora nuestro programa, que en primer lugar obtiene el PID de un proceso a traves del nombre (Gracias Littlehorse), y lo modifica con WriteProcess, usando el handle obtenido con el PID:

Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <stdio.h>
#include "PsControl.h"

using namespace std;

int main()
{
HANDLE hPsLectura;
DWORD pidPs;
pidPs = getPsId("Proyecto1.exe");
cout << pidPs << endl;
hPsLectura = OpenProcess(PROCESS_ALL_ACCESS,false,pidPs);
long Numero = 71827339;
DWORD Bytes;
/* La direcion de memoria que vamos a cambiar en el proceso con HANDLER hPsLectura es 0x0022FF44 y cambiaremos el valor Numero */
WriteProcessMemory(hPsLectura,(LPVOID)0x0022FF44,&Numero,sizeof(Numero_Nuevo),&Bytes);
system("pause");
return 0;
}


Se que me diran que el system("No es portable"); y tal pero es que pocas funciones aqui usadas lo son :)

Y ahora la libreria con el control de procesos:

Código (cpp) [Seleccionar]

#ifndef _PSCONTROL_H_
#define _PSCONTROL_H_
#include <Windows.h>
#include <iostream>
#include <cstdlib>
#include <tlhelp32.h>
#include <tchar.h>
#include <stdio.h>
using namespace std;
int killProcess(DWORD pid)
{
   HANDLE proceso;
   proceso=OpenProcess(PROCESS_TERMINATE,FALSE,pid);


TerminateProcess(proceso,0);

CloseHandle(proceso);
return 0;

}
DWORD getPsId(const char* PsName)
{
DWORD ProcessID;    
HANDLE Handle;
PROCESSENTRY32 ProcI;

Handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
ProcI.dwSize=sizeof(PROCESSENTRY32);

while(Process32Next(Handle,&ProcI))
    if(!strcmp(ProcI.szExeFile,PsName))
       ProcessID=ProcI.th32ProcessID;


CloseHandle(Handle);

return ProcessID;
}
#endif


Eso es todo, no es un programa final, pero puede que a muchos les solucione algunas dudas.

Un saludo
#622
Muchisimas gracias, excelente respuesta, en cuanto a la seguridad del proceso creo eso ocurre cuando intento escribir o leer memoria, pero por lo que veo hay maneras de saltarlo.

Saludos
#623
Buenas a todos, recientemente hice un pequeño codigo en C++ para dopar una aplicacion, bajo windows XP funciona perfectamente pero cuando la quiero correr en Vista nada:

Código (cpp) [Seleccionar]

#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
HWND hVentana;

if (!(hVentana = FindWindow(NULL,"ProgramaCrackeado")))
{
MessageBox(NULL,"No se pudo encontrar la ventana","Error",MB_OK);
return -1;
}
}

Necesito conseguir el Handle de la ventana para obtener el PID del proceso y modificar sectores concretos de su memoria.

Lo que ocurre es que parece no encontrar la ventana puesto que el nombre es correcto, porque lo hago con la calculadora de windows y ocurre exactamente lo mismo, nunca encuentra la ventana, asi que puse el parametro del nombre como null y segun MSDN deben coincidir todas las ventanas con esa "Busqueda" pero ocurrian cosas indeseadas pues injectaba en memoria de procesos que no queria injectar.


Como lo mas probable es que este deprecated o en Vista no funcione, queria preguntar si existe alguna otra manera de obtener el PID de un proceso en ejecucion.

#624
Pues tienes que aceder a la clase del frame que quieres modificar y desde ahi declarando la variable del objeto del control swing como static y public la modificas (static no es explicitamente necesario).

Saludos
#625
Claro que si todos +1... enfin...
No voy a contestar mas en este post.

Saludos
#626
Jaja que risa tio xDDD
Muchos no han acabado de leerlo xDDD

Saludos
#627
Una cosa muy diferente es no tener conocimientos a aconsejar a gente sobre esto de lo que no tienes conocimientos, claro ejemplo el post de asm.

Que no quiero aprender... bueno es igual, no voy a continuar, si lo hago lo unico que conseguire es pelearme, y prefiero callarme y quedar como un tonto a hablar y ser un idiota.

Si creen que burlarse es decir que un lolazo es un lolazo... enfin... ahi lo dejo.
Saludos
#628
Cita de: Man-In-the-Middle en 15 Agosto 2010, 02:46 AM
jejej, como dicen el pez muere por la boca!!, para mi este gano a todos  ;-)  ;-)  ;-)

http://foro.elhacker.net/bugs_y_exploits/0day_windows_escalada_privilegios-t301819.0.html

CitarHe intentado hacerlo funcionar, pero no hay manera de compilarlo, y supongo que es c :S

CitarEn lo que a mi respecta pueden cerrar el post
:xD  :xD
Si para ti es un lolazo preguntar sobre si existe algun exploit a partir de la prueba de concepto, me parece que el problema no lo tengo, lo tiene el que quiere buscar las vueltas, si crees que una duda sobre un exploit, que otros usuarios se han unido a ella por cierto, es comparable al que queira desnudar con un telefono mobil...
En ese caso me parece que tenemos dos conceptos de lo que es un lolazo muy distintos, pero esta claro que tu intencion va mas lejos de un lolazo, va a ridiculizarme, pero bueno, asi son las cosas, es un foro libre asi que:
+1

Saludos
#629
Foro Libre / Re: Dali :D
15 Agosto 2010, 11:12 AM
Un catala amb estil!

Saludos
#630
Cita de: Leo Gutiérrez. en 15 Agosto 2010, 07:40 AM
Yo a veces paso muchas frente a la computadora, pero nunca cambiaría a mi novia por una estúpida máquina, nada se compara al amor.


+1

Saludos