Autor
|
Tema: Crasheando un Proceso. (Leído 9,981 veces)
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Si usa alguna API que conozcas, puedes parchearla para que genere una excepcion.
Asi, si no la controla, queda frito...
Saludos!
Creo que es mas facil inyectar code como dije..
|
|
|
En línea
|
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Okay, gente no quiero ser rudo, pero estuve toooooda la tarde estudiando una materia que no me gusta nada de nada y estoy bastante cranky asi q work with me guys: Necesito saber como se puede hacer en vb (si se puede) una de estas dos cosas: 1) Inyectar el código que propuso Karcrack. 2) Conseguir la Address donde se guarda la EIP del programa para poder sobreescribirla.
Ahora, necesito saber como se hace, paso a paso, mis conocimientos de manejo de memoria y registros son bastante escasos, no sabia lo que era la PEB hasta q no lo googlee, no les pido q me hagan el código de eso me ocupo yo, simplemente necesito saber como tengo q leer/escribir el código en la memoria usando las API WriteProcessMemory y ReadProcessMemory y que addresses tengo q usar. Plis no le den muchas vueltas al asunto, simplemente vayan directo al grano. Muchas gracias x su ayuda y sorry si estoy siendo un gigant pain in the ass. Un abrazo APOKLIPTICO
PS: Despues de un rato de googlear, encontre la manera de sacar la BaseAddress con una API, ahora el tema es q me está fallando la funcion WriteProcessMemory (me devuelve 0) cada vez q intento escribir en la BaseAddress Que está pasando? q estoy haciendo mal? Incluso probé sumarle H01000000 a la direccion. Bueno, no se me fui a dormir, esto es muy frustrante...
|
|
« Última modificación: 10 Diciembre 2009, 05:07 am por APOKLIPTICO »
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
MCKSys Argentina
|
Hola! Lo que pasa es que en la dirección de la ImageBase está el PE Header del ejecutable. NORMALMENTE esta parte de la memoria no tiene permisos de escritura. Pero se los puedes dar con VirtualProtect Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
'KERNEL32 Private Declare Function CreateRemoteThread Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpThreadAttributes As Any, ByVal dwStackSize As Long, ByRef lpStartAddress As Long, ByRef lpParameter As Any, ByVal dwCreationFlags As Long, ByRef lpThreadId As Long) As Long Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Function CrashProc(ByVal lPID As Long) As Boolean CrashProc = CreateRemoteThread(OpenProcess(&H1F0FFF, ByVal 0&, lPID), ByVal 0&, 0, ByVal &HCACACACA, ByVal 0&, 0, ByVal 0&) End Function
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Je,je,je,je... Muy Bueno!!! PD: BADC0DE es otra dirección bonita para empezar el thread... Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
yVal 0&, lPID), ByVal 0&, 0, ByVal &HCACACACA, ByVal 0&, 0, ByVal 0&)
Como no lo va a Crashear le anda dando con doble CACAPerdon no me aguante xP Dulces Lunas!¡.
|
|
« Última modificación: 11 Diciembre 2009, 01:55 am por ░▒▓BlackZeroҖ▓▒░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
'KERNEL32 Private Declare Function CreateRemoteThread Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpThreadAttributes As Any, ByVal dwStackSize As Long, ByRef lpStartAddress As Long, ByRef lpParameter As Any, ByVal dwCreationFlags As Long, ByRef lpThreadId As Long) As Long Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Function CrashProc(ByVal lPID As Long) As Boolean CrashProc = CreateRemoteThread(OpenProcess(&H1F0FFF, ByVal 0&, lPID), ByVal 0&, 0, ByVal &HCACACACA, ByVal 0&, 0, ByVal 0&) End Function
YES! Esto es lo q necesitaba, en cuanto pueda lo pruebo. Ahora estoy muy ocupado jugando CoD4 MW y viendo the big bang theory XD GRACIAS!!!
|
|
« Última modificación: 11 Diciembre 2009, 02:59 am por APOKLIPTICO »
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Otra direccion para crashear bonita tambien es 0xDEADBEEF
|
|
|
En línea
|
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Gente, muchas gracias, funciona de maravillas. Aki esta la funcion completa: Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwProcessId As Long) 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 CloseHandle Lib "KERNEL32" (ByVal hObject As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long Private Declare Function CreateRemoteThread Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpThreadAttributes As Any, ByVal dwStackSize As Long, ByRef lpStartAddress As Long, ByRef lpParameter As Any, ByVal dwCreationFlags As Long, ByRef lpThreadId As Long) As Long Private Const PROCESS_ALL_ACCESS = &H1F0FFF Function CrashProg(ByVal Address As Long, ByVal WindowName As String) Dim Handle As Long Dim PID As Long Dim Hwnd As Long Dim ret Hwnd = FindWindow(vbNullString, WindowName) GetWindowThreadProcessId Hwnd, PID Handle = OpenProcess(PROCESS_ALL_ACCESS, False, PID) ret = CreateRemoteThread(Handle, ByVal 0&, 0, Address, ByVal 0&, 0, ByVal 0&) Call CloseHandle(Handle) End Function
Un abrazo APOKLIPTICO
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Perdón x revivir el post (son solo 7 dias), esta funcionando bien, el problema es que algunos procesos no se les puede inyectar memoria aleatoriamente, x ejemplo, el zonealarm, para crashearlo, me tira un acceso denegado... Otros procesos falla la inyección de memoria... Hay alguna manera de que ande?
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
|
|