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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Cambiar Bits de otro proceso.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar Bits de otro proceso.  (Leído 5,195 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Cambiar Bits de otro proceso.
« en: 11 Diciembre 2011, 19:56 pm »

Hola, se que esto ya se hablo en el foro, pero no recuerdo bien con que apis buscar, quiero modificar cierta parte de el array de bits de un proceso.
Se agradecen aportes.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Cambiar Bits de otro proceso.
« Respuesta #1 en: 11 Diciembre 2011, 20:50 pm »

Hola, sera alguno de estos post ?

Como Hacer Que Este Code Edite Array Of Bytes?

Duda sobre valores de la memoria!!!

   [VB6] Memoria

Como crear Memoria Dinamica?

   Duda sobre valores de la memoria!!!

saludos.



En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Cambiar Bits de otro proceso.
« Respuesta #2 en: 12 Diciembre 2011, 03:08 am »

yo tengo una duda! yo estuve estudiando fuerte ese tema hace poco e hice unos codigos de prueba
pero no se si es a lo que quieren :P
querer escribir en otro proceso diferente? :P
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Cambiar Bits de otro proceso.
« Respuesta #3 en: 12 Diciembre 2011, 03:16 am »

Es la memoria de ese proceso? O seia parte del ejecutable?
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Cambiar Bits de otro proceso.
« Respuesta #4 en: 12 Diciembre 2011, 09:07 am »

OpenProcess
CloseHandle
ReadProcessMemomy
WriteProcessMemomy
y para desbloquear la memoria bloqueada:
VirtualProtectEx

Nota: No querias decir Bytes en lugar de Bits?... ya que con las apis que conozco solo usan en sus primitivas de acceso los bytes no los bits.

Dulces Lunas!¡.
« Última modificación: 12 Diciembre 2011, 09:15 am por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Cambiar Bits de otro proceso.
« Respuesta #5 en: 12 Diciembre 2011, 09:14 am »

Jeje Asi va mi codigo :3
solo que el mio:

findwindow
getwindowthreadprocessid
openprocess
virtualallocex
writeprocessmemory
close handle

Lo publicare esta semana :3 le estoy añadiendo asm inline :3

En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Cambiar Bits de otro proceso.
« Respuesta #6 en: 13 Diciembre 2011, 00:03 am »

Hola ya me estoy reorientando, bien, si la idea es cambiar un array de Bytes por otro de un ejecutable externo, la idea era hacer un cheat par aun juego on line el cual creo que ya me vanearon asi que me lo meto en el ....
pero en fin volviendo al tema Gracias a lo que me paso Seba me puse a investigar un poco y me tope con el problema de ReadProcessMemory el cual desdusco que no me leia nada porque no se puede empezar a leer desde el bite 0

Código:
ReadProcessMemory ProcHandle, ByVal 0&, ByVal sBuffer, Len(sBuffer), BytesRead

hay una parte de la memoria que no se puede leer, lo cual se puede saber con VirtualQueryEx ((mbi.lType = MEM_PRIVATE) And (mbi.State = MEM_COMMIT))

como no se la dirección exacta en la memoria donde esta el array de bits que debo reemplazar tengo que buscar el array que tengo dentro del proceso, una vez encontrada la posición meter el nuevo array.

Saludos.



En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Cambiar Bits de otro proceso.
« Respuesta #7 en: 17 Diciembre 2011, 01:31 am »

Código:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowThreadProcessId Lib "user32" _
    (ByVal hwnd As Long, lpdwProcessId As Long) As Long
 
Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" _
(ByVal lFlags As Long, ByVal lProcessID As Long) As Long
    
Private Declare Function Module32Next Lib "kernel32" _
   (ByVal hSnapShot As Long, lpMe32 As MODULEENTRY32) As Long

Private Declare Function CloseHandle Lib "kernel32" _
    (ByVal hObject As Long) As Long


' Constantes APIs
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Const TH32CS_SNAPMODULE = &H8
Private Const MAX_PATH = 260

Private Type MODULEENTRY32
   dwSize               As Long
   th32ModuleID         As Long
   th32ProcessID        As Long
   GlblcntUsage         As Long
   ProccntUsage         As Long
   modBaseAddr          As Long
   modBaseSize          As Long
   hModule              As Long
   szModule             As String * 256
   szExePath            As String * MAX_PATH
End Type

Sub main()

Dim hWin            As Long
Dim pID             As Long
Dim hwSnap          As Long
Dim PTRMOD          As MODULEENTRY32
Dim retVal          As Long

hWin = FindWindow("Notepad", vbNullString)
    If hWin Then
        GetWindowThreadProcessId hWin, pID
        hwSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pID)
        If hwSnap Then
            PTRMOD.dwSize = Len(PTRMOD)
            retVal = Module32Next(hwSnap, PTRMOD)
            If retVal Then
                '... readprocessmemory,writeprocessmemory, etc
                CloseHandle (hwSnap)
            End If
        CloseHandle (hwSnap)
        End If
    Else
        Debug.Print "Notepad no esta en ejecucion"
    End If
End Sub

sin asm, no logre adaptarlo :P de ejemplo el notepad
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines