Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1310 connectés 

  FORUM HardWare.fr
  Programmation

  [Windows] Info sur thread ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Windows] Info sur thread ?

n°36560
eraser
Posté le 01-06-2001 à 16:26:12  profilanswer
 

Hello
 
quelqu'un sait il si une thread peut voir le TIB (Thread Information Block) des autres threads du même process ? si oui comment accéder à cette info ?
 
@+

mood
Publicité
Posté le 01-06-2001 à 16:26:12  profilanswer
 

n°36674
gnoof
Posté le 02-06-2001 à 07:44:33  profilanswer
 

Il y a longtemps que je n'ai pas fait ce genre de manip mais je vais essayé de t'aider.
Le plus simple est que tu trouve le livre de Matt Pietrek "programmation systeme sous w95" (pas certain du titre).
Sous 95 et 98 tu as
thread database=(thread id)XOR(obsfucator)
process database=(process id)XOR(obsfucator)
le TIB que tu cherche commence à l'offset 10h (à vérifier) dans la thread database.
Voilà le code qu'utilise Matt Pietrek  dans son livre
/////////////////////
    tid = GetCurrentThreadId();
     
    __asm {
            mov     ax, fs
            mov     es, ax
            mov     eax, 18h
            mov     eax, es:[eax]
            sub     eax, 10h
            xor     eax,[tid]
            mov     [Unobsfucator], eax
    }  
/////////////////
PPROCESS_DATABASE PIDToPDB( DWORD pid )
{
    return (PPROCESS_DATABASE)(pid ^ Unobsfucator);
}
 
PTHREAD_DATABASE TIDToTDB( DWORD tid )
{
    return (PTHREAD_DATABASE)(tid ^ Unobsfucator);
}
 
voilà bonne bidouille

n°36687
eraser
Posté le 02-06-2001 à 13:02:01  profilanswer
 

merci de ta réponse.
J'ai également trouvé des articles parlant d'une solution similaire (en partant du process id)
 
DWORD GetObsfucator()
{
  DWORD _dw = 0, _dwCurProcId = GetCurrentProcessId();
__asm {
 mov eax,dword ptr fs:[18h]  
 mov eax,dword ptr [eax+30h]  
 mov ebx,eax
 xor ebx,dword ptr [_dwCurProcId]
 mov dword ptr [_dw],ebx  };
 
  return _dw;
}
malheureusement, je suis sous NT.
Et le dword en 30h (ptr process database)n'est pas affecté pour les TIB sous Nt.
 
Mais peut etre ta solution fonctionnera :) , bien que je trouve le sub eax,10h assez strange.
 
en tout cas merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Windows] Info sur thread ?

 

Sujets relatifs
[.HLP] Fichier d'aide Windows .hlp[Corba] besoin d'info
[HELP] pb de controle de la rapidité d'un(e) thread.windows 2000 je suis dans la merde
[JAVA] utiliser des dll windowsProg sur Windows CE/PocketPC...vous avez des bonnes adresse ?
prog de windows[VB.Net] Récupérer la version de windows?
[JAVA] besoin d'un expert en Thread !!!quelqu'un fait de la prog WINDOWS en C++
Plus de sujets relatifs à : [Windows] Info sur thread ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR