begin process at 2012 05 27 15:51:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > [DRIVER] - CACHER UN PROCESSUS

[DRIVER] - CACHER UN PROCESSUS


 Information sur la source

Note :
8,5 / 10 - par 6 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Niveau :Débutant Date de création :22/05/2005 Date de mise à jour :25/10/2005 15:08:02 Vu / téléchargé :19 352 / 234 888

Auteur : Arnotic

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (44)
Ajouter un commentaire et/ou une note


 Description

Se trouve aussi ici: http://www.dev.winsysdev.com/

Driver qui hook ZwQuerySystemInformation pour cacher l'execution d'une processus (pour le test "explorer.exe"). Le processus devient alors invisible dans le TaskManager par exemple.

Pour compiler le driver la ligne de commande du DDK est "build -cZ"



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   HideProcess
    •   ManageArnService
    •   sys
      •   objfre_wxp_x86
        •   i386
          • ntqsi.sysTélécharger ce fichier [Réservé aux membres club]2 304 octets
        • _objects.macTélécharger ce fichier [Réservé aux membres club]294 octets
      • makefileTélécharger ce fichier [Réservé aux membres club]267 octets
      • ntapi.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 133 octets
      • ntqsi.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 137 octets
      • sourcesTélécharger ce fichier [Réservé aux membres club]72 octets
    • ManageArnService.exeTélécharger ce fichier [Réservé aux membres club]24 064 octets
    • ntqsi.sysTélécharger ce fichier [Réservé aux membres club]2 304 octets

Télécharger le zip


 Historique

22 mai 2005 16:11:49 :
- Suppression d'headers unutiles.
25 octobre 2005 15:08:03 :
Se trouve aussi ici: http://www.dev.winsysdev.com/

 Sources du même auteur

Source avec Zip Source avec une capture ARCOLOR (WIN64)
Source avec Zip REMPLACE CRT (WIN64)
Source avec Zip Source avec une capture CREATION DE FICHIER PDF
Source avec Zip SURVEILLER LA MÉMOIRE D'UN PROCESSUS
Source avec Zip TOOL - MOVE CHAINE

 Sources de la même categorie

Source avec Zip Source avec une capture INFORMATION PROCESSEUR (CPUID) par Devils_Tiger
Source avec Zip Source avec une capture LECTURE TEMPÉRATURE PROCESSEUR par Devils_Tiger
Source avec Zip Source avec une capture LECTURE FRÉQUENCE PROCESSEUR par Devils_Tiger
Source avec Zip Source avec une capture UNE LISTE HÉTÉROGÈNE DOUBLEMENT CHAINÉE par pgl10
Source avec Zip Source avec une capture POUR AFFICHER LES CARACTÈRES ACCENTUÉS SOUS WINDOWS EN MODE ... par pgl10

Commentaires et avis

Commentaire de mayti le 22/05/2005 17:10:28

Hello, Ca masque explorer.exe dans l'onglet processus ?
Et comment tester ? j'obtiens "Impossible de créer le service.", où faut-il mettre ntqsi.sys ?

Commentaire de Arnotic le 22/05/2005 20:13:41 administrateur CS

Es-tu administrateur sur la machine ?

Commentaire de mayti le 22/05/2005 20:57:36

Oui

Commentaire de Arnotic le 22/05/2005 22:59:26 administrateur CS

L'executable et le fichier .sys sont t'ils bien dans le même répertoire ?
Sinon utilise un autre loader.

Commentaire de mayti le 23/05/2005 16:33:41

Oui ils sont bien dans le même dossier, je suis administrateur de l'ordinateur mais je ne suis pas connecté sur le compte "Administrateur", pourtant on peut créer des services sans y être connecté je pense. Qu'est ce que tu entend par autre loader ?

Commentaire de Arnotic le 23/05/2005 16:45:13 administrateur CS

Essaye de te connecter en Administrateur ca devrait mieux passer. De plus si l'utilisateur que tu utilises tu la créé pendant l'install de Windows tu n'as pas tous les droits de l'administrateur.

Commentaire de AlexMAN le 23/05/2005 19:16:16

Ton service a fouttu une merde pas possible sur mon ordi, impossible de remettre la main sur explorer.exe..Une MAJ serait de rigueur ;) (WinXP + SP2)

Commentaire de Arnotic le 23/05/2005 19:48:09 administrateur CS

Non, sur plusieurs poste marche très bien. Suffit de faire déssintaller. Mais quand tu as installé le service il ne faut pas quitter l'application. C'est la seule règle.

Commentaire de AlexMAN le 23/05/2005 20:58:42

Ce qu'il s'est passé, c'est qu'apres l'installation du service, la machine a rebooté, et pis au redemarrage, plus d'explorer. Je sais pas comment je me suis démerdé, mais c'est revenu a la normale il y a quelques minutes (d'ou l'agressivité dans mon précédent message, pardon :$).

Commentaire de Alain Proviste le 24/05/2005 07:55:54 administrateur CS

ahaha alexman :D

Commentaire de Msgbox le 04/06/2005 18:48:06

Pourquoi est ce qu'il faut faire un driver ?
Hooker l'api ZwQuerySystemInformation sur le task manager, c'est pas possible ?

++

Commentaire de sangoan le 28/06/2005 22:01:22

comment modifier le fichier sys et le recompiler
qqun peut m aider ??

Commentaire de Arnotic le 29/06/2005 09:30:58 administrateur CS

Il faut le DDK (Driver Development Kit) de Microsoft.

Commentaire de Arnotic le 29/06/2005 10:21:29 administrateur CS

Ce que je viens de faire là n'est pas un hook sur le task manager. Pourquoi ? Tout simplement pour rendre vraiment invisible le processus. De cette manière n'importe quel programme demandant la liste des process en cours ne peut voir mon process.

Commentaire de pvfro le 11/08/2005 11:42:47

Hello, J'ai essaye d'utiliser ton code pour rendre invisibles plusieurs precessus. Alors, j'ai detecte un "bug" dans ntqsi.c. Le code advance "prev = curr;" sans tenir compte du resultat de la comparison. Alors, il e posssible de laisser un processus visible si le precedant a ete cache.

La modification necessaire pour corriger cette probleme e minore. Il faut simplement ajouter une variable pour verifier si un processus a ete cache.

modif=0;
if(memcmp(process_name.Buffer, "main.exe", 8) == 0 ||
   memcmp(process_name.Buffer, "client.exe", 10) == 0  
) {
modif=1;
.....
}

if(!modif)prev = curr;

Commentaire de albert0 le 16/09/2005 10:45:52

Exelent arnotic,

utilise pour rendre Undetecable un cheat pour CS:S avec son VAC2

:)

Commentaire de BruNews le 16/09/2005 11:20:25 administrateur CS

"CS:S avec son VAC2" qu'est-ce que tout cela ???

Commentaire de albert0 le 16/09/2005 12:34:53

CS:S -> counter-strike SOurce, un jeux Online

VAC2 (Valve Anti-CHeat 2) -> l'anti-cheat, qui scan les processus actif en tre autre

et avec ce code, en cachant le processus du cheat, on a un des moyen s de pas se faire detecter :)

Commentaire de Alain Proviste le 17/09/2005 13:38:32 administrateur CS

le vac2 scan directement les hooks dans la memoire, il ne regarde pas la liste des progs betement.

le cheat est un veritable  fléau contre le jeux online et valve a de plus en plus de mal à lutter...

Commentaire de albert0 le 17/09/2005 15:50:05

oué, mais on sais jamais :)

un précaution de plus

mais, le plus interssant c'est de coder quelque chose pour contrer VAC2, pas la triche en lui meme, si tu voit ce que je veut dire

Commentaire de zeeeleyou le 29/12/2005 12:23:14

encore un *********** de cheater en plus sur le net ?!?!

Commentaire de floche le 27/02/2006 23:21:25

rien a dire t es un bon
excelent

Commentaire de krust le 17/03/2006 23:35:59

Mhh tu devrais mettre un mot d'explication sur le KiSystemService (KeServiceDescriptorTable) et la différence entre le userland et le kernel :) et tant qu'on y est un mot sur les apis natives :p ?

J'explique en deux mots (histoire que les personnes qui n'y connaissent rien puissent suivre) :
Il existe une tone d'api win32 qui sont souvent assez similaire l'une de l'autre. Mais il n'existe fondamentalement qu'une quantitée beaucoup plus restreinte d'api appelées NATIVES. (leur nom commence par le préfixe NT, mais leur nom de fonction commencent par Zw).
Ces apis sont appelées par toutes les apis "classiques" contenues dans Kernel32, NTDLL, etc,..
Les apis natives sont donc les fonctions primaires du système d'exploitation windows.

Ce qu'il faut savoir aussi c'est que ces apis résident dans la partie Kernel du la mémoire (Address > 0x800000). Je ne vais pas parler longtemps de la différence entre les deux mais on peut se contenter de savoir qu'elle est interdite d'accès aux applications courante (UserLand) et qu'elle contient notament l'os et les drivers.

C'est évidement pour cette raison qu'il est impératif de créer un driver pour pouvoir modifier cette partie de la mémoire (pour effectuer notre hook).
Les address vers les apis native sont stockées dans ce qu'on appel la System Service Table.
Ce que fait ce driver, c'est modifier cette table pour faire pointer la fonction désirée vers notre fonction de hook (NewNtQuerySystemInformation).

Puisque toutes les apis finissent par appeler les apis Natives, si on hook celle-ci toutes les apis qui en découlent seront "modifiées".


Ceci dit, ce n'est pas indétectable, il suffit de dumper la table et de vérifier que les address soit bien dans une zone de mémoire crédible (même principe que pour les hooks IAT en fait,...).

Enfin voilà, c'est encore de la matière nouvelle pour moi donc c'est possible que j'ai mal compris quelques petites choses mais je pense que l'essentiel est là :)

Note pour ceux qui se demandent ce que veulent dire  _asm cli et  _asm sti, ce sont deux instructions assembleur qui désactive les intéruptions puis les réactives afin d'éviter qu'il y ait une utilisation de la table pendant qu'elle est modifiée (ce qui ferait sans doute planter windows).

Yop,

Krust.

Commentaire de patoch14 le 19/04/2006 21:47:30

voila j'ai telecharger les fichier zip mais coment faire pour cacher les processus voulu et pas seulement explorer. D'avance merci pour la reponse.

Commentaire de krust le 19/04/2006 21:51:07

Il sera caché de toutes les applications pas seulement de Explorer.
Note: quand je dis toutes, c'est à quelques exeptions près, en effet certain programme permettent de rechercher les processus cachés par cette technique.

Commentaire de patoch14 le 19/04/2006 21:58:07

mais en fait quand tu l'installe ca te cache seulement explorer. En fait si tu prefere j'ai un jeu (kalonline si tu connais) avec lequel je ne peux plus ouvrir deux fenetre a cause d'un anti hack. Pour passer ca il faut que je cache le processus d'un des deux jeu. j'aimerais savoir commant avec le programme. merci

Commentaire de BruNews le 19/04/2006 22:05:34 administrateur CS

http://www.cppfrance.com/code.aspx?ID=36941

Commentaire de krust le 19/04/2006 22:05:56

Ca dépend comment les jeux détecte si il est déjà lancé ou pas. Généralement ils utilisent deux méthodes :
1) Check des fenêtre (FindWindow(0,"Kalonline 1.20c");
2) Enumération des process's, if pname == "Kalonline.exe" ...

Parer ça :
Hide du process avec le driver
Parfois un simplemnt rename de la fenêtre solve le problème ( SetWindowText(Hwnd,"WhatEver"); )

Voilà, aussi non c'est un jeu gratuit, au pire j'essaie ça.

Commentaire de patoch14 le 20/04/2006 16:29:55

brunews j'ai ete voir ton lien mais quand je telecharge le zip j'ai pas le fichier exe a l'interieur

Commentaire de econs le 20/04/2006 17:14:28 administrateur CS

patoch14> Les EXE sont retirés des Zips avant le téléchargement.
C'est à toi de le compiler pour avoir l'EXE, après avoir vérifié qu'il n'y avait pas de code malveillant.

Commentaire de fraboulet le 27/04/2006 09:21:48

Bravo!

Commentaire de darkdidi le 01/10/2006 19:27:28

bonjour,
savez-vous ou je peux télécharger cette DDK ? Sur la MSDN ?

Commentaire de krust le 01/10/2006 20:22:11

Il est denouveau disponible sur internet, suffit de googler.

Commentaire de darkdidi le 01/10/2006 20:56:12

j'pige pas. Ils disent qu'il faut le mettre sur un CD ?!

Commentaire de darkdidi le 01/10/2006 21:30:42

c'est normal que le truc soit énorme ? 230 MO rien que pour l'archive. C'est bien ici ? http://www.microsoft.com/whdc/devtools/ddk/default.mspx
j'voudrais pas faire n'importe quoi ^^

Commentaire de BruNews le 01/10/2006 21:44:41 administrateur CS

C'est bien cela.

Commentaire de darkdidi le 01/10/2006 22:09:01

ca marche paaaas !
J'ai essayé avec Windows XP Free Build Environment, Windows Server 2003, ca marche jamais.
alors je fais :
'cd C:\Documents and Settings\Thomas\Mes documents\C C++\hide_proc\03\HideProcess\test'
C'est le répertoire ou sont les sources et tout.
Et pis :
'build cZg' ou
'build -cZ'.

Ca marche pas.
voici le log généré :

BUILD: Examining c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test directory for files to compile.
Compiling (NoSync) c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test directory ********************
1>'nmake.exe /nologo BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 PASS1_NOLIB=1 386=1'
1>BUILDMSG: Processing c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test
1>NMAKE : warning U4006: special macro undefined : '$<'
1> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
1>'jvc' n'est pas reconnu en tant que commande interne
1>ou externe, un programme ex‚cutable ou un fichier de commandes.
1>NMAKE : warning U4006: special macro undefined : '$<'
1> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
1>'jvc' n'est pas reconnu en tant que commande interne
1>ou externe, un programme ex‚cutable ou un fichier de commandes.
1>NMAKE : warning U4006: special macro undefined : '$<'
1> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
1>'jvc' n'est pas reconnu en tant que commande interne
1>ou externe, un programme ex‚cutable ou un fichier de commandes.
1>NMAKE : warning U4006: special macro undefined : '$<'
1> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
1>'jvc' n'est pas reconnu en tant que commande interne
1>ou externe, un programme ex‚cutable ou un fichier de commandes.
1>NMAKE : warning U4006: special macro undefined : '$<'
1> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
1>'jvc' n'est pas reconnu en tant que commande interne
1>ou externe, un programme ex‚cutable ou un fichier de commandes.
TESTING: Number of dirs done build libs 0 out of  1Compiling  c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test directory ********************
101>'nmake.exe /nologo BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 386=1'
101>BUILDMSG: Processing c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test
101>NMAKE : warning U4006: special macro undefined : '$<'
101> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
101>'jvc' n'est pas reconnu en tant que commande interne
101>ou externe, un programme ex‚cutable ou un fichier de commandes.
101>NMAKE : warning U4006: special macro undefined : '$<'
101> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
101>'jvc' n'est pas reconnu en tant que commande interne
101>ou externe, un programme ex‚cutable ou un fichier de commandes.
101>NMAKE : warning U4006: special macro undefined : '$<'
101> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
101>'jvc' n'est pas reconnu en tant que commande interne
101>ou externe, un programme ex‚cutable ou un fichier de commandes.
101>NMAKE : warning U4006: special macro undefined : '$<'
101> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
101>'jvc' n'est pas reconnu en tant que commande interne
101>ou externe, un programme ex‚cutable ou un fichier de commandes.
101>NMAKE : warning U4006: special macro undefined : '$<'
101> jvc /nologo /cp C:\WINDDK\3790~1.183\public\sdk\classes\afc.zip;C:\WINDDK\3790~1.183\public\sdk\classes\classes.zip;c:\documentsandsettings\thomas\mesdocuments\cc++\hide_proc\03\hideprocess\test; /O /w4 /d objfre_wnet_x86\i386
101>'jvc' n'est pas reconnu en tant que commande interne
101>ou externe, un programme ex‚cutable ou un fichier de commandes.
Compile errors: not linking c:\documents and settings\thomas\mes documents\c c++\hide_proc\03\hideprocess\test directory ********************

Il me dit aussi que y'a 10 fichiers compilés et 10 erreurs.
Enfin je comprends rien, tout ce que je sais c'est que ca marche pas.
Quelqu'un peut m'aider s'il vous plait ? Merci beaucoup.

Commentaire de BruNews le 01/10/2006 22:28:55 administrateur CS

Recommence en bossant dans un dossier à 8 caractères maxi et sans espaces !!!
"doc ans stings" etc... ce sont les dossiers pour les niais, un developpeur n'a rien à faire en ces lieux.

Commentaire de krust le 01/10/2006 22:43:39

I do agree !

Commentaire de darkdidi le 02/10/2006 18:42:05

trop cool ca marche ! Effectivement compilé sur C:\ddk ca marche déjà mieux ^^
merci !
PS : marche nikel : 10/10

Commentaire de bLuBx le 15/10/2006 03:14:17

ué tres bon taff , manque plus que la meme chose pour hide un services ( net start | services.msc ) :p
et pourquoi pas un PORT ( histoire que le boss grille pas la Mule caché :p
mais la on tombe limite dans le malfaisant javoue ^^, mai sca peu etre interessant

idem 10\10

Commentaire de darkdidi le 04/01/2007 12:26:27

savez vous si les driver fonctionnant sur Windows XP seront toujours foncionnels sur Windows Vista ? Je crois que le noyau est diférent.

Commentaire de krust le 04/01/2007 13:44:21

Bonne question :)
Probablement que non car Microsoft contient des problèmes que cause l'accès aisé au kernel a implémenté toutes sortes de mesures sous vista.
Par exemple, seul les drivers numériquement signé pourront être chargé directement (si mes sources sont exactent). Pour les autres, il y a un message de la part de windows demandant si on autorise (ou pas) le chargement de tel ou tel driver.
Je n'en sais pas plus mais c'est clair qu'il ne sera plus possible de charger un driver sans que l'utilisateur l'accept. Cependant je ne doute pas qu'il apparaîtera des méthodes pour détourner ces protections.


voilà voilà.

Commentaire de BruNews le 04/01/2007 13:59:25 administrateur CS

Nenni, la signature est requise uniquement sur Vista64.
Je pense que ce driver dot tourner sur Vista, à tester.

Celui ci est testé fonctionnant et sans retouche sur Vista:
CACHER PROCESSUS AU CHOIX (DRIVER WIN32)
http://www.cppfrance.com/code.aspx?ID=36941

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales