Bueno como algunos sabrán (Ps1c0s1s y alguno más..) estoy empezando en plan n00b con ASM.. en concretó empecé con FASM a hacer programitas sencillitos y bueno ahora estoy haciendo uno que necesita guardar en una string su propio nombre, pero sin el path ni extensión, es decir, como si le hicieramos un ExtractFileName y le quitaramos la extensión con ExtractFileExt en delphi por ejemplo.

He investigado y os dejo algunos codes que he visto no se cómo implementarlo para que me devuelva correctamente la string que quiero
(por ejemplo si el archivo está en C:\lalala.exe pues que me devuelva "lalala" solamente)
El getNameOfSelf de Antrax que no logro leer entero el eax:

Código: Seleccionar todo

GetNameOfSelf:
mov eax, [fs:0x30]
mov eax, [eax+0x0C]
mov eax, [eax+0x14]
mov ecx, [eax+0x24] ;Length
mov eax, [eax+0x28] ;Buffer(Unicode btw)
ret

Este code que me rompe la ejecución:

Código: Seleccionar todo

proc FileNameFromFile,cFile
    mov     ebx,[cFile]
    mov     eax,-1
    incrementLengthLoop:
        inc     eax
        cmp     byte [ebx+eax],0
        jne     incrementLengthLoop
    xor     ebx,ebx
    add     eax,[cFile]
    inc     eax
    lea     esi,[eax]
    searchFileNameLoop:
        dec     esi
        cmp     byte [esi],0x5C ; 0x5c = '\'
        jne     searchFileNameLoop
    inc     esi
    mov     eax,esi
    xor     esi,esi
    ret
endp
o alguna función propia para quitar lo que sobra de la ruta y al extensión a partir de la string que devuelve GetModuleFileName (no se ni por donde empezar )

Código: Seleccionar todo

                push    MAX_PATH
                push    String
                push    NULL
                call    GetModuleFileName
espero que puedan ayudarme con esto que apenas estoy empezando con ASM..
si todo va bien postearé pronto la nueva tool en ASM jeje

Saludos!
Creo que postearas un Offset anotator =) mmm tengo poca experiencia con ASM así que dejo que alguien con mas conocimientos te ayude
Suerte en ASM de seguro te ira de lujo!
En tu ventana
Y en tu ventana, gritas al cielo pero lo dices callada..
Con el amigo ! por el msn :P ! vamos a ver que se hace jaja!
<Josh> y bueno hermano,tu hermana q me dijo q estaba cansada de tenerle el orto como la bandera de japon y bueno la pobre me quizo hacer un masaje prostatico nada mas pero era tanto su recelo y venganza acumulada q se esmero un poco mas de lo normal,pero bue,estuivo bien amorizado por la de dias horas años y lagrimas q echo la pobre de tanto culearla
Acordate de al final hacer un
invoke ExitProcess,0
o Crasheará la aplicacion,poco mas te puedo ayudar...Deje el aprendizaje de FASM por la mitad...

Salu2....
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
gracias a todos por vuestra ayuda :)
YA LO CONSEGUÍ Ps1c0! eres un genio man :P
a los 2 minutos de irte del msn conseguí lo del puntero.. fallaba por escribir después el salto de linea pero ya está todo perfecto

voy a postearlo :P

Saludos!!!
Cerrado

Volver a “Asm”