Gallopsled / Gallopsled/pwntools-tutorial
Python 3 Byte String
- Dominant language
- Jupyter Notebook
- Stars
- 1.6k
- Forks
- 260
- PR merge metrics
- No merged PRs in 30d
Description
I think this tutorial needs an update to conform the newest version of `pwntools`.
One example is on the **[Utility Function](https://github.com/Gallopsled/pwntools-tutorial/blob/master/utility.md)** tutorial page, section **[Packing and Unpacking Integers](https://github.com/Gallopsled/pwntools-tutorial/blob/master/utility.md#packing-and-unpacking-integers)**:
```py
...
hex(unpack('AAAA'))
# '0x41414141'
...
```
On `python3.5` with `pwntools==4.2.0dev` this will cause problem:
```
>>> from pwn import *
>>> unpack('AAAA')
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.5/dist-packages/pwnlib/context/__init__.py", line 1461, in setter
return function(*a, **kw)
File "/usr/local/lib/python3.5/dist-packages/pwnlib/util/packing.py", line 221, in unpack
data = bytearray(data)
TypeError: an integer is required
```
Looking from the [commit](https://github.com/Gallopsled/pwntools/commit/57f0ebd7623a3792834888bdeefbb4c26f8c5f53#diff-4b262bbb0f689a006ecdad5f660ae812) history, it seems this function requires a byte string instead of normal string on Python 3. Since the last commit on this repo is a948b00 from Oct 10, 2018, I think it's time to have some update.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.