Project:
Yet Another Process Monitor
Code Location:
https://yaprocmon.svn.sourceforge.net/svnroot/yaprocmon
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Supporters TODO LIST - choix des types de service � afficher (+ icone != par type) - sorting XP des colonnes - premi�re colonne � d�placer possible oopas ? - autoruns TODO LIST Refactoring bugs - ============== - search (main) - jobs -> pb de performances - performances g�n�rales foireuses (et qui augmentent avec le temps) + memory leak quelque part (tester ind�pendamment chaque provider avec timer = 1ms pour voir d'o� �� vient) - cpuUsage des t�ches foireux (pour les processus cr��s apr�s le lancement de YAPM) - ajout t�ches foireux (affiche 555645-45454 le premier coup) -> checker quand �� arrive - collection modifi�e (cf. services via socket : liste + 1/2 svchost avec leur serviceList) -> valable pour toutes les listes du m�me type (checker tasks, windows...) - gestion des erreurs 'GotAnError' � v�rifier en mode socket/wmi (lors d'une d�connexion, par sur que �� fonctionne bien) - log (lvLog) � tester - pas possible d'afficher la liste des services pour un process si la liste g�n�rale est pas affich�e (via socket) - ramage WMI pour les switchs thread/module/general dans la form details - check signatures � refaire - xp sp3 : enum des env variables foire (regression : checker les modifications apport�es � envVariableEnum) --> IDENTIFIE (commentaire sur l'affectation dico process) - bug col modif (cf. affectation dico process) - snapshot par server (r�cup�rer l'objet snap entier) - get rid of registry (services) - vidage des listes (par exemple list des cEnvVariables) quand le process est kick� (car le prochain qui aura le m�me ID doit repartir de 0) et non quand frmProcessInfo se ferme. Idem pour jobLimits avec la fermeture de jobDetails - icone des service doit d�pendre du type - rapport g�n�ral - serviceDep et processesInJob pour le snapshot - setLimits via socket marche pas - x64 via server : peut pas �num�rer handles, modules et memory, username/path des processus - checker pb encapsulation 64b pour les SetJobLimits (memory limits) - job enumeration can work even if not admin (xp) - cannot enumerate strings in a file on a network dir (works in File but not in Processes->Strings) - crash first time I displayed help (IE component failure) - snapshot -> serviceDep et processesInJob + d�sactiver times + gestion historiques + recherche (pb de dico) - limiter taille MAX � pouvoir stocker pour systemInfo (comme pour les processus) - search et log -> enumeration des modules prend pas en compte les wow64 BUGS CRITIQUES - memory leak (+5Mo en ouvrant/fermant un fen�tre process/serviceDetails) - wow64 information en remote ?? - add to existing job foireux (extraire le nom du job de la chaine entiere via '\') - job par remote (et en wmi, d�sactiver �galement Restart with priv) - searchInfos contains cService/cModule (NOT Serializable -> can not search via server) - others highlightings (isTask, wow64...) - refermer les handles quand les processes meurent ! - Save main report � faire BUGS NON CRITIQUES - bug de r�cup�ration des processnames pour les premi�re Networkconnection (exemple de Opera apparaissant en tant que (N/A) (PID) et en tant que opera.exe (PID)) - FAQ : dire que le port pour le server est en fait le port + le port+3 - diviser les onglets de frmProcessInfos en usercontrol et les ajouter manuellement (en fonction de la connection et du type de process 4,0 ou >4) - close local process handle -> utiliser DuplicateHandle plut�t que remote thread - probl�me icones menu principal cach�es (Vista seulement) - columns lvHeap - outils network connection (trace, whois...) - elevation pour create service - d�connexion remote quand recherche non termin�e -> lvSearch disabled - timer dans jobInfos doit avoir le m�me temps que dans frmMain - ajouter nouvelles infos pour les handles (cf struct r�cup�r�e) - is remote debugger present marche pas (cf _WIN32_WINNT) - l'organisation des colonnes des threads n'est pas recharg�e (ou bien sauv�e ?) dans la form d�tail. Voir si c'est pareil pour les autres lv de la form - highlightings en remote - OK dans chooseColumns -> devrait sauvegarder les pr�f�rences de suite - recup username foireux quelques fois - pending task pour remote (le _deg n'est pas appel� en remote) - goto item dans le log bon, mais impossible si liste pas encore actualis�e (donc soit griser go to item, soit cr�er un thread qui remplit la liste et s�lectionne l'item (comme pour 'select window in windows tab')) - r�solutions d'adresses -> stocker correspondance IP:port <-> nom resolu dans un dico ? - ajout des 6 nouvelles infos process dans formDetail (sauf certaines qui auront un truc sp�cifique comme token, job) - ajouter description des colonnes (dans le chooseColumns) - option Kill with specific exitcode - d�connexion local puis connexion WMI foireuse puis reconnexion local -> ServiceStartType change et devient foireux (+impossible de lister les processus !!) - creatime time foireux pour les threads - inspect structures (PEB...) + possibilit� afficher valeurs structs depuis hex editor - optmisation NetWorklist -> bytes swap uniquement pour les news items (inutile de faire �� a chaque fois dans l'enum) - monitoring de pleins d'items -> thread sp�cifique n�cessaire pour �viter les bloquages - systemInfo pour les pc remote - lvFileStrings doit �tre Virtual - dependencies pour les services KO (on a le path avec \SystemRoot\ dans le .Imagepath (r�cup�rer plut�t .Getinformation(path) + enlever ligne de commande apr�s fichier) - si network connexions obtenues AVANT process, alors le processname n'est pas trouv� (refaire un check apr�s) - r�soudre pb des nouvelles infos process pour le r�seau (idem que Affinity) - priorit� des highlightings � prendre en compte - ajouter bouton Default dans ChooseColumns - ajouter infos token (elevation, domain, user name, SID...) - ajouter "d�marrer en tant que" (runas, cf lien opera) - path des process : \Device\VBoxMiniRdr\VBOXSVR\Release\YAPM.exe � convertir en path avec lecteur - fin d'un service dans frmDetail -> afficher 'termin� le xxx' en titre quand le service n'existe plus - tooltip partout (manque frmPreferences ? et manque frmLogOptions + forms qui viennent des autres projets) - certaines icones moches (yes/no dans lvPrivileges, refresh, find window, ) - get online infos pour les services (changer de provider !!) - graph monitoring -> refresh l'affichage de la valeur survol�e �galement quand la souris se d�place + refaire graph comme pour GraphChart - v�rifier pourquoi cpu usage de Idle d�passe les 100% ; le cas �ch�ant limiter la valeur � 100% - find hidden processes utilisable pour les PCs distants ? + ajouter Terminate dans le menu popup + �ventuellement 'go to process' pour aller dans lvProcess - d�connexion WMI apr�s longue inactivit� -> calculer temps derni�re requete et lancer une requete pour �viter la d�connexion si t>MAX ? - dependencies -> PE.filename doit changer SystemRoot en X:\Wind.... - refresh double des services en WMI ?? - affinity process/thread (socket) - TODO, TOCHANGE, TODO_, TOCHECK, ISNEEDED, TOREMOVE, PERFISSUE - replace taskmgr sous 7/Vista � checker et corriger - pending task : caption -> object.tostring (surcharger chaque cXXXX) - setLIMITEDinfo dans les access comme pour QueryLIMITEDinfo (thread & process) - transformer .Created par try/catch ? + manque des Invoke pour les connected dans les cXXXConnection - getmappedimage... pour socket - messages Vista like partout - performances (_currentServices et _currentProcesses remplis 2 fois au d�marrage -> customLV qui cr�� des cObject, et asyncEnum aussi) - upload virus total - modules Wow64 en WMI ? 2) Plus tard - save error to log -> possibilit� d'uploader le log quand on balance une erreur vers sourceforge - impl�menter option "temps process rouge/vert" - SBA a r�impl�menter - SBA -> sendmessage configurable - cycles pour vista, I/O priority, WS shared - "monitor" sur les processus (s�lection du PID, s�lection de la cat�gorie Process/Processus et s�lection des bonnes instances) - infos syst�me dans le general report - "other actions" pour les processus (limitation CPU usage...) 4) Fonctions � ajouter pleinement - autres token - monitoring de plusieurs instances en m�me temps (multiselection) - vue treeview Temp Change log : /!\ METTRE A JOUR LE FICHIER D'AIDE LORS DE LA RELEASE * NEW / Improvements * Bug fixed
