Título: [MASM] Busca offsets Publicado por: xassiz~ en 5 Febrero 2011, 22:36 pm Bueno, os dejo mi primera aplicación en ASM (MASM32).
Busca el offset de una función específica en una DLL. Solo hay que modificar "libreria" y "funcion" en .data (tengo que aprender a hacerlo pasando parámetros por línea de comandos). Código
Espero críticas, sugerencias o lo que sea :xD Título: Re: [MASM] Busca offsets Publicado por: YST en 5 Febrero 2011, 23:11 pm Una critica al ojó no mas es en vez de esto Código
pone esto Código
Título: Re: [MASM] Busca offsets Publicado por: xassiz~ en 6 Febrero 2011, 00:30 am Pensé que después de hacer cmp eax perdería su valor del invoke.
También me comentaron que en vez de: Código pusiera: Código ya que los registros son más rápidos que las variables, y según Intel or es más rápido que cmp. Saludos! Título: Re: [MASM] Busca offsets Publicado por: YST en 6 Febrero 2011, 05:41 am Pensé que después de hacer cmp eax perdería su valor del invoke. También me comentaron que en vez de: Código pusiera: Código ya que los registros son más rápidos que las variables, y según Intel or es más rápido que cmp. Saludos! Claro , pero or te modifica eax xD Título: Re: [MASM] Busca offsets Publicado por: Space.Medafighter.X en 11 Febrero 2011, 18:58 pm Claro , pero or te modifica eax xD No si el destino es igual a la fuente. El API GetProcAddress como bien sabemos, si la función falla, devuelve EAX = 0, entonces, en caso de ser 0, el valor no se vería afectado, pero si EAX tiene un valor X y se hace un OR EAX,EAX no estas modificando el valor de EAX. En otras palabras, se puede usar un OR para saber si el valor no es igual a 0 sin que afecte en absoluto. Por lo tanto, Código: Main PROC Es correcto, obviando que no lo sería si necesitaramos usar la dirección del API en un código más grande. Otra alternativa "no-destructiva" a OR es TEST, aunque en este caso no es necesaria, y una "destructiva", además de OR es AND para este caso. Pasando al tema del código, puedes remover ese stack frame que creas con el macro "PROC", que ni se para que lo usas xD. Título: Re: [MASM] Busca offsets Publicado por: xassiz~ en 12 Febrero 2011, 00:53 am Versión por argumentos, agradecimientos a Space.Medafighter.X :rolleyes:
Código
Citar C:\Users\Pablo\Desktop>bOffsets msvcrt.dll system 7545B16F C:\Users\Pablo\Desktop>bOffsets msvcrt.dll printf 7541C5B9 C:\Users\Pablo\Desktop> Saludos! |