Menú

Mostrar Mensajes

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ú

Temas - x64core

#46
Hola , os queria preguntar acerca de Windbg si existe alguna forma de tener los simbolos ya cargados :P
debido que cada vez que quiero depurar un driver o programa con simbolos tarda entre 10 min o más en cargardos y mas si son
bastantes modulos y si aun no los tiene los tiene que descargar  :rolleyes: que fastidioso es eso :|
#47
Programación C/C++ / Depurar un driver?
28 Mayo 2012, 13:09 PM
Hola bueno os queria saber quien me podria hechar un cable
quiero depurar un driver paso por paso pero en los libros que estoy leyendo actualmente no dice nada donde como
depurarlo paso a paso y en la doc de windbg no encuentro nada aún seguramente hay que leerse unas 100 paginas para
saber la respuesta :P

ya tengo listo el driver de hecho funciona y ya tengo lista la maquina virtual, pero no tengo idea de decirle a windbg que se detenga
en la primera instruccion de mi driver :|

#48
hola a todos, bueno quería preguntar algo simple, que no tengo idea si sería lo correcto...
verán aprendí a agregar una sección a un ejecutable todo bien... ahora en el propio ejecutable quiero acceder a los datos
de la nueva sección  agregada, por ejemplo si la nueva sección la virtualadress estaría en 3000, como es la manera correcta para
acceder a esos datos?

estaria bien si quiero los primeros 10 bytes haciendo esto:

memcpy(miArray,3000,10); ???

tambien me pregunto si esto afectaria si el ejecutable tiene sección relocation...
tambien pense que quizas tendria que sacar la direccion relativa...
nose..

como sería lo correcto? gracias :)

#49
Ingeniería Inversa / Duda Formato PE
18 Mayo 2012, 05:30 AM
Hola a todos bueno creí en pensar escribir mi tema aquí porque la gente de Ingenieria inversa sabe mucho sobre el formato PE, bueno ya e leido sobre el formato PE y veran e estado viendo mucho EXEs y por ejemplo hice este hola mundo que posteare el Hex y tengo una dudilla sobre algo...
(Perdon por lo publicarlo con geshis es que necesitaba resaltar lo de mi duda)

lo que esta en azul es la Section headers, para que puedan ubicarse más rapido
lo de rojo no entiendo de donde sale... quiero saber de donde sale lo de rojo ? si fuera por el FileAlignment solo fueran 200h bytes aquí en este ejecutable pero
hay más... exactamente son 448 bytes, luego lo demas entiendo todo ( lo de verde es la sección de codigo, y bla bla... no puse todo para no hacer
tanto desorden... :P )

hey gracias por la ayuda :)


000001A2 00 00 00 00 00 00 00 20 00 00 14 00 00 00 00 00 00 00 00 00 00 00 ....... ..............
000001B8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 .................text.
000001CE 00 00 25 00 00 00 00 10 00 00 00 02 00 00 00 04 00 00 00 00 00 00 ..%...................
000001E4 00 00 00 00 00 00 00 00 20 00 00 60 2E 72 64 61 74 61 00 00 B6 00 ........ ..`.rdata....
000001FA 00 00 00 20 00 00 00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00 ... ..................
00000210 00 00 00 00 40 00 00 40 2E 64 61 74 61 00 00 00 2C 03 00 00 00 30 ....@..@.data...,....0
00000226 00 00 00 02 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000023C 40 00 00 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @.....................
00000252 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000268 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000027E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000294 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002D6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002EC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000302 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000318 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000032E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000344 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000035A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000386 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000039C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003B2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003C8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003F4 00 00 00 00 00 00 00 00 00 00 00 00
6A 00 FF 15 04 20 40 00 6A 00 ............j.... @.j.
0000040A 68 00 30 40 00 68 00 30 40 00 6A 00 FF 15 0C 20 40 00 6A 00 FF 15 h.0@.h.0@.j.... @.j...
00000420 00 20 40 00 CC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . @...................
00000436 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000044C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000462 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000478 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000048E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004A4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004BA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004E6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000512 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000528 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000053E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000554 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000056A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000596 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005AC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005D8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005EE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6C 20 00 00 ..................l ..
00000604 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 08 30 40 00 60 30 z ....... .......0@.`0
0000061A 40 00 58 20 00 00 00 00 00 00 00 00 00 00 8E 20 00 00 00 20 00 00 @.X ........... ... ..
00000630 64 20 00 00 00 00 00 00 00 00 00 00 AA 20 00 00 0C 20 00 00 00 00 d ........... ... ....
00000646 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6C 20 00 00 ..................l ..
0000065C 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 19 01 45 78 69 74 z ....... ........Exit
00000672 50 72 6F 63 65 73 73 00 15 02 47 65 74 4D 6F 64 75 6C 65 48 61 6E Process...GetModuleHan
00000688 64 6C 65 41 00 00 4B 45 52 4E 45 4C 33 32 2E 64 6C 6C 00 00 0E 02 dleA..KERNEL32.dll....
0000069E 4D 65 73 73 61 67 65 42 6F 78 41 00 55 53 45 52 33 32 2E 64 6C 6C MessageBoxA.USER32.dll
000006B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006CA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000070C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000722 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000738 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000074E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000764 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................

....
#50
ASM / Acerca de DOS stub
17 Mayo 2012, 04:29 AM
Bueno eso, no me refiero a la cabecera , sino al Stub, me e fijado que son diferentes incluso algunos programas
tienen unos bytes más... o tambien menos...
realmente no importa el contenido del DOS stub?
o eso depende...? por ejemplo si le intercambio el DOS stub de programas W32 afectaría en algo? dejaria de funcionar?
tomando en cuenta que ambas son del mismo tamaño... ( eso si afectaria verdad? si no fueran del mismo tamaño...)

la verdad no habla mucho en el MSDN del DOS Stub :P por eso pregunto... gracias gente :D
#51
Hola a todos :)
Bueno se me ocurrio saber si es posible crear un tipo de API monitor que muetre todas las llamadas en el log del Olly :P
es posible esto seria una gran herramienta :)
#52
Hola a todos, bueno quisiera saber si alguien sabe como evitar el olly al cargar un programa...
veran estoy programando un app y quiero agregarle un poco de proteccion nada más, yo e visto
por experiencia que algunas aplicaciones que tienen proteccion al abrirlas con olly y empieza a cargar este genera una exception
y cuando esa app corre sin debugger, se ejecuta normal :P

como es implementado eso?

alguien sabe? y seguramente tambien saben la solucion pero solamente quisiera saber como hacen eso, porque no quiero
agregarle una masiva proteccion a mi app solo por curiosidad y para poder aprender :P gracias cualquier respuesta
#53
Ingeniería Inversa / Analizando Reshacker...?
29 Abril 2012, 09:01 AM
Hola a todos que tal, bueno postee para pedir ayuda, no soy bueno en ingenieria inversa, siempre digo
que voy a empezar el libro de narvaja pero nunca lo hago xD es que tengo muchas cosas pendientes solo me lei paginas salteadas :P

bueno mi problema es que quiero analizar el reshacker porque quiero saber como funciona, como trabaja mas bien quiero saber
el funcionamiento de algo que me interesaria saber, pero cuando lo abro con olly me salta una excepcion, esta programado
en delphi, olly no puede con aplicaciones hechas en delphi? o necesito algun plugin, cuaquier texto suyos les agradezco, si necesito
plugin, tengo que hacer algo especial, etc

gracias
#54
Hola a todos, bueno estoy haciendo un BAT para eliminar todos los archivos de un determinado tipo
pero no lo tengo terminado la verdad jamas e practicado con BAT aunque sé programacion y por
eso mas o menos me voy guiando :P
me pueden ayudar :)
lo que me e fijado hasta ahora es que es super simple puedo hacer
del *.txt en el directorio donde esta el bat y elimina todos los archivos con esa extension pero ahora
como puedo entrar en los directorio ( si existieran ) y hacer un del *.txt y luego regresar y buscar otro directorio...
cualquier ayuda gracias

#55
hola gente, bueno hice este codigo y trabaja exactamente como yo quiero que haga, el problema es que
la CPU se sobrecarga, llega al 50% cuando posiciono el cursor sobre un control creado y no encuentro
del PORQUE lo hace : P
por favor ayuda! ya revise la documentacion y devuelvo los valores que pide : P
depurara el programa si supiera que hay un error pero el programa no se cuelga ni nada, al parece esta mal estructurado , gracias!



Código (asm) [Seleccionar]
.386
.model flat,stdcall
option casemap:none

include    \masm32\include\masm32rt.inc

myWNDPROC proto :HWND,:UINT,:WPARAM,:LPARAM
WndProc proto :HWND,:UINT,:WPARAM,:LPARAM
WinMain proto :DWORD,:DWORD

.data
    ClassName db "mypaint",0
    AppName  db "paint program",0

myclass db "Static",0
sname db "statictohide",0
sname2 db "statictohide2",0

hstatic dd 0
hstatic2 dd 0

mysubclass dd 0
returnclass dd 0
.data?
    hInstance HINSTANCE ?

.code

start:
invoke GetModuleHandle, NULL
mov    hInstance,eax

invoke WinMain, hInstance,NULL
invoke ExitProcess,eax

WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
LOCAL hwnd:HWND

mov   wc.cbSize,SIZEOF WNDCLASSEX
mov   wc.style, CS_HREDRAW or CS_VREDRAW
mov   wc.lpfnWndProc, OFFSET WndProc
mov   wc.cbClsExtra,NULL
mov   wc.cbWndExtra,NULL
push  hInstance
pop   wc.hInstance
mov   wc.hbrBackground,COLOR_BTNFACE+1
mov   wc.lpszMenuName,NULL
mov   wc.lpszClassName,OFFSET ClassName

invoke LoadIcon,NULL,IDI_APPLICATION
mov   wc.hIcon,eax
mov   wc.hIconSm,eax

invoke LoadCursor,NULL,IDC_ARROW
mov   wc.hCursor,eax

invoke RegisterClassEx, addr wc
INVOKE CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\
           WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
           CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\
           hInst,NULL
mov   hwnd,eax

invoke ShowWindow, hwnd,SW_SHOWNORMAL
invoke UpdateWindow, hwnd

.WHILE TRUE
invoke GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!eax)
invoke TranslateMessage, ADDR msg
invoke DispatchMessage, ADDR msg
.ENDW

mov     eax,msg.wParam
ret
WinMain endp

myWNDPROC proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL LEAVEAREA:TRACKMOUSEEVENT

.if uMsg==WM_MOUSEMOVE
invoke ShowWindow,hWnd,SW_HIDE

mov edx,hWnd
mov LEAVEAREA.cbSize,sizeof(TRACKMOUSEEVENT)
mov LEAVEAREA.dwFlags,TME_HOVER or TME_LEAVE
mov LEAVEAREA.dwHoverTime,1000
mov LEAVEAREA.hwndTrack,edx
invoke TrackMouseEvent,addr LEAVEAREA

.elseif uMsg==WM_MOUSELEAVE
invoke ShowWindow,hWnd,SW_SHOW
.else
invoke CallWindowProc,mysubclass,hWnd,uMsg,wParam,lParam
ret
.endif
xor eax,eax
ret
myWNDPROC endp

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL LEAVEAREA:TRACKMOUSEEVENT

.IF uMsg==WM_DESTROY
invoke SetWindowLong,mysubclass,GWL_WNDPROC,myWNDPROC
invoke PostQuitMessage,NULL

.ELSEIF uMsg==WM_CREATE

invoke CreateWindowEx,NULL,addr myclass,addr sname,WS_VISIBLE or WS_CHILD or SS_NOTIFY, \
0h,0h,50h,50h,hWnd,NULL,hInstance,NULL

mov hstatic,eax ; save hanlde static control

invoke CreateWindowEx,NULL,addr myclass,addr sname2,WS_VISIBLE or WS_CHILD or SS_NOTIFY, \
60h,0h,50h,50h,hWnd,NULL,hInstance,NULL

mov hstatic2,eax

invoke SetWindowLong,hstatic,GWL_WNDPROC,myWNDPROC
invoke SetWindowLong,hstatic2,GWL_WNDPROC,myWNDPROC
mov mysubclass,eax


.ELSE
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.ENDIF

xor eax,eax
ret
WndProc endp
end start

#56
Hola a todos, bueno eso, no puedo arrastrar las imagenes a mi photoshop :@
uso el CS5 y es portable la verdad no quiero instalar el orignal porque no soy diseñador dedicado, solo hago mis chapuzas haha
e leido en algunos lugares que sucede eso pero no e encontrado alguna solucion al problema, alguien sabe como arreglarlo?
gracias por adelantado :)
#57
Hola gente bueno siempre tube esa duda, muchas veces cuando descargaba codigos fuentes para estudiarlos
algunos proyectos estaban con ese candado y las modificaciones que hacia no quedaban guardadas...
esto:



jamas supe como lo hacian ni como desbloquearlos  :xD
alguien sabe como se hace?
#58
Ingeniería Inversa / Duda convirtiendo Hex
2 Abril 2012, 10:19 AM
Hey chicos queria saber si alguien sabía una forma de convertir una cadena hex a ensamblador
intente con olly pero no pude me muestra malo el ensamblador, por ejemplo este:

8B4C240851XXXXXXXXE8XXXXXXXX5989016631C0C3

el olly lo traduce mal ( mas o menos sé donde va el codigo) E8 = call estaria llamando a una direccion...
pero me lo traduce mal, intente con direccion temporal pero nada, alguien sabe alguna forma de hacerlo bien?
plugin para olly, truco, web, programa? :)
#59
Hola a todos bueno quiero preguntar si alguien sabe una forma de establecer una imagen como fondo de un
dialogo usando W32 API ( solo APIs ) hasta ahora no e encontrado nada :P
solo usando librerias pero no quiero depender de ninguna libreria pretendo hacerlo con w32 api :P
alguien sabe? gracias
#60
ASM / Confundiendo IAT, IT y la localizacion?
27 Marzo 2012, 10:09 AM
Buenas a todos bueno veran estoy estudiando mas sobre la estructure PE en los programas hechos con MASM32
y bueno me e fijado que siempre que uso APIs en la sección de codigo me genera unos JMPs a las APIs, y me puse a averiguar
del porque.
y por ejemplo este sencillo codigo ( lo muestro de una vez el dessensamblado):

00401000 >/$ 6A 00          PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
00401002  |. 68 05304000    PUSH TEST.00403005                       ; |Title = "cap"
00401007  |. 68 00304000    PUSH TEST.00403000                       ; |Text = "test"
0040100C  |. 6A 00          PUSH 0                                   ; |hOwner = NULL
0040100E  |. E8 0D000000    CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
00401013  |. 6A 00          PUSH 0                                   ; /ExitCode = 0
00401015  \. E8 00000000    CALL <JMP.&kernel32.ExitProcess>         ; \ExitProcess
0040101A   .-FF25 00204000  JMP DWORD PTR DS:[<&kernel32.ExitProcess>;  kernel32.ExitProcess
00401020   $-FF25 08204000  JMP DWORD PTR DS:[<&user32.MessageBoxA>] ;  user32.MessageBoxA
00401026     00             DB 00
00401027     00             DB 00


hasta ahora supongo que seria la Import table que se rellena con las direcciones pero ahora
viendo con analizador PE ( es mismo programa) la import table esta en la direccion:
Virtual Address Size
Import Table: 00402010 0000003C


se supone que estaria en la direccion tal pero... no.
no se supondria que el call saltaria a la import table? tambien quiza estoy confundiendo con la IAT pero ya me e leido algunos conceptos
creo que estoy confundido no :| o falta algo por explicar :P

tambien me e fijado que depurando algunos codigo de programas cuando hacen algun call a una API no salta a una tabla que vendria siendo la IT
sino salta de una sola vez a la API sin pasar a un JMP antes, el JMP deberia ser siempre no :|

bueno gracias y perdon y fue larga pero no encontre una forma más corta para darme a entender lo hice lo mas corto posible.
#61
Bueno queria saber si existe una opcion o plugin que suministre la informacion de pila de llamadas
osea depuro en un break y mostrarme informacion de los calls que a llamado el programa...
por ejemplo un programa que tenga 5 procedimientos (p1,p2,p3,p4,p5) y p1 llama a p2, p2 llama a p3 hasta llegar a p5
y depuro el codigo mientras se esta ejecutando una instruccion en p4 entonces en la pila de llamadas me estaria mostrando

p4
p3
p2
p1

creo que ya saben a lo que me refiero, existe? :D
#62
Hola gente bueno me lei la captura de mensajes para windows y ya sé capturar los mensajes
y llegar al codigo de procesamiento de ellos :P

ahora tengo otro problema que ya intente
pero no logro resolverlo, veran quiero capturar el evento WM_PAINT de un contro el problema es que
el programa al parecer tiene varios procedimientos de procesamiento de mensajes osea no es solo uno ( creo yo )
tambien porque llego al RET del procedimiento y no veo ningun ID del control que quiero.


bueno y como el evento ese se ejecuta muchas veces por todos los controles como puedo hacer en ese caso?
si solo quiero capturar el evento de un control? :|
intente haciendo un break condicional y agregando el handle pero quiza hago algo mal :P
gracias gente
#63
pues eso tengo detenida la depuracion y dependiendo no quiero que se ejecuten algunas instrucciones
desde olly no se puede cambiar el puntero instruccion como lo haceis ustedes?
#64
Hola a todos Bueno queria preguntaros si sabian alguna forma de decargar cualquier programa
y pausarla sin perder el contenido que lleve descargado? por ejemplo quiero descargar
varios programas de la pagina oficial de microsoft que pesan 1,2gb y no logro descargarlos de una
sola vez :P existe algun programa, forma? o es posible con los navegadores? ya busque algo
pero quiza no me se especificar, mil gracias :D




Bueno encontre una forma de hacerlo con FF
el archivo .part que crea cada vez que descargamos copiarlo y guardarla que ese es el archivo temporal
descargado luego cuando vuelvan a descargar paran la descarga y reemplazan ese archivo por el guardado y se restaura la descarga espero que funcione :P ahorita estoy descargando un archivo de 2gb
si funciona el metodo edito el post y aviso  :D
#65
Hola a todos bueno os cuento que tengo un problemon veran tengo varios archivos fuentes (.cpp) cada uno con un
header (.h) por ejemplo:

main1.cpp + main1.h
main2.cpp + main2.h

e leido un poco sobre programacion modular por eso mismo y porque es mas ordenado y limpio verdad, entonces
en los header de algunos fuentes necesito declarar la windows.h porque necesito declarar variables como HANDLE o constantes
como NULL... y asi...

entonces a la hora de compilar me muestra errores de enlazado como:

1>  other.cpp
1>Main.obj : error LNK2005: ya se definió "void * HL" (?HL@@3PAXA) en k.obj
1>Main.obj : error LNK2005: ya se definió "char * PL" (?PL@@3PADA) en k.obj
1>Main.obj : error LNK2005: ya se definió "long totBytes" (?totBytes@@3JA) en k.obj
1>Main.obj : error LNK2005: ya se definió "char * lpB" (?lpB@@3PADA) en k.obj
1>Main.obj : error LNK2005: ya se definió "char * lpInd" (?lpInd@@3PADA) en k.obj
1>Main.obj : error LNK2005: ya se definió "char * lplblNd" (?lplblNd@@3PADA) en k.obj
1>Main.obj : error LNK2005: ya se definió "char * lplblCb" (?lplblCb@@3PADA) en k.obj
1>MagL.obj : error LNK2005: ya se definió "void * HL" (?HL@@3PAXA) en k.obj
1>MagL.obj : error LNK2005: ya se definió "char * PL" (?PL@@3PADA) en k.obj
1>MagL.obj : error LNK2005: ya se definió "long totBytes" (?totBytes@@3JA) en k.obj
1>MagL.obj : error LNK2005: ya se definió "char * lpB" (?lpB@@3PADA) en k.obj
...


recuerdo haber encontrado un tutorial que mostraba eso de incluir archivos de cabecera aninados y multpliques pero
que exactamente creo que es lo me pasa pero no lo logro encontrarlo de nuevo! :@

Alguien Sabe como puedo solucionar esto? osea alguna pagina donde lo muestre tambien encontre una forma
usando una condiciones de precompilacion (#if,#else) pero la verdad no me gusto mucho :P
nose si solo existe esa forma :P gracias gente
#66
Ingeniería Inversa / Problemas Alineando PE
12 Marzo 2012, 23:08 PM
Hola a todos bueno vengo a pedir ayuda porque tengo problemas con realinear la struct PE de un EXE
resulta que quiero cambiar el tamaño de la sección .text como estas son pruebas para mi aprendizaje
e escojido el notepad de win7 la info es esta:


como veis el tamaño es A800 pero antes de modificar la direcciones le agrego los 100h bytes con un editor hex al final de la sección
text bien el EXE queda corrompido es de esperar no :P ahora cambio las direcciones asi:


lo guardo y el ejecutable no vuelve al estado normal aparte que el AV me lo detecta xD
alguien me puede hechar una mano ya me lei unos cuantos tutos de PE quiza estoy olvidando algo :P gracias
#67
Hola a todos bueno estos dias que e estado trasteando algunos programas para aprender
quisiera saber como hacen ustedes para capturar los eventos de los programas?
por ejemplo ahora que estaba trasteando mis propios programas que tengo instalados en mi PC
Por ejemplo un un programa me abre una pagina web entonces como puedo capturar ese evento?
algunos trucos, si supiera que lo hace mediante una API pondria un break pero como nose :P
y tambien pues lo digo por poner un ejemplo asi para aprender a parar la deburacion cuando
se presione un click, se abra un menu, etc cosas así... gracias gente
#68
Hola buenas bueno viendo que al veces para hacer pruebas en codigos C/C++ necesito insetar codigo asm
y sabiendo que si inserto codigo asm en C mi codigo ya no es portable, esto quiere decir que solo se podra ejecutar
en la arquitectura de codigo asm que inserte verdad? entonces como puedo hacer para que se pueda ejecutar
en un x86 y en un x64 o es imposible :P
si es necesario leer bastante lo hare me interesaria aprender y saber si es posible ( y si lo es, como?) hacer aplicaciones
para x86 y x64 muchas gracias  :)
#69
Buenas cuento que tengo un problema estoy praticando un poco con algunos programas simplemente a
modificar nombres, labels y esas  cosas y resulta que me e topado con un programa que genera la cadena
en tiempo de ejecucion e puesto un break en la API CreateWindowExA porque crea un dialogo por medio de
ella entonces e visto en programa con un Hex entonces no hay tal cadena de ese programa ( la que quiero modificar )

entonces cuando se  detiene en el break y veo el parametro apunta a tal cadena por eso deduzco que la genera en tiempo de ejecucion y de seguro y creo que esta cifrada o nose :P entonces quien me puede decir que puedo hacer en ese caso?
gracias :)
#70
Hola a todos bueno queria preguntar algo sencillo :P
como puedo guardar los breakpoint de un programa cada vez que vuelvo a reinciar un programa tengo que
poner otra vez todos los breakpoint :/ ?
#71
Hola a todos necesito una ayudita :) quiero cambiar el valor de unos bytes de un programa usando Hex workshop
pero no logro encontrar encontrar una opcion que siga "edit" para los bytes que quiero modificar alguien sabe como se hace?
mil gracias  :)
#72
ASM / [SOurce code] Limpiador de proyectos VS
3 Marzo 2012, 08:35 AM
Hola a todos, bueno aquí regalo mi primera aplicacion hecha en asm ( MASM) es una utilidad, sirve para
'limpiar' proyectos hechos en visual studio, lo que hace es que elimina los archivos que nosotros le indiquemos que queramos
ya que las carpetas de los proyectos llegan a pesar hasta 100mb!  >:(
espero que les sea de utilidad ya que esta pequeña app me causo unos cuantos dolores de cabeza, es mi primera app eh! :)



http://www.mediafire.com/?hwaek3ieq96iy8e
#73
Software / Crear un instalador?
2 Marzo 2012, 03:16 AM
Hola a todos quisiera saber si me pueden ayudar, quien sabe algun programa para crear un
instalador totalmente personalizado e buscado e instalado algunos pero no tienen lo que necesito
necesito que sea un instalador personalizado que pueda mostrar cualquier imagen como la de NOD:



tambien que tenga la opcion de cargar ciertas cosas o no depende del usuario escoga y tambien
opciones como estas:



alguien se sabe uno que me recomiende gracias
#74
Hola gente, bueno cuento estoy depurando una API nativa estoy practicando con Windbg que por cierto
nose de donde hay que es el mejor depurador :P la potencia la debe tener pero es muy 'sencillo' cuesta guiarse bueno
estoy practicando... y como dije estoy depurando una API nativa y e llegado a la instruccion 'SYSENTER' que e leido que
ejecuta una llamada a nivel 0 y por eso creí que con el windbg si hiba a poder 'ver que mas hace' pero luego 'step over'
me salta al retorno de las instruccion...
creo que me estoy equivocando en algo o no se puede 'ver' que hacer despues de esa instruccion?  :)
#75
Hola, pues estudiando no a completo el tema sino leyendo unos papers para luego empezar
en serio vi tambien un programa que muestra informacion de esos dos campos "SSDT", "shadow SSDT"
y en realidad si habia visto la tal shadow SSDT creí que era la misma :P
tambien algo pero creo que esto si es lo mismo es la  SDT y SSDT no?
Gracias por la ayuda  :)
#76
Hola, estoy intentado sacar la direccion de la instruccion actual osea el contenido de IP
pero viendo que no se puede hacer

mov eax,ip  :xD
solo se me a ocurrido usar call a una posicion siguiente, luego sacarla de la pila nose si alguien sabe otra alternativa
que se pueda hacer :P
#77
Hola a todos estoy tratando de obtener cierta informacion de los navegadores y tengo un problema
con chrome que no se como obtener la direccion url del navegador e tratado usando los messages
de windows etratado así:

HWND CHR = FindWindowA("Chrome_WidgetWin_0",NULL);
HWND BOX = FindWindowExA(CHR,0,"Chrome_OmniboxView",0);


pero en BOX me devuelve 0 osea no se si estoy en lo correcto o no sirve en chrome pero me devuelve 0 y tambien tengo
entendido que en chrome no se a implementado conversaciones dde para poder obtenerla por medio de ahí, y no
e podido encontrar algun metodo o forma de hacerlo, quiza vosotros saben de alguna forma, gracias.
#78
ASM / Rapidez entre distincia de los Calls?
20 Febrero 2012, 07:36 AM
Hola a todos, bueno tengo una pequeña duda que no es nada sobre codigos ni algo por el estilo
quiza es mas teorico o quiza no :P bueno estaba estudiando los Calls y se me vino a la mente
si los "saltos" de los calls afectan en algo la velocidad con que se ejecuta un codigo...?

digamos que estoy en la direccion 0000 0010 y hay un call a la direccion FFFF 0090 por decir algo, hay alguna diferencia en velocidad si cambia esa direccion de destino? osea que entre la direccion desde donde se "salta" a la direccion a "saltar" afecta
la distancia entre ellas en velocidad?
bueno quiza esto puede o no afectar pero es simple dudilla jeje
Gracias de ante mano!  :-*
#79
queria saber algo sobre que si los AVs envian muestras sospechosas a los laboratorios para que sean analisadas
veran tenia un soft, lo detectaban 4,5 Avs luego de 3 dias me lo detectaban 8-9 Avs y enviaba los analisis en
un scan privado donde no se envia las muestras, alguien explica eso  :P
#80
Bueno estoy usando APIs nativas para un proyecto, busque el archivo ntdll.h y lo encontre suelto... pero
de otro momento me descargare el WDK porque segun tengo entendido ahí se encuentran las cabeceras oficiles y
bueno mi pregunta es sencilla acaso no se puede "mezclar" cabeceras como ntdll.h, Winternl.h, y entre otros ?
#81
Eso, alguien sabe como escribir en esa ventana en el modo depuracion :|
ya busque y en la msdn sale solo para vb.net no creo que en VC este de adorno no :|
la api para escribir en ella no, porque quiero escribir los valores de variables, estructuras ,etc
#82
Hola a todos queria saber si alguien se sabia algunos trucos
para evitar cuelges o mejorar la depuracion a la hora de trabajar con hooks sobre
el sistema tengo unos hooks sobre el mouse y keyboard y cuando pongo un breakpoint para ver estado
de variables, etc se detiene en el breakpoint pero tarda unos segundos para reaccionar y en el peor
de los casos me escribe en el proyecto o hace una modificacion sin querer y me hace perder tiempo
al volver a compilar y tener ese proyecto, osea practicamente es tedioso O.o

alguien sabe como depurar comodamente, si es posible siempre en el entorno de visual c porque
es super comodo, gracias
#83
Hola a todos tengo una duda sobre los DVD de las MSDN y las distintas versiones
por ejemplo esta, la 2010:
http://www.taringa.net/posts/ciencia-educacion/5682110/Microsoft-Visual-Studio-2010-Ultimate-Espanol-_-MSDN-_Yapa.html
la MSDN de ahí es toda la info que podemos encontrar en la pagina oficial, osea aqui:
http://msdn.microsoft.com/es-es/
totalmente toda esa info o solamente el que ? gracias =D
#84
Buenas estoy algo confundido para definir una constante de cadena, porque e visto que exite las directivas "define", "const", o
tambien asi: char* lp = "constante" , o asi: char var[8] = "testing"
mas que todo lo que quiero es que la cadena se almacene dentro del binario asi en cadenas grande es mas rapido el programa :P

#85
buenas tengo problema con este pinche codigo, lo e llegado a hacer hasta en asm y en c no puedo  :¬¬
es que esto de tipos no me gusta nada  :¬¬

int main()
{
char* i = new char[10] = "testing";

if(*i > 97) // si es mayor que 'a'
{
*i = *i +  3;
}
return 0;
}


intento sumarle un valor de 3 si el char es mayor que 97('a')
pero a la hora de asignar el valor resultante me sale ese error de excepcion ya intente hacer unos cuantos casting pero na... :/ como sea hace? :)
gracias!
#86
eso, que utilidades puede tener obtener la kernel base?
se me ocurre sumarle una direccion relativa hacia alguna funcion pero como esto no lo creo porque el kernel se actualiza
podria apuntar hacia otro lado no? :P
#87
buenas a todos alguien se sabe algun programa que guarda paginas webs que tenga informacion o paginas
en flash ( creo que es flash ) de esas que cuando guardas la pagina completa guarda todo menos las paginas porque estan
asi como protegidas alguien sabe algun programa para guardar ese tipo de informacion?

ED:

mas que todo lo que quiero es descargarme unos papers que son tipo pdf pero que no se pueden descargar no es video :P
#88
Buenas quien sabe cual es la clave del registro que dice que AV tiene uno instalado me recuerdo que
la tenia guardada en alguna parte pero se me perdio :P en valor de clave era algo asi como Nod32, Kaspersky Security, etc
#89
Saludos a todos vengo con una duda, mirad este codigo:

int* a()
{
int x;
int* p;

x = 10;
p = &x;
return p;


}


int main()
{
int* y;
int z=20;

y = a();

y=&z;
// que pasa con el valor 10?
}


bien, ultimamente me estoy preocupando mucho sobre los recursos y como administran la memoria mis programas y tengo una duda que pasa
con la variable ( valor 10 ) despues de la asignarle un nuevo valor al puntero que la tenia? el compilador borra internamente? osea ese 10, ahora el compilador sabe que esta libre para asignar algo en ese espacio de memoria? o la variable queda perdida en ese espacio? y si es asi como se haria entonces en ese caso para evitar eso?
de ante mano gracias :)
#90
Trabajando a bajo nivel con hooks sobre el teclado, en el proceso no mostrar ninguna clase de msgbox.

module
Código (vb) [Seleccionar]
Option Explicit


'''''''''''''''''''''''''''''''''''''''''''''''''
' Autor: RHL
' Email: opRhl@hotmail.com
' Not remove this text
'''''''''''''''''''''''''''''''''''''''''''''''''



Private Declare Sub RtlMoveMemory Lib "Kernel32.dll" (Dest As Any, Src As Any, ByVal ln As Long)
Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long
Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
             
Private Type KBDLLHOOKSTRUCT
   vkCode              As Long
   scanCode            As Long
   flags               As Long
   time                As Long
   dwExtraInfo         As Long
End Type
   
Private Const MSGTEXT                       As String = "DATA"
   Private Const VKC                       As String = vbCrLf & "VKC: "
   Private Const SCC                       As String = vbCrLf & "SCC: "
   Private Const FLG                       As String = vbCrLf & "FLG: "
   Private Const TME                       As String = vbCrLf & "TME: "
   Private Const EXI                       As String = vbCrLf & "EXI: "
Private Const MSGCaption                    As String = vbCrLf & "DATA"

Public Const WH_KEYBOARD_LL                 As Long = 13&
Public Const SH                             As String = "558BEC5352578B450883F8007C3483F800752F8B550C81FA040100007D2781FA000100007522BFXXXXXXXX8B5D10558BEBB9050000008B4500890783C70483C504E2F35DE8XXXXXXXX8B15XXXXXXXXFF7510FF750CFF750852E8XXXXXXXX5F5A5B8BE55DC20C00"
private KB                                  As KBDLLHOOKSTRUCT
private hwHook                              As Long
private runCode(108)                        As Byte


Public Function Reghook(ByVal hw As Long) As Boolean
   hwHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf FncVBASM, App.hInstance, 0)
   If hwHook Then Reghook = True
End Function

Public Sub UnHook(ByVal hw As Long)
   UnhookWindowsHookEx hwHook
End Sub

' shellcode to execute
'MOV EAX,0B0
'PUSH EBP
'MOV EBP,ESP
'PUSH EBX
'PUSH EDX
'PUSH EDI
'MOV EAX,DWORD PTR SS:[EBP+8]
'CMP EAX,0
'JL  $+XX
'CMP EAX,0
'JNZ $+XX
'MOV EDX,DWORD PTR SS:[EBP+C]
'CMP EDX,104
'JGE $+XX
'CMP EDX,100
'JNZ $+XX
'MOV EDI,[Struct KB]
'MOV EBX,DWORD PTR SS:[EBP+10]
'PUSH EBP
'MOV EBP,EBX
'MOV ECX,5
'MOV EAX,DWORD PTR SS:[EBP]
'MOV DWORD PTR DS:[EDI],EAX
'ADD EDI,4
'ADD EBP,4
'LOOP $
'POP EBP
'CALL MSG
'MOV EDX,DWORD PTR DS:[hHook]
'PUSH DWORD PTR SS:[EBP+10]
'PUSH DWORD PTR SS:[EBP+C]
'PUSH DWORD PTR SS:[EBP+8]
'PUSH EDX
'CALL CallNextHookEx
'POP EDI
'POP EDX
'POP EBX
'MOV ESP,EBP
'POP EBP
'RETN 0C

Public Function FncVBASM(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   FncVBASM = &H50
   FncVBASM = FncVBASM + &H60
   FncVBASM = FncVBASM + &H10
   FncVBASM = FncVBASM + &H80
   FncVBASM = FncVBASM + &H40
   FncVBASM = FncVBASM + &H20
   FncVBASM = FncVBASM + &H100
   FncVBASM = FncVBASM - &H200
   FncVBASM = FncVBASM * &H2
   FncVBASM = FncVBASM - &H150
   FncVBASM = FncVBASM + &H20
   FncVBASM = FncVBASM + &H10
   FncVBASM = FncVBASM + &H60
   FncVBASM = FncVBASM + &H10
   FncVBASM = FncVBASM + &H40
   FncVBASM = FncVBASM + &H60
   FncVBASM = FncVBASM + &H10
   FncVBASM = FncVBASM + &H40
   FncVBASM = FncVBASM + &H6
   FncVBASM = FncVBASM + &H79
   FncVBASM = FncVBASM + &H9
End Function


Public Function PreCodASM(lpFunctASM As Long) As Boolean
   Dim Protect         As Long
   Dim lsize           As Long
   Dim i               As Long
   Dim tLng            As Long
   Dim tSC             As String
   Dim addrMSG         As Long

   tSC = SH
   addrMSG = Getaddrf(AddressOf MSG)
   tLng = getAddrCNHE
 
   Mid(tSC, 79, 8) = Hex$(Invertlong(VarPtr(KB)))                                  
   Mid(tSC, 139, 8) = Hex$(Invertlong(addrMSG - &H5 - (lpFunctASM + 73)))
   Mid(tSC, 151, 8) = Hex$(Invertlong(VarPtr(hwHook)))                              
   Mid(tSC, 181, 8) = Hex$(Invertlong(tLng - &H5 - (lpFunctASM + 94)))              

   lsize = Len(tSC) \ 2
   For i = 0 To lsize - 1
       runCode(i) = CLng("&H" & Mid$(tSC, i * 2 + 1, 2))
   Next

   If 0 = VirtualProtect(ByVal lpFunctASM, lsize + 5, PAGE_EXECUTE_READWRITE, Protect) Then Exit Function
   RtlMoveMemory ByVal lpFunctASM + &H5, ByVal VarPtr(runCode(0)), lsize
   VirtualProtect ByVal lpFunctASM, lsize + 5, Protect, Protect
   PreCodASM = True
End Function

Private Function Invertlong(ByVal llng As Long) As Long
Dim t               As Long
t = (((llng And &HFF000000) \ &H1000000) And &HFF&) Or ((llng And &HFF0000) \ &H100&) Or ((llng And &HFF00&) * &H100&) Or ((llng And &H7F&) * &H1000000): If (llng And &H80&) Then t = t Or &H80000000
Invertlong = t
End Function

Private Function getAddrCNHE() As Long
   Dim AddrUSER            As Long
   
   AddrUSER = GetModuleHandle("user32.dll")
   getAddrCNHE = GetProcAddress(AddrUSER, "CallNextHookEx")
End Function

Public Function Getaddrf(lp As Long) As Long
   Getaddrf = lp
End Function

Public Sub MSG()
MsgBox MSGTEXT & VKC & KB.vkCode & SCC & KB.scanCode & FLG & KB.flags & TME & KB.time & EXI & KB.dwExtraInfo, 0, MSGCaption
' EAX = 0
End Sub


'''''''''''''''''''''''''''''''''''''''''''''''''
' Autor: RHL
' Email: opRhl@hotmail.com
' Not remove this text
'''''''''''''''''''''''''''''''''''''''''''''''''



Example:
form
Código (vb) [Seleccionar]


'''''''''''''''''''''''''''''''''''''''''''''''''
' Autor: RHL
' Email: opRhl@hotmail.com
' Not remove this text
'''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" ( _
                                                               ByVal lpModuleName As String) As Long

Private Sub Form_Load()
   If GetModuleHandle("VBA6") Then Debug.Print "only compiled": End
   If Reghook(Me.hWnd) Then MsgBox "Hooked activate!"
   If not PreCodASM(AddressOf FncVBASM) Then debug.print "error": end
End Sub

Private Sub Form_Unload(Cancel As Integer)
   UnHook (Me.hWnd)
End Sub


con esto me despido de vb...