Determiner si on est sur une machine 32 ou 64bits ApiLess

Ca faisait longtemps hein… Je suis tombé sur un vieux truc, mais je n’en avait pas conscience. Un process 32Bits peut facilement déterminer si il tourne sur une machine 32 Bits ou 64 Bits sous WoW64 en regardant la valeur du registre de code CS. Ainsi, pas besoin de faire le moindre API Call.

Si c’est 0x1B c’est un Os 32Bits, Si c’est 0x23 c’est un Os 64Bits sur WoW… Si c’est 0x33 ca sera un process 64 bits dans un os 64Bits… (et là y a du trick pour faire du tourner du code 64bits dans un process 32 on fera plus tard, c’est fun).

Donc le code est simple avec un petit décalage de bit on a 0 pour 32 bits ou 1 pour 64 Bits os.

Et c’est tout… un wrapper pour les plus feignants..

Et le Makefile qui va bien

A+

This entry was posted in Asm, Hacking, Windows and tagged . Bookmark the permalink.

2 Responses to Determiner si on est sur une machine 32 ou 64bits ApiLess

  1. nop -- says:

    Salut. Dans le même genre – apiless -.
    Je pense aussi qu’on peut regarder dans le TIB : FS:[0xC0].
    Pour déterminer si un process 32 bits tourne sous Wow64. ;-)

    https://en.wikipedia.org/wiki/Win32_Thread_Information_Block

  2. thanatos says:

    Yep ca peut le faire, J’ai pas regardé s’il est à 0 en 32bits.. Après je reste sur la mienne, ca n’exite pas les gens a parser le PEB/TIB :)

Leave a Reply

Your email address will not be published. Required fields are marked *

Please Do the Math