Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Zequez en 19 Febrero 2010, 17:24 pm



Título: ¿Que son DWORD FS y <TSLindex>?
Publicado por: Zequez en 19 Febrero 2010, 17:24 pm
Bueno, estaba siguiendo un valor de un juego para encontrar un puntero estático, y llegué hasta un lugar en el que todo se resume en lo que esté en DWORD PTR FS:[2C], que según la aclaración del Olly es una dirección, y se le suma 2C... Pero, esa dirección de donde sale? :S

Y lo de TSLindex, me lo crucé mientras hacia lo demás, no es de suma importancia pero no encuentro que es exactamente xD.

Gracias ^^

EDITO: Ya descubrí que es el FS, es un registro de segmento, los segmentos cambian cada vez que se inicia el programa? :S


Título: Re: ¿Que son DWORD FS y <TSLindex>?
Publicado por: [Zero] en 19 Febrero 2010, 18:44 pm
Bueno, el registro fs en windows apunta a la estructura Thread Information Block (TIB), y en la posición 2C de esa estructura, lo que sería fs:[2C] apunta al TLS Array. No se si sabes lo que son los TLS Callbacks, te dejo un poco de documentación:

Código:
http://isc.sans.org/diary.html?storyid=6655
http://www.cyberarmy.net/library/article/1653

Si vas a debugear un TLS Callback ten cuidado, pues creo que hasta la v2, el olly no los pausa, así que se ejecutarían mientras el debuger carga el exe (es bastante usado el malware  :xD).

Saludos  :P

PD: Supongo que con TSLindex te referías a TLS index  :P


Título: Re: ¿Que son DWORD FS y <TSLindex>?
Publicado por: MCKSys Argentina en 19 Febrero 2010, 20:56 pm
Si usas OllyDbg, con el plugin OllyAdvanced, puedes configurar para que pare en el TLS Callbak...


Título: Re: ¿Que son DWORD FS y <TSLindex>?
Publicado por: Zequez en 22 Febrero 2010, 18:07 pm
Sinceramente no los entendí muy bien pero voy a leer sobre el tema xD. Al menos descubrí que no cambian cuando reinicias el programa, lo cual es bueno, porque me dan una dirección estática para buscar la info que necesito xD.

También voy a bajar el OllyAdanced :P

Gracias ^^