Releases: Gallopsled/pwntools
Releases · Gallopsled/pwntools
3.3.3
3.3.2
3.3.1
3.3.0
3.3.0
- b198ec8 Added
tube.stream()
function, which is liketube.interact()
without a prompt or keyboard input.- Effectively, this is similar to
cat file
and just prints data as fast as it is received.
- Effectively, this is similar to
- aec3fa6 Disable update checks against GitHub
- These checks frequently broke due to GitHub query limits
- #757 Fixed
adb.wait_for_device()
re-use of the same connection - f9133b1 Add a
STDERR
magic argument to make logging go tostderr
instead ofstdout
- Usage is e.g.
python foo.py STDERR
orPWNLIB_STDERR=1 python foo.py
- Also adds
context.log_console
to log to any file or terminal
- Usage is e.g.
- 67e11a9 Add faster error checking to
cyclic()
when provided very large values - 5fda658 Expose BitPolynom in
globals()
- #765 Added
-d
option for hex-escaped output forshellcraft
command-line tool - #772 Fixed bash completion regressions
- 30c34b7 Fix
ROP.call()
withFunction
objects fromELF.functions
- fa402ce Add
adb.uptime
andadb.boot_time
- 82312ba Add
cyclic_metasploit
andcyclic_metasploit_find
3.2.1
3.2.1
Multiple bug fixes.
- #783 Fix
adb.uninstall
typo - #787 Added error handling for
ssh.process
argumentpreexec_fn
- #793 Fixed progress message in
remote()
when connections failed - #802 Fixed partition listing in
adb.partitions
, which accidentally shelled out to theadb
binary - #804 Fix error message for 32-bit distributions
- #805 Fix exception in
Core.segments
when a segment has no name - #811 Fixes and performance improvements for
adb.wait_for_device()
- #813 Fixed a release script
- #814 Fixed exceptions thrown if the
$HOME
directory is not writable - #815 Properly handle
None
inMemLeak
3.2.0
- #695 Fixed a performance regression in
phd
. - 452605e Fixed #629 related to correct removal of temporary files.
- ea94ee4 Disallows semi-colons in for the
run_in_terminal
function, since it did not work properly in all cases. - 6376d07 Added the mips shellcode
pushstr_array
. - #700 Added missing MIPS shellcode documentation to readthedocs, and enabled unit tests
- #701 Command line tools refactored to have a common
pwn
entry point.- Added an option to not install the traditional
asm
,disasm
,checksec
, etc scripts - All existing tools can be accessed from the
pwn
command (e.g.pwn asm nop
).
- Added an option to not install the traditional
- #704 The
process
object has a new, optional argumentalarm
for setting aSIGALRM
timeout for processes. - #705 Added the Android Emulator to the test suite and Travis CI.
- Android Emulator is now required for the full test suite
- Android Emulator tests are skipped if no Android-related changes are detected
- #711
DynELF
has a new attribute,heap
, which leaks the currentbrk
address (heap base). This is useful for finding heap allocations with dlmalloc-derived allocators like those used by Glibc. - #717
sh_string
was rewritten to emit more compact and compatible strings- This was achieved by embedding single-quoted non-printable literals
- Much more testing was added
- Emitted strings are no longer copy-paste compatible, but work fine with e.g.
tubes
module and the defaultsubprocess
module
- #709 The
adb
module now directly talks to theadb
server process via a new module,adb.protocol
- Removes the need to shell out to
adb
- Avoids version-compatibility issues with
adb
server vs. client
- Removes the need to shell out to
- #703 Added new methods to
adb
install
- Installs an APKuninstall
- Uninstalls a packagepackages
- Lists installed packages
- 4893819 Modified
shellcraft.sh
on all platforms to provideargv[0]
and setargc==1
- This is needed for systems which have Busybox or other minimal shell for
/bin/sh
which does not behave well withargc==0
orargv[0]==NULL
.
- This is needed for systems which have Busybox or other minimal shell for
- 1e414af Added
connect()
alias forremote()
- For example,
io=connect('google.com', 80)
- This also works with
tcp(...)
andudp(...)
aliases
- For example,
- 869ec42 Added
ssh.read()
andssh.write()
aiases - 2af55c9
AdbDevice
objects exposed via e.g.adb.devices()
now offer scoped access to alladb
module properties- It is now possible to e.g.
map(lambda d: d.process(['id']).recvall(), adb.devices())
- It is now possible to e.g.
3.1.1
3.1.0
3.1.0
A number of smaller bugfixes and documentation tweaks.