
Set up Python on Windows by checking installation, downloading from python.org, installing, adding to the path, verifying with python --version and pip, then using Sublime as the editor.
Explore how closures capture values from the enclosing scope by returning inner functions. A closure remembers values after the outer function ends, enabling callbacks in a Python class.
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Object-oriented_programming
Explore object oriented programming in Python by building a person class with attributes, methods, and dot notation, and learn about instance and class attributes, attribute checks, modification, and deletion.
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Windows_API
https://en.wikipedia.org/wiki/Microsoft_Windows_library_files
https://en.wikipedia.org/wiki/Unicode
https://en.wikipedia.org/wiki/Function_prototype
Note; when interfacing with ctypes and the Windows API, the lessons will often achieve the same outcomes in different ways. Python and ctypes enable you as the developer to control how you import and interface with the library and associated functions.
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/C_data_types
https://en.wikipedia.org/wiki/Pointer_(computer_programming)
https://en.wikipedia.org/wiki/Struct_(C_programming_language)
https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Native_API
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/System_call
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Dynamic-link_library
The DLL used in this lesson can be found in the 'dll.c' file and can be compiled using Visual Studio.
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Document_Object_Model
https://en.wikipedia.org/wiki/Web_scraping
Note; the content and process presented in the lesson is still valid - however the syntax has changed in the library (since version 0.12.0.0).
The updated syntax is as follows:
from py2exe import freeze
freeze(
console=['py2exe_demo.py']
)
from py2exe import freeze
freeze(
console = [{'script':'py2exe_demo.py'}],
options = {'py2exe': {'bundle_files': 1, 'compressed' : True}},
zipfile = None
)
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Transmission_Control_Protocol
https://en.wikipedia.org/wiki/Network_socket
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Internet_protocol_suite
https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
https://en.wikipedia.org/wiki/Address_Resolution_Protocol
https://en.wikipedia.org/wiki/Broadcasting_(networking)
https://en.wikipedia.org/wiki/Pcap
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Thread_(computing)
https://en.wikipedia.org/wiki/Child_process
https://en.wikipedia.org/wiki/Concurrency_(computer_science)
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
https://en.wikipedia.org/wiki/Public-key_cryptography
https://en.wikipedia.org/wiki/Symmetric-key_algorithm
https://en.wikipedia.org/wiki/Digital_signature
https://en.wikipedia.org/wiki/Message_authentication_code
https://en.wikipedia.org/wiki/Cryptographic_hash_function
https://en.wikipedia.org/wiki/Salt_(cryptography)
https://en.wikipedia.org/wiki/Padding_(cryptography)
https://en.wikipedia.org/wiki/RC4
https://en.wikipedia.org/wiki/RSA_(cryptosystem)
https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding
https://en.wikipedia.org/wiki/Secure_Hash_Algorithms
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/DLL_injection
The DLL used in this lesson can be found in the 'hello_world.c' file and can be compiled using Visual Studio.
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Shellcode
https://en.wikipedia.org/wiki/Assembly_language
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Keystroke_logging
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Buffer_overflow
https://en.wikipedia.org/wiki/GNU_Debugger
https://en.wikipedia.org/wiki/De_Bruijn_sequence
https://en.wikipedia.org/wiki/Return-oriented_programming
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Swing_(Java)
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Debugging
The main focus of the Python 201 for Hackers course is Python.
For more information related to the non-Python topics covered in this lesson, please refer to the following Wikipedia resource(s):
https://en.wikipedia.org/wiki/Breakpoint
The Python 201 for Hackers course builds upon the Python 101 for Hackers course by moving beyond the basics. You will learn more advanced programming concepts and techniques, with a focus on how to use and apply Python as a Windows hacking tool.
Prior Python programming knowledge is required to be successful in this course. The Python 201 for Hackers course content will not cover or explain introductory Python concepts or techniques.
Students should take this Python 201 for Hackers course if they are interested in:
Understanding more advanced Python programming concepts such as decorators, generators, serialization and closures
Learning how to identify and use Object Oriented Programming techniques and approaches within their Python scripts
Building upon introductory Python 101 concepts and applying knowledge to create practical Windows hacking applications such as keyloggers, encrypted bind shells and process injectors
The following concepts will be taught in this course:
Object Oriented Programming core concepts and Python implementations including classes, objects, methods, inheritance, encapsulation, polymorphism, operator overloading and class decorators
How to work with and debug lower level languages (including C and assembly) and data types from within Python to interface with the official Windows API, the undocumented Windows API and the kernel via direct system calls
Building upon standard Python functionality and leveraging modules to perform web scraping, port scanning, threading, cryptography, direct executable conversion and process creation
How to leverage Python to extend Burp and create custom extensions, directly inject a DLL into a remote Windows process and hijack an existing thread to directly execute in-memory shellcode