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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 [2] 3 4 5
11  Seguridad Informática / Análisis y Diseño de Malware / ¿como obtener privilegios en windows 7? en: 7 Julio 2011, 16:07 pm
en este foro vi codigos sobre como setear un proceso como critico, abrir un proceso SYSTEM, funcionan bien en windows XP, pero en el 7 no, habra alguna forma de hacer andar esos codes en windows 7?
12  Programación / Programación General / [AYUDA] un codigo hecho en delphi en: 7 Julio 2011, 00:30 am
estoy iniciando en delphi y pues me puse a practicar tipos de datos y un par de apis , en una porcion del codigo que se encarga de buscar una ventana por su titulo tengo un problemilla:

un TButton, y 2 TEdit para el titulo a buscar y el otro para el HWND resultado.

Código:
procedure TForm1.Button3Click(Sender: TObject);
var
hwin :integer;
titulo :string;
begin
  titulo:= edit3.text;
  hwin:=FindWindow(nil,PAnsiChar(titulo));
  edit4.Text:=inttostr(hwin);   // aki sale la flecha
end;

end.

uso delphi7, miren al ejecutar con f9 ejecuta bien encontrando el titulo de la ventana q le indiquey me devuelve el HWND de la ventana en el edit, pero luego en el editor de codigo sale una flechita verde con un icono de "correcto" al lado de  la penultima linea:

Código:
edit4.Text:=inttostr(hwin)

y mi ventana se cuelga (no responde) , para poder  continuar voy al menu run/reset program y listo pero kisiera que deje de pasar esto, yo no he configurado nada y sale eso, y pasa que al kitar esa linea de codigo todo se ejecuta normal sin interrupcion, al ejecutar mi programa generado este se ejecuta normal y no se porque en el entorno delphi pasa eso , no se si la causa sea el codigo o el entorno, pero es muy molesto.
13  Sistemas Operativos / Windows / ¿como cambiar de windows 7 a windows xp? en: 27 Junio 2011, 21:52 pm
tengo 3 particiones "D:\"   archivos, "H:\"  juegos, y la "C:\" esta està congelada y aqui esta el SO windows 7 de 32 bits, quiero cambiarlo por windows XP sp3, pero no tengo el disco de instalacion del windows 7 (lei que para poder quitar un SO es necesario el disco con que se instalo), del windows xp tengo un archivo .iso que baje del internet.
anteriormente he instalado este windows xp en maquinas virtuales y se mas o menos como se hace, pero el problemita es que no se como quitar el windows 7 que ya esta instalado, con estos datos que doy ¿podrian darme una orientacion de como quitar el el win7 e instalar el win xp, conservando intactas las otras particiciones?, ah y me dijeron que al apagar el pc de manera incorrecta (tirar el cable, pulsar el boto de apagado sin cerrar sesion) windows puede resultar dañado y para evita eso debe configurarse algo de "cerrar sesion de forma segura" o mas o menos asi para que no pase nada, ¿como se hace esto?.
14  Programación / ASM / [DUDA]uso del mov en flat assembler en: 25 Junio 2011, 20:39 pm
hola hice mi primer code en FASM:

Código:
include 'c:\fasm\include\win32ax.inc'
.data
lpTextOk db 'notepad encontrado',0
lpTextError db 'no se encontró notepad',0
lpCaption db 'Mi Primer programa',0

lpClassName db 'notepad',0
lpWindowName db 0

NuevoTitulo db 'Modificando un caption',0

lpString db 'hello world',0
nCount dd 11
hWin dd ?
hdc dd ?

.code
start:
push 0               ;linea 19  original: push lpWindowName (no encuentra el notepad)
push lpClassName
call [FindWindowA]
mov [hWin],eax       ;linea 22  original: mov hwin,eax
cmp [hWin],0
jne encontrado
jmp noencontrado
.end start

encontrado:
push 64
push lpCaption
push lpTextOk
push 0
call [MessageBoxA]
push NuevoTitulo
push [hWin]
call [SetWindowTextA]
push [hWin]
call [GetDC]
mov [hdc],eax        ;linea 39  original: mov hdc,eax
push [nCount]
push lpString
push 25
push 25
push [hdc]
call [TextOutA]
push 1
push [hWin]
call [FlashWindow]
push 333
call [Sleep]
push 0
push [hWin]
call [FlashWindow]
push 333
call [Sleep]
push 1
push [hWin]
call [FlashWindow]
jmp salida
ret

noencontrado:
push 16
push lpCaption
push lpTextError
push 0
call [MessageBoxA]
jmp salida
ret

salida:
push 0
call [ExitProcess]
ret

la teoria del "mov destino,origen" dice que mueve info del origen al destino, y en FASM al poner la variable entre "[]" [variable] se refiere al valor que contiene supongo que al poner variable sin nada entonces se refiere a su direccion en memoria, en la linea 19 del codigo al principio puse "mov hWin,eax" lo entiendo de esta manera: "lo que valga eax muevelo a la direccion de hWin", pero me daba error (al igual que la linea 39), asi que le puse [hWin] y funciona , el uso del mov y de pasar las variables entre "[]" y sin nada no me queda muy claro ¿alguien me podria dar una mejor explicacion de esto?
15  Programación / ASM / ¿algun tuto y libro sobre flat assembler? en: 22 Junio 2011, 01:10 am
holas me gustarias aprender a fondo el lenguaje asm para win32 usando el flat assembler, lei un tutorial de E0N sobre un taller en flat assembler, pero quisiera avansar más principalmente aprender las intrucciones propias del micro (push mov, cmp, jmp , las de alto nivel no mucho: invoke) , en algunos codigos vi el uso de la instruccion invoke

Código:
"invoke Funcion Parametros..."

y tambien vi de esta forma:

Código:
push Paramtro1
Push Parametro2
Call [Funcion]

Esta segunda forma es la que me parece mas interesante para saber como funciona eso lo de la pila (antes no sabia nada sobre la pila), y saber las demas cosas que suceden en el micro al ejecutar tal instruccion.
¿sabran de algun tutorial en español de flat assembler ?(array, funciones apis, funciones de usuario, etc..)
-tambien quisiera que me recomienden algun libro sobre esto(si hubiera uno donde trate sobre flat assemble seria mejor).
gracias.

*una duda : ¿se pueden hacer DLL en asm(flat assembler)?
16  Programación / Programación Visual Basic / [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0 en: 13 Junio 2011, 17:45 pm
hice un codigo para buscar datos en la memoria de un proceso, uso el OpenProcess y la constante PROCESS_ALL_ACCESS, lo he ejecutado con varios procesos y anda bien, ahora quise probarlo con el juego StarCraft, al ejecutar este juego me fijo en el taskmgr en la columna donde dice si es un proceso "SYSTEM" o "serivcio de red" o "usuario"  dice que es proceso "usuario" pero no puedo abrir el proceso.
17  Programación / Programación C/C++ / [?]programar con apis de windows ¿por donde empezar? en: 12 Junio 2011, 01:45 am
holas, estoy iniciandome en c++, ya llevo un tiempito practicando , quisiera empezar a practicar con las apis de windows, ya he usado varias apis en visual basic 6.0, en c++ veo que es mas complejo,  hay mas tipos de datos que se usan con las apis (en C++: HMODULE,FARPROC,HWND,SOCKET, LPVOID, en visual basic cualquier de estos seria un Long ), he buscado en google tipos de datos C++ pero solo salen los tipos de datos basicos (char,int,long,BYTE) ¿me recomendarian algun tutorial, web, documento o libro sobre el uso de apis en español? y si hubiera alguna explicacion sobre los tipos de datos que usan estas apis (HANDLE, LPVOID y demas).
gracias de antemano.
18  Programación / Programación Visual Basic / ¿como poner el icono en la barra de del reloj y mostrar mensaje? en: 9 Junio 2011, 03:23 am
como ponerlo en esa barra al ladito del reloj, y mostrar esos mensajes que salen cuando una aplicacion se oculta y guarda en esa barra.

Image Hosting
19  Seguridad Informática / Análisis y Diseño de Malware / ¿como leer memoria protegida de un proceso y saber cuanto ocupa? en: 8 Junio 2011, 18:37 pm
quiero leer la memoria de algunos procesos activos uso OpenProcess y ReadProcessMemory para abrir el PID y leer, pero hay algunos que SI abren pero  al leer devuelven puros bytes nulos, y 1 o 2 q no devuelven nada, estaba leyendo un documento eso es porque estan protegidas la memoria de esos procesos con VirtualProtec y que esa api solo se usa desde el proceso que la llama , ¿que funcion api podria usar para que mi .exe cambie la proteccion de otro proceso y poder leer? ejem: notepad.exe
weno asi lo entendi el documento , sino please corrijanme.

-algo mas, ¿que otra api podria usar para calcular la memoria que esta ocupando un proceso?,por ahora uso el ReadProcessMemory para sumar todos los bytes leidos, pero hay algunos procesos que son muy pesados y los del sistema que no se pueden abrir ni leer y no se como calcularlos.
20  Programación / Programación Visual Basic / ayuda, uso del ReadProcessMemory VB6.0 en: 7 Junio 2011, 20:54 pm
estoy haciendo un code para buscar datos en la memoria de un proceso uso el readprocessmemory:

Código
  1. Option Explicit
  2.  
  3. Dim hProcess As Long
  4.  
  5. Private Sub cmdBusqueda_Click()
  6.    Dim Data As String, Buffer As String, Target As Long
  7.    Dim TmpByte As Byte, TmpInteger As Integer, TmpLong As Long, TmpString As String
  8.    Dim Pos As Long, Address As Long, FirstByte As String
  9.    Dim Fin As Boolean, BytesLeidos As Long, BytesRead As Long
  10.    Dim TotalBytes As Long
  11.    Fin = False
  12.    Address = 0
  13.    If optByte.Value = True Then
  14.        TmpByte = Val(txtData.Text)
  15.        Data = Space(1)
  16.        Call CopyMemory(ByVal Data, TmpByte, 1)
  17.    ElseIf optInteger.Value = True Then
  18.        TmpInteger = Val(txtData.Text)
  19.        Data = Space(2)
  20.        Call CopyMemory(ByVal Data, TmpInteger, 2)
  21.    ElseIf optLong.Value = True Then
  22.        TmpLong = Val(txtData.Text)
  23.        Data = Space(4)
  24.        Call CopyMemory(ByVal Data, TmpLong, 4)
  25.    Else   'String
  26.        Data = txtData.Text
  27.        If optStringUnicode.Value = True Then
  28.            Data = Unicode(Data)
  29.        End If
  30.    End If
  31.    Dim Tmp As String, X As Integer, PID As Long
  32.    X = lstProcesos.ListIndex
  33.    If X = -1 Then Exit Sub
  34.    Tmp = lstProcesos.List(X)
  35.    Pos = InStr(1, Tmp, "*")
  36.    If Pos > 0 Then Tmp = Mid(Tmp, Pos + 1)
  37.    PID = Val(Tmp)
  38.    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
  39.    If hProcess = 0 Then
  40.        MsgBox "No se pudo abrir el proceso", vbCritical, ""
  41.        Exit Sub
  42.    End If
  43.    lstDirecciones.Clear
  44.    FirstByte = Mid(Data, 1, 1)
  45.    While (Fin = False)
  46.        Buffer = Space(5000)
  47.        Call ReadProcessMemory(hProcess, Address, Buffer, Len(Buffer), BytesLeidos)
  48.        DoEvents
  49.        If BytesLeidos > 0 Then
  50.            Buffer = Left(Buffer, BytesLeidos)
  51.            Pos = InStr(1, Buffer, FirstByte)
  52.            If Pos > 0 Then
  53.                Call ReadProcessMemory(hProcess, Address + Pos - 1, Buffer, Len(Buffer), BytesRead)
  54.                If BytesRead > 0 Then Buffer = Left(Buffer, BytesRead)
  55.                If Buffer = Data Then
  56.                    Target = Target + Pos - 1 'dato encontrado
  57.                    lstDirecciones.AddItem Target
  58.                    Address = Target + Len(Data)
  59.                Else
  60.                    Address = Address + 1
  61.                End If
  62.            Else
  63.                Address = Address + BytesLeidos
  64.            End If
  65.        End If
  66.        TotalBytes = TotalBytes + BytesLeidos
  67.        If TotalBytes >= 150000000 Then Fin = True
  68.        If BytesLeidos < 5000 Then Fin = True
  69.    Wend
  70.  
  71.    Call CloseHandle(hProcess)
  72.    Me.Caption = TotalBytes
  73. End Sub
  74.  
  75. Private Sub cmdRefrescar_Click()
  76.    Dim Proceso As String, pShot As PROCESSENTRY32
  77.    Dim ProcessID As Long, P As Long
  78.    Dim R32Next As Long, hHelp32 As Long
  79.    lstProcesos.Clear
  80.    hHelp32 = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
  81.    pShot.dwSize = Len(pShot)
  82.    R32Next = Process32First(hHelp32, pShot)
  83.    While (R32Next <> 0)
  84.        Proceso = pShot.szExeFile
  85.        P = InStr(1, Proceso, Chr(0))
  86.        If P > 0 Then Proceso = Left(Proceso, P - 1)
  87.        ProcessID = pShot.th32ProcessID
  88.        lstProcesos.AddItem Proceso & Space(5) & "*" & ProcessID
  89.        R32Next = Process32Next(hHelp32, pShot)
  90.    Wend
  91.    Call CloseHandle(hHelp32)
  92. End Sub
  93.  
  94. Private Sub Form_Load()
  95.    Call cmdRefrescar_Click
  96. End Sub
  97.  

el codigo abre el proceso seleccionado normalmente pero al ejecutar el readprocessmemory , este no lee nada de memoria, al final del cmdBusqueda_Click agregue "me.caption = TotalBytes" (total de bytes leidos) para ver cuantos bytes lee pero siempre me da "0", intente usar el string buffer con byval y sin byval pero igual no lee:

Código
  1. Call ReadProcessMemory(hProcess, Address, ByVal Buffer, Len(Buffer), BytesLeidos)

Código
  1. Call ReadProcessMemory(hProcess, Address, Buffer, Len(Buffer), BytesLeidos)


en google encontre esta declaracion del api:

Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

tambien encontre otra casi  igual excepto que el parametro lpBuffer no tiene byval, he intentado con ambas formas pero no da resultado.
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines