Skip to content

Commit 5545681

Browse files
author
Mathias Svensson
committed
Release 3.5.0
1 parent 3b2be2b commit 5545681

4 files changed

Lines changed: 67 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 64 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ The table below shows which release corresponds to each branch, and what date th
99

1010
| Version | Branch | Release Date |
1111
| ---------------- | -------- | ---------------------- |
12-
| [3.6.0](#350) | `dev` | May 6, 2017 (planned)
13-
| [3.5.0](#350) | `beta` | Mar 25, 2017 (planned)
14-
| [3.4.1](#341) | `stable` | Feb 17, 2017
12+
| [3.7.0](#350) | `dev` | Jun 17, 2017 (planned)
13+
| [3.6.0](#350) | `beta` | May 6, 2017 (planned)
14+
| [3.5.0](#350) | `stable` | Mar 26, 2017
15+
| [3.4.1](#341) | | Feb 17, 2017
1516
| [3.4.0](#340) | | Feb 13, 2017
1617
| [3.3.4](#334) | | Jan 12, 2016
1718
| [3.3.3](#333) | | Jan 10, 2016
@@ -29,14 +30,37 @@ The table below shows which release corresponds to each branch, and what date th
2930
| [3.0.0](#300) | | Aug 20, 2016
3031
| [2.2.0](#220) | | Jan 5, 2015
3132

33+
## 3.7.0
34+
35+
To be on Jun 17, 2017.
3236

3337
## 3.6.0
3438

3539
To be released on May 6, 2017.
3640

37-
## 3.5.0
41+
- [#895][895] Added a Dockerfile to simplify testing setup and allow testing on OSX
42+
- [#897][897] Fixed some incorrect AArch64 syscals
43+
- [#893][893] Added the `pwnlib.config` module
44+
+ Configuration options can now be set in `~/.pwn.conf`
45+
+ This replaces the old, **undocumented** mechanism for changing logging colors. Only @br0ns and @ebeip90 were likely using this.
46+
+ More information is available in the documentation [here](http://docs.pwntools.com/en/dev/config.html).
47+
- [#899][899] Pwntools now uses Unicorn Engine to emulate PLT instructions to ensure correct mapping of PIE / RELRO binaries.
48+
- [#904][904] Enhancements to the accuracy of the `pwn checksec` command.
49+
- [#905][905] Added a `pwn debug` command-line utility which automates the process of `gdb.attach(process(...))` to spawn GDB
50+
+ More information is available in the documentation [here](http://docs.pwntools.com/en/dev/commandline.html#pwn-debug)
51+
- [#919][919] Added a `pwn template` command-line utility to simplify the process of bootstrapping a new exploit.
52+
+ More information is available in the documentation [here](http://docs.pwntools.com/en/dev/commandline.html#pwn-template).
53+
54+
[895]: https://github.com/Gallopsled/pwntools/pull/895
55+
[897]: https://github.com/Gallopsled/pwntools/pull/897
56+
[893]: https://github.com/Gallopsled/pwntools/pull/893
57+
[899]: https://github.com/Gallopsled/pwntools/pull/899
58+
[904]: https://github.com/Gallopsled/pwntools/pull/904
59+
[905]: https://github.com/Gallopsled/pwntools/pull/905
60+
[919]: https://github.com/Gallopsled/pwntools/pull/919
3861

39-
To be released on Mar 25, 2017.
62+
63+
## 3.5.0
4064

4165
- [b584ca3][b584ca3] Fixed an issue running `setup.py` on ARM
4266
- [#822][822] Enabled relative leaks with `MemLeak`
@@ -54,19 +78,52 @@ To be released on Mar 25, 2017.
5478
+ Reports the kernel version and other relevant information on connection
5579
- [#857][857] Slightly shortened `execve` shellcode
5680
- [300f8e0][300f8e0] Slightly speed up processing of large ELF files
57-
- [#861][861] Add `parse_kconfig` and add Linux Kernel information to `ELF.checksec`
81+
- [#861][861] Adds support for extracting `IKCONFIG` configs from Linux kernel images, and extends `checksec` to report on any insecure configurations discovered
82+
- [#871][871] Moves all of the basic syscall templates to `shellcraft/common` and exposes them via symlinks. Closed [#685][685]
83+
+ Should not have any visible effects from any documented APIs
84+
+ `shellcraft.arch.os.syscall_function()` still works the same
85+
+ We now have the ability to differentiate between the `connect` syscall, and a TCP `connect` helper
86+
- [#887][887] `sh_string` now returns a quoted empty string `''` rather than just an empty string
87+
- [#839][839] Exposes a huge amount of functionality via corefiles which was not previously availble. See the [docs][corefile_docs] for examples.
88+
+ `process().corefile` will automatically instantiate a Corefile for the process
89+
+ QEMU-emulated processes are supported
90+
+ Native processes are supported, including extraction of coredumps from `apport` crash logs
91+
+ Native processes can be dumped *while running*, in a manner similar to `GDB`'s `gcore` script
92+
- [#875][857] Added [documentation][aarch64] (and tests) for AArch64 shellcode
93+
- [#882][882] The `ROP` class now respects `context.bytes` instead of using the hard-coded value of `4` (fixed [#879][879])
94+
- [#869][869] Added several fields to the `process` class (`uid`, `gid`, `suid`, `sgid`) which are recorded at execution time, based on the file permissions
95+
- [#868][868] Changed the way that `ssh.process()` works internally, and it now returns a more specialized class, `ssh_process`.
96+
+ Added `ssh_process.corefile` for fetching remote corefiles
97+
+ Added `ssh_process.ELF` for getting an ELF of the remote executable
98+
+ The `uid`, `gid`, and `suid`, and `sgid` which are recorded at execution time, based on the file permissions
99+
- [#865][865] Fixes `ELF.read` to support contiguous memory reads across non-contiguous file-backed segments
100+
- [#862][862] Adds a `symlink=` argument to `ssh.set_working_directory`, which will automatically symlink all of the files in the "old" working directory into the "new" working directory
58101

59102
[ssh]: http://docs.pwntools.com/en/dev/tubes/ssh.html
60103
[gdb]: http://docs.pwntools.com/en/dev/gdb.html
61104
[elf]: http://docs.pwntools.com/en/dev/elf.html
105+
[corefile_docs]: http://docs.pwntools.com/en/dev/elf/corefile.html
106+
[aarch64]: http://docs.pwntools.com/en/dev/shellcraft/aarch64.html
62107

108+
[685]: https://github.com/Gallopsled/pwntools/pull/685
63109
[822]: https://github.com/Gallopsled/pwntools/pull/822
64-
[832]: https://github.com/Gallopsled/pwntools/pull/832
65110
[828]: https://github.com/Gallopsled/pwntools/pull/828
111+
[832]: https://github.com/Gallopsled/pwntools/pull/832
66112
[833]: https://github.com/Gallopsled/pwntools/pull/833
67113
[835]: https://github.com/Gallopsled/pwntools/pull/835
114+
[839]: https://github.com/Gallopsled/pwntools/pull/839
68115
[857]: https://github.com/Gallopsled/pwntools/pull/857
69116
[861]: https://github.com/Gallopsled/pwntools/pull/861
117+
[862]: https://github.com/Gallopsled/pwntools/pull/862
118+
[865]: https://github.com/Gallopsled/pwntools/pull/865
119+
[868]: https://github.com/Gallopsled/pwntools/pull/868
120+
[869]: https://github.com/Gallopsled/pwntools/pull/869
121+
[871]: https://github.com/Gallopsled/pwntools/pull/871
122+
[875]: https://github.com/Gallopsled/pwntools/pull/857
123+
[879]: https://github.com/Gallopsled/pwntools/issues/879
124+
[882]: https://github.com/Gallopsled/pwntools/pull/882
125+
[887]: https://github.com/Gallopsled/pwntools/pull/887
126+
70127

71128
[b584ca3]: https://github.com/Gallopsled/pwntools/commit/b584ca3
72129
[a12d0b6]: https://github.com/Gallopsled/pwntools/commit/a12d0b6

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
![pwntools logo](https://github.com/Gallopsled/pwntools/blob/stable/docs/source/logo.png?raw=true)
33

44
[![Docs](https://readthedocs.org/projects/pwntools/badge/?version=stable)](https://docs.pwntools.com/)
5-
[![PyPI](https://img.shields.io/badge/pypi-v3.4.1-green.svg?style=flat)](https://pypi.python.org/pypi/pwntools/)
5+
[![PyPI](https://img.shields.io/badge/pypi-v3.5.0-green.svg?style=flat)](https://pypi.python.org/pypi/pwntools/)
66
[![Travis](https://travis-ci.org/Gallopsled/pwntools.svg)](https://travis-ci.org/Gallopsled/pwntools)
77
[![Coveralls](https://img.shields.io/coveralls/Gallopsled/pwntools/dev.svg)](https://coveralls.io/github/Gallopsled/pwntools?branch=dev)
88
[![Twitter](https://img.shields.io/badge/twitter-pwntools-4099FF.svg?style=flat)](https://twitter.com/pwntools)

pwnlib/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '3.5.0beta1'
1+
__version__ = '3.5.0'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
setup(
8686
name = 'pwntools',
8787
packages = find_packages(),
88-
version = '3.5.0beta1',
88+
version = '3.5.0',
8989
data_files = [('',
9090
glob.glob('*.md') + glob.glob('*.txt')),
9191
],

0 commit comments

Comments
 (0)