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ú

Mensajes - Eternal Idol

#1551
Cita de: vangodp en 30 Marzo 2014, 16:58 PM
¿Y como se les puede unir? :S
Por que me lie... en vez de modificar pinche en uno nuevo.
Una vez echo eso no se puede borrar :/

Usando el boton de modificar; una vez que ya cometiste el error podes modificar ambos para que el segundo quede vacio y un moderador lo borre.
#1552
vangodp: escribiste un mensaje a las 30' y despues otro a las 43', esta vez los uni, la proxima vez los voy a borrar, por favor respeta las reglas.
#1553
Cita de: cpu2 en 29 Marzo 2014, 20:33 PMSimplemente pense que se podrian conseguir esos valores igual que en sistemas Unix-like, error mio, tampoco lo veo una perdida de tiempo saber como funcionan las cosas sin llamar a una API.

No, perder el tiempo seria continuar buscando en la pila lo que no esta ella, por eso se lo dije a otra persona y no a vos. Saber como funcionan la cosas es muy util, nadie dijo lo contrario. La linea de comandos esta en el PEB (Process Environment Block).

0:000> u kernel32!getcommandlinew
kernel32!GetCommandLineW:
00000000`775ac428 ff25ea160800    jmp     qword ptr [kernel32!_imp_GetCommandLineW (00000000`7762db18)]

0:000> u poi(7762db18)
KERNELBASE!GetCommandLineW:
000007fe`fd5ecb70 488b05713b0500  mov     rax,qword ptr [KERNELBASE!BaseUnicodeCommandLine+0x8 (000007fe`fd6406e8)]
000007fe`fd5ecb77 c3              ret

0:000> du poi(000007fe`fd6406e8)
00000000`003034ac  "C:\Windows\System32\calc.exe"

0:000> !peb
PEB at 000007fffffdf000
....

0:000> dt ntdll!_PEB 000007fffffdf000
  +0x000 InheritedAddressSpace : 0 ''
  +0x001 ReadImageFileExecOptions : 0 ''
  +0x002 BeingDebugged    : 0x1 ''
  +0x003 BitField         : 0x8 ''
  +0x003 ImageUsesLargePages : 0y0
  +0x003 IsProtectedProcess : 0y0
  +0x003 IsLegacyProcess  : 0y0
  +0x003 IsImageDynamicallyRelocated : 0y1
  +0x003 SkipPatchingUser32Forwarders : 0y0
  +0x003 SpareBits        : 0y000
  +0x008 Mutant           : 0xffffffff`ffffffff Void
  +0x010 ImageBaseAddress : 0x00000000`ff170000 Void
  +0x018 Ldr              : 0x00000000`777e2640 _PEB_LDR_DATA
  +0x020 ProcessParameters : 0x00000000`00302690 _RTL_USER_PROCESS_PARAMETERS
.....


0:000> dt -b ntdll!_RTL_USER_PROCESS_PARAMETERS CommandLine. 0x00000000`00302690
  +0x070 CommandLine  :  "C:\Windows\System32\calc.exe"
     +0x000 Length       : 0x38
     +0x002 MaximumLength : 0x3a
     +0x008 Buffer       : 0x00000000`003034ac  "C:\Windows\System32\calc.exe"

De yapa, sabiendo lo anterior y como obtener el PEB se puede obtener la linea de comandos sin API en x64:

0:000> u ntdll!RtlGetCurrentPeb
ntdll!RtlGetCurrentPeb:
00000000`77760600 65488b042530000000 mov   rax,qword ptr gs:[30h]
00000000`77760609 488b4060        mov     rax,qword ptr [rax+60h]
00000000`7776060d c3              ret

Eso si, el PEB podria cambiar en cualquier momento como dice la documentacion. Por eso mejor usar la simple API en este caso.
#1554
Cita de: cpu2 en 29 Marzo 2014, 18:33 PMPues claro que se puede hacer sin la API, si es cierto esta en el stack ... en unix-like, no se si te valdra para Windows creo que si.

No, no lo esta, por eso pregunte para que S.O. era, si escribis un programa en C/C++ podras ver como la RTL se encarga de llamar a GetCommandLine y parsear la cadena para obtener argc y argv.

ivancea96: no pierdas el tiempo.
#1555
¿S.O.? Para Windows llama a GetCommandLine y extrae los parametros de la cadena devuelta.
#1556
Por favor traten de mantener el codigo al minimo, que lo escriban los que tienen el problema y no los demas participantes del foro.
#1557
Noticias / Re: YST nuevamente a la SOMBRA.
28 Marzo 2014, 01:43 AM
Que sorpresa ...
#1558
ASM / Re: Duda con Stack Pointer (Registro 13)
27 Marzo 2014, 01:12 AM
Eso mismo hubiera dicho pero esto es para ARM (y no para PC como practicamente todo en este subforo).

SP, the Stack Pointer

Register R13 is used as a pointer to the active stack.

In Thumb code, most instructions cannot access SP. The only instructions that can access SP are those designed to use SP as a stack pointer. The use of SP for any purpose other than as a stack pointer is deprecated. Note Using SP for any purpose other than as a stack pointer is likely to break the requirements of operating systems, debuggers, and other software systems, causing them to malfunction.

LR, the Link Register

Register R14 is used to store the return address from a subroutine. At other times, LR can be used for other purposes.

When a BL or BLX instruction performs a subroutine call, LR is set to the subroutine return address. To perform a subroutine return, copy LR back to the program counter. This is typically done in one of two ways, after entering the subroutine with a BL or BLX instruction:

• Return with a BX LR instruction.

• On subroutine entry, store LR to the stack with an instruction of the form: PUSH {,LR} and use a matching instruction to return: POP {,PC} ...

http://stackoverflow.com/questions/8236959/what-are-sp-stack-and-lr-in-arm
#1559
Programación C/C++ / Re: c++ matrices[3][4]
25 Marzo 2014, 20:38 PM
En una oracion se resolvio el problema, no entiendo para que pusieron despues tanto codigo, traten de que escriba el codigo el que tiene el problema.
#1560
Cita de: Vaagish en 25 Marzo 2014, 18:31 PM
Mejor,, intento con eso,, había probado con bootear con "boot.bin" pero no me dejo, debe ser por el nombre..

Tiene sentido, si el archivo pesa lo que tiene que pesar, y tiene las instrucciones que tiene que tener,, tiene que andar..

Gracias! Ya puedo seguir otro rato mas jeje Saludos!

El nombre del archivo no es problema, el tamaño si, sino no es una imagen de un diskette valida  ;D