Skip to content

Releases: Gallopsled/pwntools

3.3.3

10 Jan 22:59
Compare
Choose a tag to compare

3.3.3

  • #843 fixed a bug in amd64.mov.

3.3.2

10 Jan 17:42
Compare
Choose a tag to compare

3.3.2

  • #840 Fixed a regression introduced by [#837][837].

3.3.1

10 Jan 16:03
Compare
Choose a tag to compare

3.3.1

  • #833 Fixed a performance-impacting bug in the adb module.
  • #837 Fixed a bug(#836) causing hexdump(cyclic=True) to throw an exception.

3.3.0

24 Dec 10:52
Compare
Choose a tag to compare

3.3.0

  • b198ec8 Added tube.stream() function, which is like tube.interact() without a prompt or keyboard input.
    • Effectively, this is similar to cat file and just prints data as fast as it is received.
  • 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 to stderr instead of stdout
    • Usage is e.g. python foo.py STDERR or PWNLIB_STDERR=1 python foo.py
    • Also adds context.log_console to log to any file or terminal
  • 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 for shellcraft command-line tool
  • #772 Fixed bash completion regressions
  • 30c34b7 Fix ROP.call() with Function objects from ELF.functions
  • fa402ce Add adb.uptime and adb.boot_time
  • 82312ba Add cyclic_metasploit and cyclic_metasploit_find

3.2.1

24 Dec 10:05
Compare
Choose a tag to compare

3.2.1

Multiple bug fixes.

  • #783 Fix adb.uninstall typo
  • #787 Added error handling for ssh.process argument preexec_fn
  • #793 Fixed progress message in remote() when connections failed
  • #802 Fixed partition listing in adb.partitions, which accidentally shelled out to the adb 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 in MemLeak

3.2.0

12 Nov 20:09
Compare
Choose a tag to compare
  • #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).
  • #704 The process object has a new, optional argument alarm for setting a SIGALRM 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 current brk 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 default subprocess module
  • #709 The adb module now directly talks to the adb 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
  • #703 Added new methods to adb
    • install - Installs an APK
    • uninstall - Uninstalls a package
    • packages - Lists installed packages
  • 4893819 Modified shellcraft.sh on all platforms to provide argv[0] and set argc==1
    • This is needed for systems which have Busybox or other minimal shell for /bin/sh which does not behave well with argc==0 or argv[0]==NULL.
  • 1e414af Added connect() alias for remote()
    • For example, io=connect('google.com', 80)
    • This also works with tcp(...) and udp(...) aliases
  • 869ec42 Added ssh.read() and ssh.write() aiases
  • 2af55c9 AdbDevice objects exposed via e.g. adb.devices() now offer scoped access to all adb module properties
    • It is now possible to e.g. map(lambda d: d.process(['id']).recvall(), adb.devices())

3.1.1

23 Oct 09:29
Compare
Choose a tag to compare

3.1.1

Fixed a bug in MemLeak.struct (PR: #768).

3.1.0

02 Oct 18:22
Compare
Choose a tag to compare

3.1.0

A number of smaller bugfixes and documentation tweaks.

3.0.4

19 Sep 21:44
Compare
Choose a tag to compare

3.0.4 (September 19, 2016)

  • Fixed a bug that made 3.0.3 uninstallable (Issue: #751, PR: #752)

3.0.3

19 Sep 21:43
Compare
Choose a tag to compare

3.0.3 (September 18, 2016, broken release)

  • Fixed some performance and usability problems with the update system (Issues:
    #723, #724, #736. PRs: #729, #738, #747).
  • Fixed a bug related to internals in pyelftools (PRs: #730, #746).
  • Fixed an issue with travis (Issue: #741, PRs: #743, #744, #745).