Skip to content

Commit 45ace33

Browse files
committed
Added token sample + Debugger.on_setup sample
1 parent 79ff18e commit 45ace33

2 files changed

Lines changed: 62 additions & 0 deletions

File tree

samples/debug/debugger_on_setup.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import windows.debug
2+
3+
class MySetupDebugger(windows.debug.Debugger):
4+
def on_setup(self):
5+
super(MySetupDebugger, self).on_setup()
6+
print("Setup called: {0}".format(self.current_process))
7+
8+
def on_exception(self, exc):
9+
print("Exception: {0}".format(exc.ExceptionRecord.ExceptionCode))
10+
11+
def on_exit_process(self, evt):
12+
print("Process exit: {0}".format(self.current_process))
13+
14+
class SimpleDebugger(windows.debug.Debugger):
15+
def on_exception(self, exc):
16+
print("Exception: {0}".format(exc.ExceptionRecord.ExceptionCode))
17+
18+
def on_exit_process(self, evt):
19+
print("Process exit: {0}".format(self.current_process))
20+
21+
22+
23+
print("== With on_setup ==")
24+
dbg = MySetupDebugger.debug(r"c:\windows\system32\whoami.exe")
25+
dbg.loop()
26+
27+
print("\n== Without on_setup ==")
28+
dbg = SimpleDebugger.debug(r"c:\windows\system32\whoami.exe")
29+
dbg.loop()

samples/token/token_demo.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import windows
2+
import windows.security
3+
import windows.generated_def as gdef
4+
5+
tok = windows.current_process.token
6+
print("Our process token is {0}".format(tok))
7+
print("Retrieving some infos")
8+
print("Username: <{0}>".format(tok.username))
9+
print("User: {0!r}".format(tok.user))
10+
print(" - lookup : {0}".format(windows.security.lookup_sid(tok.user)))
11+
print("Primary group: {0!r}".format(tok.primary_group))
12+
print(" - lookup : {0}".format(windows.security.lookup_sid(tok.primary_group)))
13+
14+
print("")
15+
groups = tok.groups
16+
print("Token Groups is {0}".format(groups))
17+
print("First group SID is {0!r}".format(groups.sids[0]))
18+
print("Some sid and attributes:")
19+
for i, group in zip(range(3), groups.sids_and_attributes):
20+
print(" - {0}: {1}".format(group.Sid, group.Attributes))
21+
22+
# Let's play with duplicate !
23+
print("")
24+
imp_tok = tok.duplicate(type=gdef.TokenImpersonation, impersonation_level=gdef.SecurityImpersonation)
25+
print("Duplicate token is {0}".format(imp_tok))
26+
print("Enabling <SeShutDownPrivilege>")
27+
imp_tok.enable_privilege("SeShutDownPrivilege")
28+
29+
cur_thread = windows.current_thread
30+
print("Current thread token is <{0}>".format(cur_thread.token))
31+
print("Setting impersonation token !")
32+
cur_thread.token = imp_tok
33+
print("Current thread token is {0}".format(cur_thread.token))

0 commit comments

Comments
 (0)