![]() |
Anzeige:
|
|
|||||||
| Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Kleine Spielerei - will nur mal zeigen, was möglich ist...
Folgendes Programm ist komplett in Profan geschrieben (ist kein Virus, kein Treiber ist dafür nötig, kein Hooking, keine Callbacks, keine besonderen Rechte erforderlich - nur reines Profan und etwas API - habe eine eigene, unbekannte Technik verwendet). http://freenet-homepage.de/ahfundgru...vorgaukeln.zip Bitte: Programm mal starten (nicht Windows95/98/ME, nur NT basiert) und versuchen, aus dem gestarteten Programm den Programmpfad zu ermitteln Frage: Welche Programme ermitteln den Programmpfad (den Ordner, aus dem das Programm gestartet wurde) korrekt, welche Programme tun das nicht? Auch selbst was Schreiben ist natürlich erlaubt. Will hoffen, dass alles funktioniert. Nach dem Motto - API = Arme Programmierer irritiert.
__________________
______________ Mfg AHT Geändert von AHT (15.02.2009 um 18:51 Uhr) |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.725
|
Hm, irgendwie bin ich zu blöd, dem Taskmanager überhaupt begreiflich zu machen, die Prozesspfade anzuzeigen. Die zuständige Checkbox ist immer grau unterlegt.
Hab jetzt auf die Schnelle auch nichts eigenes da, was die vollen Prozessnamen ausliest. Vielleicht erstelle ich morgen was, wenn ich genug Zeit finde. Der Depency Walker zumindest lässt sich anscheinend nicht täuschen. Dort wird überall der richtige Pfad angezeigt. Andreas, textet dein Testprog eigentlich irgendwo im Fenster den falschen Pfad? Alle Texte dort zeigen den korrekten Pfad an unter XP. Soll ich einen Screenshot posten?
__________________
Gruß, Frank Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Zitat:
Gerne, vielleicht habe ich noch einen Fehler drin.
__________________
______________ Mfg AHT Geändert von AHT (16.02.2009 um 15:30 Uhr) |
|
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Helfe mal grad mit etwas Quelltext aus. Unter Vista muss der Code als Admin ausgeführt werden, damit der Token das SeDebugPrivilege besitzt.
Code:
'#############################################################################################
'###################### Quelltext erstellt von AHT #############################
'#############################################################################################
Def GetModuleFileNameEx(4) !"Psapi","GetModuleFileNameExA"
Def CreateToolhelp32Snapshot(2) !"Kernel32", "CreateToolhelp32Snapshot"
Def Process32First(2) !"Kernel32", "Process32First"
Def Process32Next(2) !"Kernel32", "Process32Next"
Def CloseHandle(1) !"Kernel32", "CloseHandle"
Def GetCurrentProcessID(0) !"Kernel32", "GetCurrentProcessId"
Def OpenProcess(3) !"Kernel32", "OpenProcess"
DEF LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA"
DEF AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges"
DEF OpenProcessToken(3) !"advapi32","OpenProcessToken"
DEF GetCurrentProcess(0) !"KERNEL32","GetCurrentProcess"
DEF CopyMemory(3) !"kernel32","RtlMoveMemory"
Declare Entry#, err&, handle&, cpid&, text$, text2$, PHandle&, Filename#
Declare TOKEN_PRIVILEGES#, LUID#, Fehler&
Struct PROCESSENTRY32=dwSize&, \
cntUsage&, \
th32ProcessID&, \
th32DefaultHeapID&, \
th32ModuleID&, \
Threads&, \
th32ParentProcessID&, \
pcPriClassBase&, \
dwFlags&, \
szExeFile$(260)
Dim Entry#,PROCESSENTRY32
Entry#.dwSize& = SizeOf(Entry#)
Proc Set_Privilege_Status
Parameters Privilege_name$,Aktive&
Declare NewState&,AH_Token_Handle&,LU_SYSTEM$
DIM TOKEN_PRIVILEGES#,16
DIM LUID#,8
Clear LUID#,LU_SYSTEM$
@LookupPrivilegeValue(@ADDR(LU_SYSTEM$),@ADDR(Privilege_name$),LUID#)
CLEAR AH_Token_Handle&
LET FEHLER&=@OpenProcessToken(@GetCurrentProcess(),$20,@ADDR(AH_Token_Handle&))
LONG TOKEN_PRIVILEGES#,0=1
LET NewState&=TOKEN_PRIVILEGES#
@CopyMemory(NewState&+4,LUID#,8)
LET NewState&=Aktive&
Clear Aktive&
IF @or(NewState&,$2)=NewState&
LET Aktive&=@or(AKTIVE&,$2)
Endif
IF @or(NewState&,$80000000)=NewState&
LET Aktive&=@or(AKTIVE&,$80000000)
Endif
LONG TOKEN_PRIVILEGES#,12=Aktive&
LET FEHLER&=@AdjustTokenPrivileges(AH_Token_Handle&,0,TOKEN_PRIVILEGES#,0,0,0)
If AH_TOKEN_Handle&<>0
@CLOSEHANDLE(AH_Token_Handle&)
endif
Dispose TOKEN_PRIVILEGES#
Dispose LUID#
endproc
Proc FillProcessList
DIM Filename#, 514
cpid& = GetCurrentProcessID()
handle& = CreateToolhelp32Snapshot(2,0)
If handle&
err& = Process32First(handle&, Entry#)
If err&
text$ = Str$(Entry#.th32ProcessID&)
text2$ = Entry#.szExeFile$
Clear Filename#, PHandle&
PHandle& = OpenProcess($400 | $10, 0, Entry#.th32ProcessID&)
IF PHandle& > 0
GetModuleFilenameEx(PHandle&, 0, Filename#, 513)
Closehandle(PHandle&)
endif
ADDSTRING "PID: " + text$ + " | Prozessname: " + text2$ + " | Prozesspfad: " + String$(Filename#,0)
Repeat
err& = Process32Next(handle&, Entry#)
If err&
text$ = Str$(Entry#.th32ProcessID&)
text2$ = Entry#.szExeFile$
Clear Filename#, PHandle&
PHandle& = OpenProcess($400 | $10, 0, Entry#.th32ProcessID&)
IF PHandle& > 0
GetModuleFilenameEx(PHandle&, 0, Filename#, 513)
Closehandle(PHandle&)
endif
ADDSTRING "PID: " + text$ + " | Prozessname: " + text2$ + " | Prozesspfad: " + String$(Filename#,0)
EndIf
Until err& = 0
CloseHandle(handle&)
EndIf
EndIf
Dispose Filename#
EndProc
ClearList
Set_Privilege_Status "SeDebugPrivilege",$2
FillProcessList
EditBox("Prozesse",1)
![]() Ich hoffe, es wird klar, worauf ich hinaus will.
__________________
______________ Mfg AHT Geändert von AHT (16.02.2009 um 16:55 Uhr) |
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.725
|
__________________
Gruß, Frank Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Das liegt nicht an der Home Version. Mal schauen, wo es hakt...
__________________
______________ Mfg AHT |
|
|
|
|
|
#7 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.688
|
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Genau so solls auch aussehen. Habe gerade ein Update hochgeladen und will hoffen, dass es jetzt auch bei Frank richtig funktioniert
__________________
______________ Mfg AHT |
|
|
|
|
|
#9 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.725
|
Zitat:
__________________
Gruß, Frank Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#10 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.688
|
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#11 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.725
|
__________________
Gruß, Frank Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
__________________
______________ Mfg AHT |
|
|
|
|
|
#13 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.725
|
Na freut mich ja.
__________________
Gruß, Frank Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#14 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 7.947
|
Noch mal neue Versin hochgeladen.
__________________
______________ Mfg AHT |
|
|
|
|
|
#15 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.688
|
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| DDR Ram Speicher ermitteln | Tight-Girl | Hardware - Problemlösungen | 2 | 19.06.2008 12:04 |
| Stromverbrauch ermitteln | Leo | Hardware - Problemlösungen | 5 | 29.09.2005 10:52 |
| Arbeitspeicher ermitteln | rawie87 | Allgemein | 4 | 11.09.2005 10:53 |
| Leistung des PC ermitteln? | AndreasM | Software - Allgemein | 2 | 31.05.2005 19:37 |
| IP Adresse ermitteln | Schublade02 | Software - Allgemein | 7 | 01.11.2004 14:28 |