Skip to content

3.2.0

Compare
Choose a tag to compare
@TethysSvensson TethysSvensson released this 12 Nov 20:09
· 1679 commits to dev since this release
  • #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())