No tienen limites he?
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úCitaruno de ellos creo que era una sinfonía de "DO,RE,MI,FA,SOL,LA,SI"
CitarRe: Brutal agresión racista en el Metro de Barcelona
xor edx, edx
bucle:
inc edx
mov esi, dword ptr[ebx]
add esi, eax
add ebx, 4
lea edi, [FuncionBuscada]
mov ecx, 0Eh
repe cmpsb
jnz bucle
CitarEBX ya no es mas un puntero a AddressOfFunctions (no a la ExportTable como dice tu comentario en el codigo)Gracias por la aclaracion!
mov esi, dword ptr[ebx + edx*4 ]
; ********************************************
; Hasta aca, en eax tengo a kernel32.dll
; en ebx tengo la ExportTable
; ********************************************
mov edx, -1
bucle: ; Bucle para comprobar si es la función buscada
inc edx ; Para saber en que posicion está la funcion
mov ebx, [ebx + edx * 4] ; Direcion del nombre de la funcion buscada + Siguiente funcion
add ebx, eax ; RVA->VA | add eax, Kernel32Dir
mov esi, ebx ; Mover a esi la funcion actual
lea edi, [FuncionBuscada] ; Mover a edi la funcion buscada
mov ecx, 0Eh ; [FuncionBuscadaLen] Necesario cargarla en cada vuelta, porque se decrementa
repe cmpsb ; Compara esi y edi, con una longitud de ecx
jnz bucle
.386
.model flat, stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
.data
FuncionBuscada db "GetProcAddress",0
.code
inicio:
; *******************************
; Obtener Kernel32.dll
; *******************************
assume fs: nothing
mov eax, fs:[30h]
mov eax, [eax + 0Ch]
lea eax, [eax + 0Ch]
NextModule:
mov eax, [eax]
mov ebx, [eax + 30h]
cmp byte ptr[ebx + 6*2], '3'
jne NextModule
mov ebx, [eax + 18h]
mov eax, ebx ; EAX guarda el valor de kernel32.dll
; *******************************
; ********************************
; Obtener direccion de funcion
; ********************************
add ebx, [ebx + 3Ch]
add ebx, 78h
mov ebx, [ebx]
add ebx, eax
; push ebx ; Guardamos el valor [ET] / Antes: mov [ET], eax
add ebx, 20h
mov ebx, [ebx]
add ebx, eax
; pop ebx ; Recuperamos el valor de [ET]
; ***********************************************************************
; Hasta aca, en eax tengo a kernel32.dll, en ebx tengo la ExportTable
; ***********************************************************************
mov edx, -1
bucle: ; Bucle para comprobar si es la función buscada
inc edx ; Para saber en que posicion está la funcion
mov ebx, [ebx + edx * 4] ; Direcion del nombre de la funcion buscada + Siguiente funcion
add ebx, eax ; RVA->VA | add eax, Kernel32Dir
mov esi, ebx ; Mover a esi la funcion actual
lea edi, [FuncionBuscada] ; Mover a edi la funcion buscada
mov ecx, 0Eh ; [FuncionBuscadaLen] Necesario cargarla en cada vuelta, porque se decrementa
repe cmpsb ; Compara esi y edi, con una longitud de ecx
jnz bucle
invoke ExitProcess, 0
end inicio
CitarLes agradezco mucho la orientación que me dieron, me quedo con el formateo a bajo nivel que ya entendí lo que es, y luego formatear la tarjeta o reemplazarla por las dudas
Citarme desilucioné con lo del dump, yo ya me imaginaba que iban a poder hacer un examen forense de mi equipo
CitarAdmito que después de que te pase algo así quedas a la defensiva, desconfio de hasta mi propia sombra pero me gustaria hacer el famoso dump para quedarme tranquila o para actuar en concecuencia.
Citaren cuanto a lo de loca, por el momento noBromeaba nomas
Citarhttp://foro.elhacker.net/seguridad/guia_rapida_para_descarga_de_herramientas_gratuitas_de_seguridad_y_desinfeccion-t382090.0.html