aniqfakhrul / powerview.py

Just another Powerview alternative
MIT License
453 stars 50 forks source link

`poetry` adaptation and use of `prompt_toolkit` #85

Closed n3rada closed 1 month ago

n3rada commented 5 months ago

Transitioned the project to use poetry for dependency management and packaging, aligning with modern Python project standards.

Adding the prompt_toolkit command handler which is the go-to tool for fake console. It includes in-memory history and lot of other features.

aniqfakhrul commented 5 months ago

We will review this changes and get back to you. Also, great suggestion,didn't know prompt_toolkit is a thing before xD. Thanks!

cmprmsd commented 5 months ago

I think autocompletion is gone with this PR.

aniqfakhrul commented 5 months ago

Have you tried? Havent got a chance to test this yet.

cmprmsd commented 5 months ago

Yes I did. :+1: Can't say something about the other changes but this caught my eyes, because I just stumbled over your project and don't know all flags yet. Nice toolset! I was especially looking for group membership handling without having to use a Windows system. :rocket:

Edit. Some escaping errors:

/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/powerview.py:929: SyntaxWarning: invalid escape sequence '\M'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/powerview.py:1473: SyntaxWarning: invalid escape sequence '\['
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/powerview.py:929: SyntaxWarning: invalid escape sequence '\M'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/powerview.py:1473: SyntaxWarning: invalid escape sequence '\['
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:286: SyntaxWarning: invalid escape sequence '\V'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:295: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:296: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:297: SyntaxWarning: invalid escape sequence '\I'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:299: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:300: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:301: SyntaxWarning: invalid escape sequence '\W'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:302: SyntaxWarning: invalid escape sequence '\T'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:303: SyntaxWarning: invalid escape sequence '\D'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:304: SyntaxWarning: invalid escape sequence '\C'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:305: SyntaxWarning: invalid escape sequence '\E'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:306: SyntaxWarning: invalid escape sequence '\C'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:307: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:308: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:309: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:310: SyntaxWarning: invalid escape sequence '\H'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:311: SyntaxWarning: invalid escape sequence '\A'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:312: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:286: SyntaxWarning: invalid escape sequence '\V'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:295: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:296: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:297: SyntaxWarning: invalid escape sequence '\I'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:299: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:300: SyntaxWarning: invalid escape sequence '\P'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:301: SyntaxWarning: invalid escape sequence '\W'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:302: SyntaxWarning: invalid escape sequence '\T'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:303: SyntaxWarning: invalid escape sequence '\D'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:304: SyntaxWarning: invalid escape sequence '\C'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:305: SyntaxWarning: invalid escape sequence '\E'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:306: SyntaxWarning: invalid escape sequence '\C'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:307: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:308: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:309: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:310: SyntaxWarning: invalid escape sequence '\H'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:311: SyntaxWarning: invalid escape sequence '\A'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/constants.py:312: SyntaxWarning: invalid escape sequence '\R'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/completer.py:111: SyntaxWarning: invalid escape sequence '\s'
/usr/lib/python3.12/site-packages/powerview-2024.0.0-py3.12.egg/powerview/utils/completer.py:111: SyntaxWarning: invalid escape sequence '\s'
n3rada commented 5 months ago

You may need to adjust the code for your autocomplete to work correctly. I don't have time to go into all the details without knowing all the code, so I just wanted to show you in a quick and not-so-dirty way how prompt_toolkit works!

cmprmsd commented 1 month ago

Hm, it seems @n3rada deleted the fork. @aniqfakhrul you still may access it through the "files changed" view. The tool still works like a charm, very cool!

n3rada commented 1 month ago

Yes, without any responses in 4 months, I wanted to clean up my repos