radare2

UNIX-like reverse engineering framework and command-line toolset

LGPL-3.0 License

Downloads
164
Stars
19.6K
Committers
1K

Bot releases are hidden (Show)

radare2 - radare2 0.10.6

Published by radare about 8 years ago

codename Sleepy Autumn

Project: radare2
Codename: Sleepy Autumn
Date: Mon Sep 26 2016 23:59:11 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/archive/0.10.6.tar.gz
Tarball2: http://rada.re/get/radare2-0.10.6.tar.xz

radare2 @ comes with 10526 new lines of new features, bug fixes and enhancements.

Here some of the most important highlights:

Commands

  • Implement oom to reopen file in malloc://
  • Add zs as an alias for z/
  • Implement zo command
  • Rename command Vvm to Vvr
  • Implement drb[1,2,4,8] to display hexdump of gpr arena
  • Implement ?en command to echo without newlines
  • Implement zG exact-match zignatures support
  • Add p=0 and p=F
  • Add =!pkt in gdb://
  • Add pP in Vv with afi, pds, pdc, pdr, pdf
  • Add @@b iterator for all the basic blocks
  • Add ?w to show what is in the given address
  • New z. command, that performs zignature match by function. It works for a given offset with @ addr, so with @@ fcn* it can be run against all detected functions of the bin.
  • Add Ve$ command to see vars in visual
  • Add ?$ to show the value of all variables
  • Add @@f foreach iterator to walk all the functions
  • Support @@f: to iterate over all functions matching a name
  • Implement Vv[JK] to scroll pages of functions
  • Extend oa to load a different bin and handle riodesc properly
  • Initial support for afta command
  • Implement@@i to iterate over all instructions
  • Added av* and avj to show vtables in r2 and json formats
  • Added rabin2 -X and r_bin_package for FAT and ZIP
  • Added v in VV
  • Implement axf that try to resolve function names for 'C' refs

File Format Parsing

  • Better support for COFF
  • ELF and Mach are more endian awareness
  • Speed up load times for ELF and Mach binaries
  • Improvements in ELF to detect overlapped symbols
  • Enhancements in DEX parser

Debugger

  • Fixing ds in x86 (#5802)
  • Bring back to live dcs
  • ds on call and jmp (#5785)
  • Add Win10 profile to WinDbg module (#5805)
  • Coredump support for ARM
  • Added support for conditional breakpoints running r2 commands
  • Fix swstep on x86-32 for CALL/UCALL/UJMP instructions
  • Fixes for dr[*]<num>
  • Fix command do in windows
  • Fix dr command to get segments registers
  • Fix dbic <index> <cmd> parsing
  • Properly handle 32/64 bit spawning on OSX
  • Reduce the requirements of dko to any reason with a signum (#5806)

Analysis

  • Honor asm.varsub and asm.relsub in axt
  • Several fixes in xtensa
  • Implement cfstring support for ARM/Thumb binaries
  • Child thread heap analysis support (#5741)
  • New opcodes and operations in AVR anal plugin
  • Added xtensa calling convention (#5731)
  • Initial ESIL support for xtensa
  • Major improvements in zignature and better tested.
  • Dalvik improvements
  • Added option to load types manually (#5550)
  • Basic merge of no return function with types db (#5774)
  • Handle LDR instructions properly in ARM64 for static analysis
  • Add initial function list for osx-64
  • Extend arm64 regprofile for 16 and 8bit registers
  • Always run afva from af if anal.vars is set
  • Fix aae command arguments handling
  • Documentation on ESIL for AVR
  • Add AVR opcode ESIL for ASR instruction and bugfixed comma eater
  • Fix stack alignment bug in anal.arm64.esil
  • Use 32 bit calling convention for ARM Thumb
  • Add and use tinyrange.c: get 10% speedup in analysis
  • Integrating asm.calls with function types database (#5761). Making asm.calls true by default

Build

  • Reduced Cydia package size by removing development files 79MB -> 19MB
  • Optimized ios build for size (7MB -> 2.8MB)
  • Changed sys/ios-static.sh to generate easy-to-deploy tarball
  • Added sys/ios-static-appstore.sh
  • Fix build and basic run of the ios-arm64 debugger

Configuration

  • Added eval asm.cmtrefs -disabled by default-. When enabled, it shows the flag and comment that is at the ref of the current instruction.
  • Eval asm.relsub true by default
  • Eval asm.leahints false by default
  • Added cfg.minzlen and cfg.maxzlen to set minimum and maximum length to filter in zg
  • Added src.flush to force flush to console in realtime
  • Added anal.hpskip, false by default.
  • Make asm.reloff less confusing and add experimental asm.reloff.flags
  • Make !? help available via ?!
  • Added scr.color.bytes and rename scr.colorops to scr.color.ops
  • asm.emustr enables asm.emu automatically
  • Added types documentation

Crypto

  • Add CPS-2 encryption support

Bindings

  • Add OCaml correctly to the README (#5842)
  • Fixed r2pipe.c

Printing

  • Follow wide strings in disasm
  • pdf/pdr/anal fix (#5709)
  • Update pf help message
  • pf indent fix
  • Added array size support for structures
  • Interpret char[] as char* in the pf format (use z instead of c)
  • Fix .qword in pd and consider adr on arm64 as lea op
  • Honor hex.cols in pxe
  • Implemented varsub with structure fields (currently only depth of 1)
  • Show disasm in Vx.
  • implementing sorting of code diff

Assembler/Disassembler

  • Add msr/mrs for the armass64 assembler
  • Add jump/fail in afbj
  • Add support for jb instruction in pseudo asm (#5818)
  • Add a missing MSP430 constant register instruction encoding (#5548)
  • Fix infinite loop with long strings in disasm
  • Fix a missing #1 constant-generator encoding for msp430

R2PM

  • Add r2pm -w and handle R2PM_DEPS
  • Add PYPATH to r2pm
  • Add support to have custom directory name for cloned repo

Diffing

  • Add radiff2 -S to specify which column to sort for code diffing
  • Fix the radiff2 -C MATCH issue, still not perfect but getting in shape

Interface

  • Enhance Visual bit editor with 30% more colors and keys!
  • Fix visual mark target address (#5637)
  • Fix vmarks and save them in the project

Bonus Track

Numbers:

  • commits: 373
  • fix: 231
  • crash: 8
  • new: 8
  • add: 70
  • anal: 32
  • leak: 3
  • esil: 14
  • debug: 7
  • type: 18
  • oob: 5
  • honor: 9
  • update: 19
  • clean: 6
  • import: 2
  • endian: 8
  • indent: 6
  • command: 16
  • enhance: 4
  • diff:
    • add: 22324
    • del: 11798
    • diff: 10526
.---------------------------------------------------------------------------------------------------------------------.
|                                                   Release 0.10.6                                                    |
|---------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                     authors                     |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
|              |     381 | 238 |  70 |     9 |    4 |   14 |      8 |                                                 |
| binr/radare2 |       9 |   6 |   0 |     1 |    0 |    0 |      0 | pancake sven tiago.gasiba+saucec0de             |
| binr/rabin2  |       2 |   1 |   1 |     0 |    0 |    0 |      0 | sven pancake damo22                             |
| binr/radiff2 |       4 |   0 |   1 |     0 |    0 |    0 |      0 | pancake jkrshnmenon sven                        |
| binr/rahash2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 | tjemg                                           |
| libr/debug   |      28 |  20 |   3 |     0 |    0 |    0 |      0 | pancake tjemg saucec0de osalvador.vilardaga ... |
| libr/bin     |      64 |  46 |   7 |     0 |    1 |    0 |      3 | pancake alvarofe h4ng3r damo22 ...              |
| libr/core    |     186 | 123 |  38 |     7 |    2 |    6 |      2 | pancake alvarofe oddcoder vlad-mbx ...          |
| libr/crypto  |       3 |   2 |   1 |     0 |    0 |    0 |      1 | pau pancake                                     |
| libr/cons    |      14 |  11 |   1 |     0 |    0 |    0 |      1 | pancake sven maijin zlowram ...                 |
| libr/anal    |      88 |  56 |  16 |     0 |    2 |   12 |      0 | pancake oddcoder vlad-mbx alvarofe ...          |
| libr/asm     |      21 |  14 |   2 |     0 |    0 |    1 |      3 | pancake alvarofe h4ng3r sven ...                |
| libr/util    |      42 |  22 |   9 |     1 |    0 |    0 |      1 | pancake alvarofe semarie p4n74 ...              |
| libr/egg     |       0 |   0 |   0 |     0 |    0 |    0 |      0 | sven                                            |
| libr/io      |      11 |  10 |   2 |     1 |    0 |    0 |      0 | pancake sven skuater                            |
| shlr/bochs   |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake 0xbc                                    |
| man          |       4 |   0 |   2 |     0 |    0 |    0 |      0 | pancake maijin                                  |
'---------------------------------------------------------------------------------------------------------------------'

Contributors: 374 / 54 = ~7 commits per user

48% - 182 pancake
10% - 41 alvarofe
4% - 15 oddcoder
3% - 13 vlad-mbx
3% - 13 maijin
2% - 8 tjemg
2% - 8 bluec0re
1% - 7 h4ng3r
1% - 6 zlowram
1% - 5 p4n74
1% - 5 laanwj
1% - 4 semarie
1% - 4 damo22
0% - 3 skuater
0% - 3 pau
0% - 3 kalianon2816
0% - 3 saucec0de
0% - 3 julien.voisin
0% - 3 alex.darredevil
0% - 2 me
0% - 2 dromero.perez
0% - 2 akihiko.odaki.4i
0% - 2 killabytenow
0% - 2 bofh666ftw
0% - 2 crowell
0% - 2 xvilka
0% - 2 jkrshnmenon
0% - 2 pvt.gord
0% - 2 osalvador.vilardaga
0% - 2 sven
0% - 1 ANTodorov
0% - 1 SztfG
0% - 1 evanjrichter
0% - 1 tiago.gasiba+saucec0de
0% - 1 siguza
0% - 1 jpenalbae
0% - 1 ret2libc
0% - 1 atrodo
0% - 1 edgar.factorial
0% - 1 wapitidou
0% - 1 philipp.B.610
0% - 1 0xbc
0% - 1 andrey.arapov
0% - 1 coding
0% - 1 jduck
0% - 1 brainstorm
0% - 1 ahmedsoliman
0% - 1 eazy-f
0% - 1 bmarsh
0% - 1 oleavr
0% - 1 lottmann86
0% - 1 ehntoo
0% - 1 pgrohe
0% - 1 sylvain.pelissier

Fixes:

radare2 - codename 0.10.5 - PreCon

Published by radare about 8 years ago

Release @ 0.10.5

Project: radare2
Codename: PreCon
Date: Mon Aug 15 2016 10:27:52 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases

radare2 @ comes with 5212 lines of new features, bug fixes and enhancements. Here some of the most important highlights:

New commands

  • dmh to show memory heap
  • Implement pxd8 to show data in st64
  • Add $Fb and $Fs to handle basicblock address and size
  • q[y/n][y/n] options added
  • Fix #5524 - Add 'F' and '_' in graph
  • Add bit level visual editor
  • Fix #5447 - Implement aO command
  • add io command !=mod to list system modules
  • Fix #4841 - Restricted r2 shell thing
  • Fix dmp command for OSX and make it work with 1 parm instead of 3
  • Fix dmi on OSX and minor cydia tweak
  • Fixes #5389 - Add aflqj
  • Fix #5427 - ao[n] shows same bytes on all instructions

New URI handlers

  • waitfor:// - wait to attach for a process matching that name
  • pidof:// - attach to a process with this name
  • nocache:// - open with O_NOCACHE, useful for iOS's dyldcache (@oleavr)
  • self:// - Add dlsym, call, alarm and other goodies
  • r2k:// - connect to the r2 kernel driver (windows only atm) (@skuater)

RSoC and GSoC

  • Implement Arithmetic Pattern matching for ROP classification:
    • rop gadgets found are saved in rop.db
    • /R can now classify nop gadgets
    • MovRegs and LoadConst pattern classification for /R
    • Moved classification logic in separate file
    • Adding Arithmetic Pattern classification for /R (work in progress)
  • Variable and argument analysis (@oddcoder)
    • Initial support for type matching (#5480)
    • Calling convention profiles in SDB (#5358)
    • Adding doc for calling convention
  • Refactor RBin.Xtr to speedup dyldcache extraction (fat task)
    • Refactoring RBinXtr API.
    • Cache sub-fat bins in sdb to save memory.
    • Fix the error while loading sub-bins of different archs.
    • more work into xtr to fix the remaining tests
  • Material webui changes
    • Reimplemented hexdump
    • Same for disasm with infinite scroll
    • Better statusbar
    • All this stuff is pretty wip and not yet finished

Analysis

  • Add support to analyze local variable types and function parameters
  • Add aad to analyze data references
  • Add av to analyze vtables
  • Fix #5334 - add support to analyze interrupt handler functions
  • Fix some more arm-rel-pc issues (by CalArcher)
  • First approach to afCl/cdecl for AVR
  • Increase rafind2 -ZS wide and do not run aad in aaa

Debugger

  • Fix r2 -d mame on OSX asm.bits=16 problem
  • fixed breakpoint size based on arch
  • Fix #5392 display values of args and locals in debugger (#5417)
  • Fixed several memleaks in cmd_debug.c
  • Fix flag regs being seen as 'gpr' instead of 'flg'
  • Added new dmh command to analyze the heap on Linux-GlibC

Runs faster!

  • The visual hud performs better!
  • Speed up the radiff2 statistical diff
  • Fix huge load times for fuzzed versioninfo bins
  • rabin2 -x dyldcache is much faster and eats less mem

Enhancements

  • Fix #4928 - Show string context in /z and /
  • Fix floating pointer computations in ?
  • Update C++ demangler from the latest GNU binutils
  • Much better big endian support
  • wopO/wopD now support longer buffers and honor endianness
  • ELF vaddr fixes
  • Remove some dupped helper functions like hex2int()
  • Added realtime hexview edit mode
  • More commands support JSON output
  • Better heap analysis support dmh
  • Better thumb/arm/arm64 pseudo, analysis and disasm
  • Optimized to work with the latest capstone-next from git
  • Connect timeout is now working on Windows

RAP

  • Fix #5341 - rap:// with no file works now
  • Fix #5338 - Add ability to start RAP server in background. (#5416)
  • Fix WRITE operation in the rap protocol

R2PIPE

  • Fix #5339 - Projects now work with r2pipe
  • Support Python3
  • Added MIT license to r2pipe.cs and publish it in Nuget
  • Initial implementation of the Async Python r2pipe api (chr0hn)
  • Raise meaningful exception if radare2 is not installed

R2PM

  • Adding R2PM_GITDIR for easy packages local testing (#5475):
  • Added r2pm -r to run commands in path
  • Added 7 new packages
  • Show r2pm clone directory in r2pm init
  • Only use ~/.config/radare2/prefix/bin

Android

  • Improvements in DEX: avoiding name glitches and parse fields and statics
  • Detect local variables in Dalvik code analysis
  • Improve arm/thumb detection building ranges based on anal hints.
  • Updated material webui (WIP)
  • Builds fine on Termux

Crypto

  • Add experimental CPS2 crypto plugin
  • Fix #5007 - Clarify the difference of hash/encoder/crypto
  • Fix #4965. Add support for luhn searching and hashing.

Refactorings

  • core/bin.c -> core/cbin.c
  • r_util.h splitted into multiple files libr/include/r_util/*.h
  • r_flags no longer depends on r_cons
  • Rename CSR disasm/anal into XAP4 Fix #5355
  • Remove x86.tab from r2 master moved to extras
  • Calling Conventions are now defined in SDB at runtime
  • Move all test programs into the r2r/unit
  • Updated type database
  • Add spr32d70 and gsprop32 sdb for issue 5486 (#5491)
  • few enhancements for afv FIX #5459 (#5461)
    • replacing afv[bsr]n with afvn
    • replacing negative sign n with _
    • being consistent across the documentations (args + locals = vars)

Security

  • Several null derefs and memleaks has been fixed
  • Fixed a buffer overflow in base64 decoder
  • Fix infinite loop issue in ESIL ,,
  • Fixes a crash in capstone

This release in numbers:

  • commits: 282
  • fix: 163
  • crash: 11
  • new: 2
  • add: 50
  • anal: 10
  • leak: 5
  • esil: 7
  • debug: 10
  • type: 8
  • oob: 2
  • honor: 7
  • update: 17
  • r2pm: 5
  • clean: 8
  • endian: 6
  • indent: 3
  • command: 14
  • enhance: 3
  • diff:
    - add: 24865
    - del: 19653
    - diff: 5212
.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                                          Release @                                                                                                                                                           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits |                                                                                                            authors                                                                                                             |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|              |     239 | 134 |  40 |    3 |     16 |    5 |     6 |    5 |      4 |     239 |                                                                                                                                                                                                                                |
| binr/radare2 |       2 |   2 |   1 |    0 |      1 |    0 |     1 |    0 |      0 |       2 | zakaria.addi pancake                                                                                                                                                                                                           |
| binr/rabin2  |       2 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       2 | pancake alvarofe                                                                                                                                                                                                               |
| binr/rahash2 |       1 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | pancake maijin                                                                                                                                                                                                                 |
| libr/hash    |       3 |   2 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | maijin pancake mo                                                                                                                                                                                                              |
| libr/debug   |      14 |  10 |   1 |    0 |      0 |    0 |     1 |    1 |      0 |      14 | pancake oddcoder maijin mail n54 alvarofe matt crowell                                                                                                                                                                         |
| libr/bin     |      32 |  22 |   3 |    1 |      1 |    0 |     0 |    0 |      0 |      32 | pancake alvarofe dlpolanco05 maijin crowell                                                                                                                                                                                    |
| libr/core    |      98 |  59 |  18 |    3 |      6 |    0 |     4 |    2 |      4 |      98 | pancake alvarofe oddcoder maijin alex.darredevil crowell pvt.gord mo zakaria.addi alexandru.razvan.c mail mrmacete Owlz sdusuel brainstorm javierprtd soez vladimirdiaconescu monosource kalianon2816 sushant l4l dario.mail1  |
| libr/crypto  |       3 |   1 |   2 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | pancake maijin                                                                                                                                                                                                                 |
| libr/cons    |       3 |   2 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | alvarofe maijin                                                                                                                                                                                                                |
| libr/anal    |      34 |  23 |   9 |    3 |      1 |    0 |     2 |    4 |      0 |      34 | oddcoder pancake maijin alvarofe crowell droberson mrmacete aronsky alexandru.razvan.c alex.darredevil brainstorm                                                                                                              |
| libr/asm     |      22 |  13 |   0 |    0 |      1 |    0 |     0 |    1 |      0 |      22 | pancake alvarofe sven maijin                                                                                                                                                                                                   |
| libr/util    |      27 |  12 |   2 |    0 |      1 |    0 |     0 |    0 |      1 |      27 | pancake maijin alvarofe reddevillg nikolaih crowell                                                                                                                                                                            |
| libr/egg     |       1 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | maijin                                                                                                                                                                                                                         |
| man          |       2 |   1 |   0 |    0 |      1 |    1 |     0 |    0 |      0 |       2 | pancake monosource                                                                                                                                                                                                             |
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'

Contributors: (37)

  • 135 pancake
  • 30 alvarofe
  • 23 maijin
  • 15 oddcoder
  • 9 crowell
  • 9 alex.darredevil
  • 8 xvilka
  • 5 sven
  • 3 chris
  • 3 pvt.gord
  • 3 monosource
  • 3 mrmacete
  • 2 zakaria.addi
  • 2 brainstorm
  • 2 mail
  • 2 mo
  • 2 dlpolanco05
  • 1 reddevillg
  • 1 javierprtd
  • 1 droberson
  • 1 inndy.tw
  • 1 aronsky
  • 1 dreamdance61
  • 1 Owlz
  • 1 n54
  • 1 sdusuel
  • 1 asuarezbm
  • 1 damo22
  • 1 patrikbachan
  • 1 =skuater
  • 1 nikolaih
  • 1 jredestig
  • 1 sushant
  • 1 skuater
  • 1 matt
  • 1 p4n74
  • 1 soez
  • 1 me
  • 1 dx
  • 1 vladimirdiaconescu
  • 1 kalianon2816
  • 1 dario.mail1
  • 1 l4l
  • 1 alexandru.razvan.c
radare2 - Codename 0.10.4 - Padron Peppers

Published by radare over 8 years ago

Release 0.10.4

Project: radare2
Codename: Padron Peppers
Date: Mon Jul 07 2016 00:35:10 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases

radare2 0.10.4 comes with a some new features and a lot of bug fixes and enhancements.
Here are some of the most important ones:

Highlights:

  • Initial support for heap analysis (linux-glibc) (@n4x0r e & @javierprtd )
  • Fully working local, stack, base or register variables support GSoC (@oddcoder)
  • Fixed support for really messed up PE binaries (@alvaro_fe)
  • Improved support for AVR and IO ports (@brainstorm)
  • CDIV deoptimization support (@ususdei)
  • New disassembler for N64 RSP processor disassembler (@bsmiles32)
  • Major rework of the debugger internals (@jduck)
  • The default assembler now supports much more instructions (@unlogic)
  • Added asm.assembler to use different plugin than the disassembler
  • Better android support (correct disassemlby, initial multidex) (@trufae)
  • Better coredump support on Linux (oscar salvador)
  • Fixed native build for linux-mips and linux/osx-powerpc (@trufae)
  • Implemented bit-level editor 'press d and then 1 in visual mode' (@trufae)
  • Updated material webui -- GSoC (@gcolajan)
  • r2pm package database moved to another repository (@zlowram)

Numbers:

.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                         Release @                                                                                                                                          |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits |                                                                                           authors                                                                                            |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|              |     402 | 225 |  80 |   10 |     20 |   10 |    11 |   15 |      4 |     402 |                                                                                                                                                                                              |
| binr/r2pm/d  |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 |                                                                                                                                                                                              |
| binr/radare2 |       9 |   6 |   2 |    0 |      0 |    0 |     0 |    0 |      0 |       9 | pancake crowell                                                                                                                                                                              |
| binr/rabin2  |       3 |   1 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | crowell pancake                                                                                                                                                                              |
| binr/radiff2 |       3 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | pancake nikolaih                                                                                                                                                                             |
| binr/rahash2 |       2 |   2 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       2 | pancake dx                                                                                                                                                                                   |
| binr/ragg2   |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/hash    |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/debug   |      46 |  31 |  11 |    0 |      1 |    0 |     1 |    0 |      0 |      46 | pancake jduck xvilka meep crowell pavel.borzenkov alvarofe osalvador.vilardaga psyberbits                                                                                                    |
| libr/bin     |      68 |  51 |   2 |    2 |      1 |    0 |     2 |    0 |      2 |      68 | pancake alvarofe crowell xvilka jduck psyberbits                                                                                                                                             |
| libr/core    |     132 |  74 |  37 |    3 |      4 |    0 |     4 |    3 |      1 |     132 | pancake oddcoder crowell jduck alvarofe karol.harasim xvilka psyberbits monosource nibble chinmay1dd maijin defragger ret2libc robbje af123 ususdei reenz0h dx lonely.ruyk mrmacete ekse.0x  |
| libr/crypto  |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/cons    |      14 |   5 |   3 |    0 |      0 |    0 |     0 |    0 |      0 |      14 | psyberbits pancake crowell oddcoder                                                                                                                                                          |
| libr/anal    |      56 |  33 |  10 |    3 |      0 |    0 |     1 |   11 |      2 |      56 | pancake oddcoder alvarofe condr3t sushant mrmacete sushant.dinesh94 aronsky psyberbits dx bobby.smiles32 crowell                                                                             |
| libr/asm     |      34 |  19 |  11 |    0 |      2 |    1 |     1 |    0 |      1 |      34 | pancake sven mr.exodia.tpodt alvarofe bobby.smiles32 sylvain.pelissier mrdanielps crowell karol.harasim julien.voisin                                                                        |
| libr/util    |      43 |  25 |  10 |    0 |      0 |    0 |     2 |    0 |      0 |      43 | pancake crowell karol.harasim alvarofe def psyberbits Lukas-Dresel osalvador.vilardaga defragger nikolaih mattd                                                                              |
| libr/bp      |       1 |   1 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | jduck                                                                                                                                                                                        |
| libr/egg     |       1 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | pancake                                                                                                                                                                           |
| man          |       3 |   1 |   2 |    0 |      0 |    1 |     0 |    0 |      0 |       3 | pancake nikolaih                                                                                                                                                                             |
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'

This makes 21,012 additions and 13,252 deletions.

Contributors:

  • 192 pancake
  • 40 alvarofe
  • 38 crowell
  • 20 jduck
  • 11 xvilka
  • 10 psyberbits, sven, oddcoder
  • 8 karol.harasim
  • 6 maijin
  • 5 mrmacete
  • 3 nibble, condr3t, dx, monosource, mrexodia, sushant
  • 2 brainstorm, def, meep, chinmay1dd, sushant.dinesh94, defragger
  • 1 robbje, reenz0h, ususdei, aronsky, bobby.smiles32, zlowram, ekse.0x, mrdanielps, sylvain.pelissier, hummypkg, osalvador.vilardaga, lonely.ruyk, af123, nikolaih, mattd, slyfox, jaroslaw.gorny, pavel.borzenkov, Lukas-Dresel, jvoisin, qwokka, dukebarman, ret2libc

Fixes:

#5267,#5261, #5245, #5259, #4665, #5228, #5218, #4420, #5213, #4432, #4422, #5204, #1277, #5185, #5126, #5117, #5105, #5108, #4975, #5082, #5058, #5034, #5033, #5020, #5022, #5009, #5010

Changes:

This release focused on improving the speed and memory footprint of radare2,
along with code cleanup. Also, this release comes with a completely reworked
r2pm package manager. A lot of changes have happened in the debugger implementation, and in ESIL emission.

New commands

  • fi[jn*] to list flags in a given range
  • pdaj and pda= to disassemble all possible opcodes, byte per byte.
  • drp. to show the register profile size
  • ecoj to list themes in JSON format
  • pf [size]D
  • aoe and aor to show ESIL and REIL forms of the current opcode
  • ah. to show hints of the current offset
  • afv[bsr] to manipulate args, registers and variables in function
  • wxs to write hexpairs, and seek to the end
  • dpc to select the most recently forked child process
  • dpc* to show the recently forked process pid.
  • ecc [arg] shows color palete with a css syntax
  • pch for a 2 byte C dump mode
  • @o is a new modifier to temporary switch to another fd
  • Adds core.iorw in i
  • Renaming afa, afv and afe to afvb, afvr, and afvs respectively
  • Refactor pia/pda
  • Adds anal.vars variable to toggle variables analysis
  • r2 -I for pre-scripting
  • aa is now equivalent af@@ sym.*;af@entry0;afCa (can you guess what it does?)
  • Added cursor to undo seek history
  • Implement afbr and * sub-variants to list return addresses of current function

Analysis

Now r2 is able to load PE files that has been tampered somehow to thwart the analysis. If radare2 struggles with some samples, feel free to share them with us ;):
* Add name to section when is empty
* comment out hackaround for huge number of sections

  • Update syscall table for iOS
  • Adds output ports for AVR Atmel8A. Thanks @radare and @oddcoder
  • Implement RSyscall.IO in disasm loop for X86 and AVR
  • Improving variables on ARM (16, 32, 64)
  • Adds asm.hints and handle CDOV deoptimization
  • Possibility to add comment for var/args
  • Add anal.vinfun and anal.anal.vinfunrange for aav (only grab values outside function boundaries)
  • Improving the json format for args/vars
  • Initial import of the bin.avr plugin for atmega8 chips
  • Fix analysis and add ESIL for avr's rjmp
  • Support op->family and some op->cycle for anal.arm64
  • Add MJMP optype, pxt command and enhance anal.jmptbl for x86-64 (wip)
  • Fixed order of arguments in ESIL representation of MUL.
  • afbr's description wasn't worded properly: It doesn't actually print addresses of ret instructions, but of instructions which cause the flow of the program to leave the function body, like call, jmp, hlt, ...
  • CDIV deoptimization is now showed as hint

Debugger

  • Improved support of Linux, Android and *BSD systems
  • Major rework to the native debugger (especially on Linux)
  • Generate coredump - added support for threads and x86
  • Make dbt output aligned to columns based on dbg->bits
  • Breakpoints should now work regardless of the swtep setting
  • Fix build for Linux <= 2.6.32 (coredump not supported)
  • Make dm work on OpenBSD by adding a native _debug_native_map_alloc()
  • Add support for dp and dp* on OpenBSD.
  • Don't print SIGTRAP signals or stops
  • Adds breakpoints into project file
  • Add "clone" to the "dcf" command (#5161)
  • Track how the caller wishes to continue
  • Handle EXIT_PID events differently than DEAD process events
  • Move breakpoint/recoil handling to wait/cont/step
  • Change many wait functions to return RDebugReasonType
  • Better return checking (from r_debug_reg_sync, r_bp_restore)
  • Optimized register synchronization
  • Improved inferior death detection

Assembler/Disassembler

  • Add basic support for N64 RSP processor.
  • Lot of updates in x86.nz:
    • The sil, dil, spl, and bpl registers are now supported
    • lfence, mfence, sfence , bt, fsincos instructions
    • support syntax for add eax, [ecx] and add ecx, [eba +/- 3]
    • Add support for immediate word for sub
    • nz now generates the correct opcode when using a word as an immediate in the sub instruction with a register + offset as the target
    • Adds support for word register offsets and refactors that portion of the code a little
    • Add offset support to add instruction
  • Initial implementation of asm.assembler to select different assembler plugin than the disasmembly one

DEX

DEX stands for Dalvik Executable format, it's the format used by Android binaires.

  • Show classname for static methods in DEX
  • Fix imports and enhance parsing virtual methods in DEX
  • Better names for virtual Dalvik methods
  • Load virtual methods from Dex files

Tests and Documentation

Bindings

Build

  • Support to build on OSX-powerpc
  • Support to build on Linux-powerpc and mips
  • Build target armel (not armhf), for legacy armv5-like devices

Optimization

  • Huge optimization of some internal structures by @crowell

Usability and Visual mode

  • Greatly improves the display of process listing
  • lea instructions got hotkeys support
  • Visual mode for editing bits Vd1
  • The www/m web interface got a new statusbar and a split view
radare2 - Codename 0.10.3 - The Bleeding Tooth

Published by radare over 8 years ago

Numbers

  • 450 commits
  • -82000 lines (yes, minifying the webui comes with some goodies here)

Special Thanks

  • nibble - for coming back and taking care of the rsearch bugs
  • oddcoder - for starting the GSoC doing a good starting enhancing variable analysis
  • jduck - for seeing the light and focusing on linux-arm debugger and testsuite
  • damo22 - for being brave enough to make r2 endian-independent (still wip)

Thanks to everyone else who helped to make this release possible! (counting commits)

  • 230 pancake
  • 25 xvilka
  • 17 crowell
  • 16 sven
  • 15 ret2libc
  • 14 p4n74
  • 12 oddcoder
  • 12 alvarofe
  • 10 damo22
  • 10 defragger
  • 7 torsunov
  • 7 serg
  • 6 jcrowell
  • 6 jduck
  • 6 hamish
  • 5 nibble
  • 4 hummypkg
  • 4 maijin
  • 4 zlowram
  • 3 davide
  • 3 ayman
  • 3 sushant
  • 3 dx
  • 2 os
  • 2 fyamagu
  • 1 hamish-gh
  • 1 qwokka
  • 1 vladz
  • 1 skuater
  • 1 brainstorm
  • 1 lysy80x
  • 1 pagabuc
  • 1 kamil
  • 1 qnix
  • 1 dukebarman
  • 1 sdusuel
  • 1 jpenalbae
  • 1 mrmacete
  • 1 kolen
  • 1 pixelbrei
  • 1 gautier
  • 1 naveen
  • 1 aassfxxx
  • 1 mkosmach
  • 1 me
  • 1 travis
  • 1 gk

Highlights:

  • r2 codebase is now endian-independent, this will ease avoiding bugs related to big-endian machines
  • Swift demangler have been improved and optimized to load iOS binaries faster than ever.
  • Enhanced function argument/variable analysis and automate it with the new afCa command.
  • Added callgraph navigation view
  • Added support for Keystone (even if its not released yet)
  • Several enhancements for X86, ARM, ARM64 and MIPS pseudocode, analysis and emulation
  • New aav command to find pointers to code/data
  • r2pm can now install in home or system
  • All websites are available via r2pm have been gulpified and are now maintainable and minified (3x smaller)
  • Added support for dumping core on Linux-x86-64, OSX-x86-64 and iOS (arm32/64)
  • The new @.. range operator
  • Implemented HexII print format (http://corkami.googlecode.com/svn/trunk/src/HexII)
  • Initial support for Emoji and Punycode.
  • Graphviz colors are now configurable and current node is hightlighted
  • Initial implementation of the RPI VideoCore4 disassembler (via r2pm)
  • Initial support for debugging QNX systems via the pdebug interface
  • Enhanced (work-in-progress) enhancements for rap:// remoting
  • Initial native support for PowerPC (on Linux and OSX/G4)
  • Handle data references in Dalvik binaries
  • rabin2 -OC will dump the iOS binary entitlements
  • Parse LDID sha signatures with rabin2.
radare2 - Released 0.10.2 - codename panamake

Published by radare over 8 years ago

As usual, some numbers first:

Contributors: 48
Commits: 480
Issues: 135

Grep stats:

  • Fixes: 269
  • Add: 107
  • Enhance: 7
  • New: 7
  • Esil: 18
  • Anal: 36
  • Leak: 15

Contributor commit counter: (sys/pie.sh)

$ sys/pie.sh 0.10.1 | sort -un | tail -n 13
1   Adrien Garin
2   Adr1
3   Kitsu
4   Darredevil
5   Anders Kaare
6   Aneesh Dogra
7   Evan Shaw
8   Jeffrey Crowell
12  Maijin
16  Anton Kochkov
36  oddcoder
46  Álvaro Felipe Melchor
237 pancake

Special thanks from pancake to:

  • @revskills for the massive fuzzing
  • Google for the GSoC
  • Ghostbar for being the new Debian maintainer and update r2 packages
  • Nibble for coming back
  • Alvaro Felipe Melchor for the elf relocs, dyldcache and the massive bugfixing.
  • oddcoder for being the most active student
  • Daniel Dominguez for the initial coredump support

This release is much bigger than we ever thought. Thanks to Google and GSoC applications process we've got an honest amount of a students' contributions, who implemented a few file formats, improved analysis and fixed a bunch of issues.

Highlights

  • Add r2 -d and -R shortcuts to simplify loading rarun2 profiles and using remote debugging plugins
  • Support for cryptography (blowfish, rc2, rc4, aes, xor, ror, rol)
    • woE/woD
    • rabin2 -E
    • Adding wo*y commands using clipboard instead of [val]
  • Better PE and ELF parsers
  • New easter-egg!
  • dyldcache extractor is working again
  • Support for BOCHS
  • Coredump support for iOS and OSX
  • New fileformats, namely Python bytecode and Flash files
  • Improved analysis and emulation thanks to ESIL on x86, ARM and MIPS
  • New make menu to choose plugins to build
  • Add ?E clippy echo and use it in ????
  • xrefs and types are now properly saved/restored from projects

New R2PM packages

  • ramoji2
  • www-t and www-p
  • syms2elf

Better Disassembly

  • Add asm.spacy and asm.flgoff
  • noreturn function database is much more reliable now
  • Summary mode (pds)
  • Press R in visual to rotate on the color themes. (see scr.randpal)
  • Fix some asm.spacy and asm.flgoff glitches
  • Add ecn and use it from VR with scr.randpal
  • asm.fcnsign is now working for non-windows binaries
  • asm.(symbol|section)[.col]
  • Added m68k parse pseudo plugin and enhance the arm one
  • Fix ROR/ROL ESIL expressions for x86-64 capstone
  • Honor fcn.fcnlines in fcnvarlist

WebUI

  • WebUI moved to a separate repository.
  • some of them accessible via r2pm (r2pm -i www-t www-m)
  • use Grunt, update all dependencies, indent code, minify, ..
  • Fixed some XSS vulns
  • Added http.referer checks to fix CSRF vuln

Architectures

  • z80: better analysis
  • SNES: better analysis too and support 16-bit immediate operands
  • m68k: fixed bugs and improved analysis. honor asm.cpu
  • ARM (better analysis and emulation, handle IT)
    • Honor ARM conditional bits to skip bxeq lr and such
    • Better Thumb support
    • Assemble blx for arm32 and thumb
  • New plugins!
    • Adding initial support for PIC18C diassembler
    • python bytecode disassembler
    • Flash bytecode disassembler

File formats

  • PE parser is much better now! (version info + handling even more fucked'up PEs)
  • Support Swift-Demangle
  • JSON output for classes+ methods
  • Add support for parsing TLS and add TLS callback addresses to the list of entry points
  • Extracting iOS's dyldcache is working again (thanks @alvaro_fe)
  • *.pyc file format
  • *.swf file format
  • Better parsing of PE and ELF files
  • Add versioninfo support for PE and ELF
  • Fix #2780 havecode field

Graphs

  • Disassemble first basic block in callgraphs
  • Summary graph (af;VVP')
  • Add graph.gv variables to set custom graphviz styles
  • Fix #4374 - ags command to show simplified flowgraph

Bindiffing

  • radiff2 -C does not analyze by default, mimics r2 -A
  • Does not diff strings because they are not functions
  • Increase memory limit for code diffing

Analysis

  • Colorful entropy bars
  • file.analyze is only running when the binary contains code
  • new aex command to emulate an hexpair of native code
  • huge improvements for x86 and arm
  • Set anal.autoname by default for now
  • Adding verbosity in aaa
  • Improve mips string reference detection with ESIL
  • Honor anal.strings in aae
  • Fix aap for static and make it work in debugger
  • Find more string references for MIPS and remove some false positives.
  • ROP search find honor search.align and detects more cases
  • Do not autoname functions by default. Add e anal.autoname
  • analysis is deeper than ever: new aaaa command
  • aai command to show analysis statistics info
  • aav command to show all references for section/map
  • added lodsb,stosb and did some rep cosmetic to esil x86
  • Initial support for unions
  • Redesign the t command and add a lot of tests (@oddcoder)
  • Initialize BP register in aeim (handy for arm)

Debugging

  • New bochs plugin works on Linux, Mac and Windows.
  • Coredump generation for Mach0 binaries on iOS and OSX
  • MACH0 Coredump loading
  • r2 -d gdb:// no need for -D gdb
  • Added drw/arw command
  • Add r2 -R as alias for dbg.profile
  • Alias doo for ood command

iOS

  • Implement ios9 pangu's tfp0 in the debugger
  • dyldcache extract
  • coredump generation and loading
  • Support swift-demangle if found in $PATH

Various changes

  • New r2r program in radare2-regressions repo
  • Work in progress support for squashfs
  • An aaaaaa command
  • Add r_lang_rust
  • Implement rasm2 -A to replace ranal2
  • rax2 -B and -b
  • Handle ~/.config/radare2/radare2rc.d

Commands

  • Extending wo* commands to use clipboard
  • Ps and PS commands to save project
  • Implement Cz like Cs with automatic length detection
  • Implement new commands: yl, yw, ywx, wz
  • Implement ys to show clipboard as string
  • Honor q in scripts to stop interpreter
  • Add rarun2 execve to avoid posix_spawn
radare2 - solid chair society

Published by radare over 8 years ago

radare2 0.10.1 - Release Notes

Six weeks ago, when our great leader pancake announced "a release every 6 weeks", everyone was a bit, well, surprised, but it seems that we did it.

But first, some numbers:

  • Codename: solid chair society
  • Weeks: 6
  • Commits: ~280
  • Issues Fixed: 50
  • Contributors: 38
  • New contributors: 10
  • New easter-eggs: 1

This 0.10.1 release pushes other updates for:

Also binary builds for Windows and OSX are also available.

This is great, since it means that our downstream people who puts radare2 into package manager will be able to push updates quicker (yes, I'm looking at you, debian).

This also means more release party, which is a good thing. There wasn't an special focus on anything during that last 6 weeks, but if I had to comment on this release, I would say that its theme would be "compiling on windows", and "usability". Or something like that.

Anyway, here is the human-readable changelog:

  • Variables and flags can now be renamed in cursor mode asciinema
  • Optimized GDB connectivity, now its 10x faster!
  • print signed base 10 hexdumps with pxd[1,2,4]
  • radiff2 -C to compare checksums
  • Lot of work towards the mach-ification of the OSX/iOS debugger by alvarofe
  • more polished cursor movements in Visual mode
  • Better ARM and Thumb code analysis and emulation
  • Added disassembler support for Microblaze architecture
  • Updated unicorn plugin to be in sync with git
  • Various enhancements in the Visual mode
  • backward disassembly uses RAnal info for better offset computations
  • asm.bbline uses RAnal info to have precise results
  • fix bug in env.sh when using more than 9 arguments
  • Mingw compilation improvements
  • preliminary support of XNU debugging
  • ESIL support for v810
  • radare2 does now compile in appveyor: no more excuses for broken commits on windows!
  • Lanai (the secret CPU used by Google) support
  • a new shiny xtensa CPU analysis backend
  • change local variables/arguments format names (ebp-0x10, ebp+0x13 becomes, respectively, local_10h and arg_13h) and now it works too when asm.ucase is set.
  • add Vdn option to rename a flag/function/local variable/local argument used in the current instruction
  • refactoring of RFlag + better names for functions when there are symbols
  • ahi now supports IPv4 and syscall
  • various optimizations and bugfixes
  • opcodes descriptions for v810, propeller, riscv, tms320, lm32, i4004, i8080, java, Malbolge, SH-4, M68K, ARC and LH5801 (that you can access with ?d or e asm.describe=true)
  • axg to get a graph of the function xrefs to reach a specific point.

Lanai CPU

Known regressions and future work

The webui graph stopped working on Google Chrome because they have deprecated a js function to manipulate SVG which was used by the joint.js library, the webuis will be distributed in a separate repository and dependencies will be maintained using bower/grunt/npm. This way we will solve the license problems some distros (Debian) complained for not packaging the webuis because of non-free and confusing uglified js blobs. This will hopefully attract more web developers.

Debian, Docker, Void, FreeBSD, Sabotage and other distros raised the interest in our project, so, the 6week release cicle will hopefully fix the problem of having very old packaged versions of r2.

Windows binaries from appveyor still need to be fixed thus the windows installer.

There are some interesting wip patches to be included in the next release 0.10.2 scheduled for April 11th.

Also, it is important to note, that some people started to work on the GSoC microtasks even before knowing if we are accepted this year. This is a good sign which clearly shows the growing, healthy and brave community we have.

Special thanks to:

  • alvaro felipe: for fixing some bugs and enhancing the XNU debugger
  • xvilka: finally getting the windows builds happy again
  • maijin: for reviewing issues and adding more opcode descriptions
  • deffi420: to find and fix some tiny, but important bugs in SDB
  • condret: for working on the SIOL branch that will hopefully be merged soon.
  • crowell: enhacing the local variables experience
  • ret2libc: fixes a bug in dietline, rewrote flags, metadata, better midflags and cursor movement.
  • mballano: for commiting for the first time, making RAP:// more consistent.

Have fun with this new release and keep up hacking!

radare2 - radare2 0.10.0

Published by radare over 8 years ago

More details soon!

radare2 - radare2-windows-nightly

Published by radare about 9 years ago

Nightly build

radare2 - radare2 0.9.7

Published by radare over 10 years ago

CodeName: Segfault as a feature
ReleaseDate: 2014-03-03

Tarballs:

http://rada.re/get/radare2-0.9.7.tar.xz
http://rada.re/get/radare2-bindings-0.9.7.tar.xz
Required valabind version to build the bindings: http://rada.re/get/valabind-0.8.0.tar.gz

Numbers

  • 1 man
  • 3 months
  • 8 new architectures
  • 28 contributors
  • 73 reported bugs fixed
  • 283 bugs with 'Fix' keyword (memleaks, bugfixes, warnings, nullptr)
  • 613 commits
  • 1273 files changed
  • 94362 deletions
  • 115678 insertions

Binaries

  • Gameboy ROMs are now supported
  • Java class files detection has been improved
  • COFF is now supported
  • DWARF2 is now fully parsed and manually handled

New Architectures

  • H8/300
  • T8200
  • 6502 (Atari, Apple II and Commodore 64)
  • TMS320
  • NIOS II
  • SNES
  • Gameboy
  • MSIL is working again
  • Whitespace
  • Malbolge

Java

  • Ability to load multiples Java files at once
  • Improved analysis
  • Support for access flags

Imports bugs fixed

  • Invalid instructions display 1 byte hexpair in disasm
  • Fixed many crashes and incorrect handling of commands in extreme conditions
  • /v now supports 1 byte search and obeys cfg.bigendian

Bindings

  • ctypes bindings are more complete and close to swig.
    we need testers and contributors to make ctypes support everything.
  • Add OCAML bindings
  • Fixed and tested Java bindings
  • Updated NodeJS bindings
  • Added work-in-progress hand-made JNA (Java Native Access) bindings
  • Added Python3 example scripts
  • Fixed perl compilation
  • Use latest ACR to fix some bugs in configure script
  • Updated mingw32.sh dist build script

Look

  • Mouse wheel supported on xterm-compatible terminals in visual mode
  • Add a pink theme (ecf pink)
  • Tiled web interface
  • to follow jmp/call/cjmp in visual mode
  • Add a less ability

New stuff

  • ^x^e supported in RConsLine
  • Added 'less' and '~..' (internal less)
  • Added 'ls -l' command.
  • Implement backward search /b (Thanks JudgeDredd)
  • Added cpu cycles (and fail cycles) columns in disasm (condret)
  • Radare2 can now be built with Jamroot
  • The ARM assembler is complete
  • Ability to search and filter ROP gadgets
  • Zip files support
  • rarun2 can r2preload=true using self:// (linux, osx)
  • Emoji hexdump
  • Add more cparse basic types t*

Changes

  • Strings now have length and size fields.
  • Rename 'rdb' to 'projects' in ~/.config/radare2/
  • Add -S option to r2 to start with sandbox enabled
  • Fix too much memory usage in analysis (thanks saelo)
  • Converted almost everything to LGPL
  • AND, OR, XOR NEG operations are now supported in RNumCalc

Improvements

  • ESIL generation for x86 was simplified
  • More opcodes support for ESIL
  • ragg2 can now produce ELF64
  • Backward disassembly refactoring
  • Disassembly is now at least 7 times faster
  • Analysis eats less memory

Analysis

  • C55x+ analysis is improved
  • Gameboy ROMs are now properly loaded and have better analysis
  • Takes much less memory

Updated things

  • sdb: (0.8) Update SDB with new API and much more tested.
    Sdb is the noSQL backend for radare2. The API is now stabilized, and
    it will be used in the next release to simplify data storage. Feel
    free to review the specification: https://pad.nopcode.org/p/sdb
  • udis86 - from git, now we are using our own fork

Upcoming stuff

  • Sdb everywhere
  • Initial work to support hardware breakpoints
  • Better and faster analysis
  • Import capstone

Contributors

  • Xvilka
  • xtraeme
  • Ender
  • Eduardo de la Arada
  • Fedor Sakharov
  • BatchDrake
  • Ilya V. Matveychikov
  • Jaume Delclòs Coll
  • Jerome Marty
  • Jüri Aedla
  • Maijin
  • Nibble
  • Samuel Groß
  • Saul St. John
  • VisualPrankDude
  • Vitezslav Cizek
  • Zach Riggle
  • aaSSfxxx
  • axt
  • condret
  • cquaid
  • defragger
  • dso
  • jvoisin
  • pancake
  • radbrad
  • schrotthaufen
  • zonkzonk

Greetings

I would like to thank the help from Debian and VoidLinux packagers who pointed
me some issues in the build system and tested against their build machines.
Probably 0.9.7 would never have been released without them (because I was not planning
to make a bugfix release :P)

radare2 - radare2 0.9.0

Published by radare over 10 years ago

hg tag -r      1974 0.9
codename:      furoner
last commit:   Tue Dec 06 01:41:17 2011 +0100
oldest commit: Tue Nov 01 12:59:07 2011 +0100
commits:       115

Author and main developer:

email: pancake<nopcode.org>
twitter: http://twitter.com/trufae
github: http://github.com/radare

Thanks to:

  • @santitox for the XOR shellcode encoder and big-gmp implemention
  • Glyn Kennington's patch for the build system
  • sre the Debian guy and betatester
  • earada for discusing, testing, reporting and bugfixing lot of stuff
  • vext01 for the OpenBSD bug reportz and packaging
  • l0gic for the archlinux package and bugreporting
  • Ender for bokken packaging and r2 feedback
  • ash for bokken, bug reports and beers
  • Nicolai Stange for the SPARCv9 (64bit) support
  • Instruments, Dtrace, Valgrind, llvm-analyzer, OpenBSD
    • fixed memory leaks
    • reduced memory usage in 40%
    • optimized code analysis
    • null pointers and double frees
    • do not use alloca() anymore
    • change io.va only when needed
    • Fix two format string portability issues

Portability:

  • Tested support for iOS, Windows, GNU/Hurd and GNU/kFreeBSD
  • Use O_BINARY in all open() calls on Windows fixes IO
  • Fix dup2 for w32

Binaries

  • Various symbol resolution fixes in ELF
  • Honor -o in rabin2 for dump section operation
  • Add initial native support for fat binaries in r2
    • Select arch/bits with r2 -a and -b (old -b is now -B)
    • Kinda hacky, but works for osx-x86/32/64
    • Export offset information of fat bins
  • add initial support for creating p9 binaries
  • Add initial support for plan9 binaries
    • supports x86, arm, ppc, sparc, mips
  • RBin suport new section_end flags

Filesystems

  • Autodetect filesystem when mounting
  • Fix signature of r_fs_name()

Bindings

  • Updated bindings
  • Fail build of bindings if somethings goes wrong
  • Depends on valabind 0.6.4 that fixes some bugs on Python
  • Added bindings for NodeJS
  • Add accessors for RAnalFcn.{refs,xrefs,vars,bbs}

Visual mode

  • Enhaced speed visual mode
    • Dot clear unless necessary (fix flickering)
    • Cursor is now hidden
  • Add 'T' menu at visual mode to show comments and anal info
  • Use x1, x2, x3... to seek between xrefs in visual mode
  • S= now fits in 80 columns
  • Fix P visual print rotation
  • Show flag+delta on title

Assembler/disassembler

  • Added assembly description API (ported from r1's rsc adict)
    • r_asm_describe(): Added api to get opcode descriptions using sdb
  • Add support for SPARCv9 (64bits)
    • Disassembler and Code analysis (binutils-2.21.1)
  • Use asm.size config variable to show size of opcodes
  • Add new assembler directives
    • .int8 (alias of .byte)
    • .int16 (alias of .short)
    • .int32 and .int64
  • Add -D flag to rasm2 (show hex and asm)

Debugger

  • Execution traces are now stored as a graph
  • Warn if file size != region size in dml
    • dmd and dml commands to dump/load debugger memory regions
    • Sd and Sl to dump/load debugger memory region from/to file
  • Initial implementation of r_debug_map_protect()
    • Bind to dmp command
    • Only w32 + osx, needs more work

New commands

  • Added dtc and dtg to draw execution call graphs
  • Add /z command to search for strings
  • Add /v2 /v4 /v8 and remove /q
  • added 'afi' to show info of functions
  • Add 'fl' command to get length of flag
  • Use ?d to get description of opcode (uses asm.arch)
  • Added 'pdi' command
    • Like 'pi', but showing offset and bytes
  • Added 'pda' new commands
    • Disassemble code byte-per byte
    • Disobey instruction length
  • afl is now less verbose
  • Make 'fd' accept arguments
  • Use "f name 1 off" instead of "f name @ off" in dr*
  • Added 'g' command to use r_egg api from RCore

API changes

  • Added r_core_file_reopen() // work in progress
  • Added r_flag_get_at () to handle deltas
  • New APIs in r_util
    • r_sys_run() for JIT execution
    • r_file_size()
    • r_cons_clear_line()
    • Add has_va in RBinInfo class for bindings
    • Added new api r_graph
  • Added R_MEM_ALIGN()
  • r_core_bin_info shows bin data from core
  • rabin2 now depends on RCore as long as r_bin_info()

rasc2 deprecated

  • rasc2 has been deprecated and reimplemented inside r_egg
    $ ragg2 -i x86.osx.binsh -b 64 -k osx -f mach064 -o a.out
  • Added ragg2 and ragg2-cc
    • Shellcode compiler for linux-x86-32/64 and OSX-32 based on ${CC}
    • XOR encoder
  • Padding data is now defined like a format string

New stuff:

  • rax2 now supports hexpair <-> binary conversions (-s, -S)
  • Added eval var descriptions (see e?? command)
  • Add graph.font=Courier eval var to configure dot graph output
  • Add support for byte patching in ragg2 (-d, -D, -w)

Search engine

  • remove search.asmstr and use /a and /c
  • Show progress info in search
  • Rename /a to /r
  • Fix search when io.va=true
    • Add search.in = file, section, raw

Changes:

  • Add support for continuations in rapatch2 '+' char
  • Add r2 -a arch -b bits
    • -b flag to specify blocksize is now -B
  • rasc2 has been deprecated. ragg2 is the replacement
  • Colorize trap instructions in bright red
  • Handle int3 on x86 as a trap instruction instead of SWI

Build framework

  • Magic files are distributed on Windows too
  • Simplified makefiles to use absolute paths
  • Add sys/static.sh
  • Add install-rev.sh script to build old versions of r2

Bug fixes:

  • 'oo' reopen command will
  • Update file size information when requested
  • Fix bug when redefining io sections
  • Fix warning in R_MEM_ALIGN() macro
  • Fix rabin2 -B baddr
  • Fix overflow in r_cons
  • Fix loading strings on a object file without io.va
  • Fix for .ko and .o elf parsing
  • Use UT64FMTx instead of %llx in various places (fix for w32)
  • Fix AT&T x86 disassembler
  • Fix negative blocksize and printidx issues in visual
  • Many ugly hacks to enhace w32 console
  • Various fixes in sys/
  • Added dist-bin.sh and python-bindist.sh
    • Fixes paths and pkgnames
  • Implement dtg (debug trace graph)
  • Fix RIO seek undo with io.va
radare2 - radare2 0.9.2

Published by radare over 10 years ago

After about 10 months of development I'm proud to announce a new release of radare2. It has been delayed many times and I'm not happy about that, but stability requires some time. I'm happy to see new contributors and users interested on the project.

This document describes a compacted list of all the changes done from the previous release (0.9) and this one (0.9.2).

As always, if you want to use the r2 api from python, nodejs or others you need to install the r2-bindings package which depends on valabind and swig.

Big news for this release are an official Android package maintained by Pau Oliva (pof) and an embedded http-1.0 webserver which provides a simple way to implement an user interface.

Lot of bugs has been fixed and new CPUs are supported while code analysis gets better and is focused on x86-16,32,64, arm and mips.

Enjoy!

--pancake

Commit Authors

git log 0.9..HEAD | grep Author| sort -u

Main Developer

pancake [email protected]

Contributors

  • Anton Kochkov - xvilka - build system
  • earada [email protected] - bug fixes
  • Eduard Burtescu - eddyb - nodejs bindings
  • Pau Oliva [email protected] - android installer and apk
  • Rodrigo Chiossi [email protected] - fix rasm2 -D infinite loop
  • Roi Martin (@nibble_ds) [email protected] - code analysis x86 and arm
  • Simon Ruderich - cfg.pager and random bugfixes
  • rudi_s - test write cache, improve seek/undo, fix segfault in r_cons
  • flux - add arm assembler patches to support barrel shift and fix bitwise ops
  • Anton Bolotinksy - use absolute path for libraries in OSX linker
  • vext01 - test suite and openbsd bug reporting
  • l0gic - reporting bugs
  • thuxnder - dalvik payload opcodes
  • nics - requested support for dumping huge files with 'wt'
  • w_levin patch fixing memory leaks
  • ac1d3 - fixes in the build system

License

LGPLv3

Numbers

More than 300 commits

Time range

Date: Mon Oct 1 17:48:10 2012 +0200
Date: Tue Dec 6 03:03:50 2011 +0100

Web Server

  • Added an embedded webserver that listens on 9090 port
    • r2 -c=H /bin/ls
  • Use http. env vars to configure
  • Implemented a basic web UI
  • Autodetect osx, win, linux and android browsers

Binaries

  • mach0
    • section perms are properly handled now
    • support mach0 files with multiple sections using the same name
    • Fix delta bug with fat mach-o
  • Find main symbol on new platforms
  • Fixed lot of bugs and vulnerabilities in the ELF parser
  • Fix string parsing in rabin2 -z and more random fixes
  • Add support for wide string dump in r_bin
  • RBinSize implemented for elf, mach0 and plan9
  • Dwarf info with null filenames are now supported
  • Initial implementation of r_bin_size (rabin2 -Z)
  • Initial support for Classes in RBin (java, dalvik, objc, c++..)
  • Add 'id' command to show debug info
  • Add r_bin/mz plugin (old EXE binaries)
  • Add support for Java debug line information
  • Fix parsing of ELF binaries generated by TCC

Debugger

  • Add 'dbs' command to swap/toggle breakpoints
  • r2 -b 32|64 selects sub-binary and debugger mode for osx and linux
  • Assume -w when running r2 with -d
  • dbt - backtrace accepts an argument to redefine ebp
  • Fix backtrace for osx-x86-32
  • regdiff colorizer fixes (dro works again)
  • Fix dcr (continue until ret)

Assembler/Disassembler

  • New CPUs supported:
    z80 : assembler + disassembler + basic code analysis
    m68k : disassembler + basic branch analysis
    dcpu16 : assembler + disassembler
    arc : disassembler and analysis of few branch instructions

Changes in current supported platforms

mips : rewritten code analysis and added pseudodisasm and debugger
arm : import and use arm.winedbg (arm and thumb) and disassembler
x86 : enhace x86olly disasm, add more instructions to the x86.nz assembler
dalvik : add android4.x new opcodes and payload ones. added pseudo disasm
avr : use standard disassembly syntax

  • Fix rasm2 infinite loop for -D option.
  • QNX/arm port (this is bb10 and playbook devices) (no debugger yet)
  • Implemented 'pdr' recursive disassembler
  • Add coprocessor move operators to arm.winedbg
  • Added iOS/arm register profile for the native debugger
  • Fixes in r_core_disassemble() Honor delta and r_asm_set_pc()
  • Show breakpoints in disassembly

Print commands

  • Compacted many commands like pw -> pxw
  • Added yx command to show yank buffer in hexadecimal
  • Fix pZ-pz help message and stuff
  • Add python print buffer (pcp)
  • Added 'pa' command to print assembled instructions
  • Add 'pz' (print ascii until zero) command
  • p6[de] Fix and use the base64 encoder/decoder
  • Add 'pif' command. as in 'pdf' one resizes the blocksize
  • Entropy bars with 'p='
  • Add pf c for signed bytes

Commands

  • Add ?ip to take input from ?I and select path to file
    • ?i stores the input into the yank buffer now
    • ?I accepts a file name as argument which is loaded as hud
    • ?k used as key=value temporal storage
  • Add support for temporary block contents (from file, string or data)
  • Renamed ?z to ?l
  • Added dummy 7bit<->8bit char encoding
  • Quoted strings can now be temporary seeked "x"@239
  • Fix quoted commands parser
  • Fix nested command repeaters
  • Better parser of commands, macros, pipes and quotes
  • Better error reporting when using unexisting flags or wrong syntax
  • r2 -q flag now quits after processing -c or -i
  • Add b+ and b- commands
  • Grep
    • Implement RCons grep ~foo? as an alias for ~?foo
  • pd|!grep eax~ebx now works

    • Add ^ and $ in cons grep expressions
    • Implement ~& attribute to match all words
    • Add ~?? to show help of grep
  • Implement support for >- (pipe to editor)
  • Allow to load multiple files with -i
  • Support for quoted strings and backspaced spaces in macro arguments
  • Added support for anonymous macros
  • Add support for !! command to use r_cons
  • Obey q! in scripts
  • Use (* to list macros

Search

  • e search.show = true # by default
  • Implemented support for visual search and search.in=block
  • Add visual search and enhace search output
  • Added support for binmask searches
    • /x 123456 ffc0e3
  • Add /x key:msk (':' separator)
  • Fix search counter
  • Add search.in=block
  • Add support for nibble-level search keywords

Visual mode

  • Added Visual diff mode (press 'D' in visual) (tab to swap columns)
    • Added 'cc' command to compare bytes with column hexdiff
    • Added diff.from and diff.to eval configuration variables
  • Chop RLine buffer when > console columns
  • Mark cursor in visual for pw and pq
  • Do not prompt or clear screen when using V in batch mode
  • New HUD input method for the visual mode ('_' key)
  • Toggle breakpoints with 'b' in visual
  • Visual keystrokes for dcu and dcr with cursor mode and sS
  • Refactor some visual keybindings
    • fF in visual is now nN
    • nN in visual has been deprecated. Use > and <
  • Rename Vw to Vi (write->insert)

IO

  • Handle zip:// and apk:// uri in r_io
  • Add 16bit x86 segment IO addressing mode XXXX:YYYY
  • Add support for local networking in RSocket
  • Added 'om' command to create, destroy and list IO maps
  • Fix invalid write in r_io_cache_read().
  • 'om' now works without size (file size)
  • Add r2 -m to specify the load map address
  • max blocksize is now configurable via io.maxblk
  • Fix bug in r_core_read when io.va and sections used
  • Fix o- segfault where r_io_desc_free called twice
  • Lot of fixes and regressions tests for the io api
  • Create file if not exist when -w is used
  • Fix bugs in r_io_maps and io.va
  • Fix 'ao N' command

Bindings

  • Requires valabind 0.7.2
  • Vala, Python and NodeJS are the official bindings
  • LUA, Perl, ... are also supported with valabind->swig
  • Updated all vapi bindings
  • Added nodejs bindings
  • Add r2irc.js example (nodejs r2 irc bot)
  • Fix segfault in xtr_fatmach0 on small files

New features

  • Added yesno dialog input method "?iy"
  • Initial support for dwarf and java debug information
    • id command will show debug information of loaded binary
  • Added new command ?y to get and set yank buffer contents to stdout
  • Add --with-rpath to fix build on linux with !/usr
  • Add support for multiple cons grep attributes
  • rax2 -f -> floating point support

Fixes

  • Fix ragg2 -d for one byte writes
  • Fix memleaks, nullref and undef (clang-analyzer)
  • Fix infinite loop in rasm2 -D

Updates

  • Update sdb to 0.5, sdb is now public api
  • use acr 0.9.1
  • valabind 0.7.2

Enhacements

  • r_num_math reimplemented with r_num_calc for proper parenthesis support
  • added support for floating point calculations in r_num
  • Handle ^Z in dietline
  • Drop interactive mode when '>' is used
  • r2 - is an alias for r2 malloc://512
  • Improve startup times by using r_file_mmap instead of malloc+read
  • rarun2 now supports connect/listen with r_socket
  • Added BLOCK and BYTES in r_core_sysenv_begin()
  • Fix parsing of commands with nested quotes
  • r2 -e now evaluates before and after loading file
  • ?p print error if VA is not
  • ?k (keyvalue) command is now more usable. supports ``..` strings

Removed

  • The gear bindings, they're obsolete.
  • armthumb moved to radare2-extras. Replaced by arm.winedbg.
  • Remove tests/ and use r2-regressions from vext01 github
  • ranal2 is not installed anymore

Code Analysis

  • Fix the ff25 x86-64 opcode analysis
  • Add file.analyze eval config variable from radare1
  • Fix analysis of 16 bit word opcodes on x86
  • Better support for 16bit x86 code analysis
  • Guess base arch anal.plugin when asm.arch is set
  • Resolve address of jmp [(rip+)0xoffset] and call [(rip+)0xoffset] in r_anal
  • Properly detect end of functions in visual
  • Traps and unknown jumps are now end-of-block opcodes
  • Show strings referenced by relative LEAs
  • Fix code analysis blocksize issue
  • afr and VtR to rename functions
  • Removing a function now deletes all sub-functions-locs
  • afl will list functions

Graphs

  • Add 'agv' command to view graphs with cmd.graph
  • Add demo graph view for www, add pad command remove a8
  • Added htmlgraph.sh as a cmd.graph html5 graph backend
  • Affected by scr.html (useful for www)

Behind the scenes

  • Add binr/blob to build r2 like busybox (used in android build)
    • Single binary with symlinks (main dispatcher)
  • Show git HEAD hash in r2 -v
  • Moved to GIT (from hg)
  • Lot of code cleanup, bugs fixes and speed ups
  • Added a regression test suite (vext01 repo)
  • Revised use of RList
  • Add r_str_unescape() helper function
  • Swap eval/cmd load order in r2
  • Add r_core_cmd_str_pipe()

Experimental

  • cparse support to load function and struct info from .h
    • uses the lemon parser, supports vala-like attributes
    • not yet integrated (./configure --enable-cparse)
    • Check and use flex in configure.acr
  • Initial parser dwarf implementation (incomplete)
  • Support for classes in rbin, not yet extended
radare2 - CODENAME "SANDYCREAM"

Published by XVilka almost 11 years ago

http://www.radare.org/

date: 2013-11-11

r2 screenshot

In numbers!

  • 1 man
  • 8 months
  • 18 contributors
  • 215 tests
  • 603 commits
  • 33272 more lines of code

Looks better!

  • r2 now supports UTF-8, RGB and TrueColor ansi codes
  • Color palettes and themes
  • Use ^x^e to edit the current prompt line using $EDITOR
  • Configuration files follow XDG Freedesktop paths
  • Tweaked disasm to make it more readable

See e??scr. for more information about the screen options.

More platforms!

  • ARM aarch64
  • TI c55x+
  • 8051
  • Javascript (emscripten)
  • ARCcompact

Several enhacements to ARM, ARC, X86, Dalvik, Java (including v7) and Brainfuck assembler/disassemblers. Also, the embedded udis86/GNU based disassemblers have been updated from git.

You can now compile r2 for Haiku and Emscripten!

Binaries

ASLR is now supported by using the -B flag which specifies the hardcoded base address when loading a PIE binary.

  • MACH0 XNU kernels are now properly loaded
  • Added support for TE binaries
  • Identify some PC BIOS and UEFI ROMs
  • Java Class file parser has been rewritten to support Java7
  • Reloc information is now fully parsed and import addresses are stored in symbol listing to keep coherence.

Import PLT addresses are no longer listed with rabin2 -i. For consistence: imports are ordinals and PLT entries are listed as symbols.

Define structs and enums using plain C

A reduced fork of libtcc is now included to parse C include files. At the moment only structs and enums are handled, but it is planned to support function signatures and conditional struct definitions in the future. Nested structures are supported.

[0x8048000]> "td struct Foo { int a; int b; }"

See 't?' for more help. But in short, you will be able to load .h files into sdb databases to define metadata for the disassembler.

Bindings

Following the release of Valabind 0.7.4, we are now able to provide the following changelog:

  • Python ctypes support
  • Test and install Java JNI bindings
  • Untested D language bindings

I have added more scripting examples like a simple debugger.

UNIX shell right there

Commands like 'clear', 'ls', 'cat', cd', 'pwd' are now supported. No need to escape to the shell with '!' for them. Bear in mind that cfg.sandbox can be enabled to restrict access to filesystem, execution or sockets.

Those commands can be piped to system programs using the '|' like in a posix shell. The command line prompt is now better by supporting utf8 and handled new keybindings.

If in visual mode you place the cursor on top of a 'call' instruction that refers to an import and press '?' key you will read the associated manpage. Like 'K' key in vim.

Debugger

You don't need to specify the path to the debugged program any more. It walks the $PATH or takes ./ if found. This is a way to make windows and unix process launching consistent.

You can run the visual debugger by using the following flags:

$ r2 -cVpp -d ls

Signals can now be captured, and passed to the target process.

Now you can properly debug 32bit binaries on Linux x86-64.

SDB Everywhere

SDB is a simple key-value database that supports on-disk hashtable, arrays, json, CAS and easy string serialization for data structures.

From now on we are going to use SDB more and more inside r2 in order to speed up queries, simplify code maintainance and unify data as text with easy serialization methods.

This is the first release that comes with sdb.

Web UI

An embedded webserver have been included, and you can invoke it using the =h' or '=H' commands. To make it public just-e http.public=true`.

$ r2 -c=H /bin/ls

Improved JSON output for many commands. Just append 'j' to the command and it will use that format. From bindings you can call r_core_cmd_str() to retrieve the resulting string and parse it.

AJAX.get ("/cmd/isj", function (data) {
   var symbols = JSON.parse (data);
   ...
}

The r2agent is a new program that acts as a remote web interface for launching r2 sessions and interact with them using the webui.

Test everything!

This is the first release of r2 that makes an extensive use of the test suite in order to ensure no regressions appear while developing new features or fixing bugs. This is an important point from now on, so we will be able to cover r2 features, supported instruction set, etc. as much as possible.

We encourage all users to write test cases for every bug they report. Type 'make tests' to retrieve the testsuite from git, but this is only suposed to be used when developing. Stable versions are only for packagers. If you want to report a bug, first test it against the code in git.

The build farm runs the whole testsuite after every commit on the r2 or r2-regressions repos, this allows us to identify when and how every check was broken.

Thanks to a0rtega for his fuzzed binaries.

Annotated hexdumps

A new command 'pxa' have been added in order to provide support for annotated hexdumps.

Those hexdumps allows visual interaction and permits you to select range of bytes using the cursor mode, colorizing zones, adding comments, defining structs, etc.

This is still under development and we are open to new ideas and proposals to enhace this new interactive print mode.

More stable

Lot of bugs has been fixed, overflows, memory leaks, and many handcrafted binaries can now be loaded without the butthurt of segfaults, crashes or lack of info.

The farm allows us to get automatic builds for several platforms on every commit. And identify development issues earlier.

New contributors

I'm pretty impressed by the raise of interest on contributing to radare2 lately, This release would not be possible without the help of the following people:

  • a0rtega
  • capi_x
  • chous
  • cosarara
  • dx
  • earada
  • eddyb
  • jvoisin
  • jjdredd
  • Sirmy
  • xtraeme
  • xvilka

Author

  • pancake

Package Rankings
Top 28.19% on Pypi.org
Badges
Extracted from project README
Latest packaged version Tests Status build tcc CII Best Practices Build Status Discord Snap package Termux package Alpine Linux Edge package Alpine Linux 3.19 package Alpine Linux 3.18 package Arch package AUR package EPEL 7 package EPEL 8 package EPEL 9 package Fedora Dev Fedora 40 Fedora 39 FreeBSD port OpenBSD port pkgsrc current package Homebrew package MacPorts package Haiku Ports Void Linux Ubuntu 24.04 package Ubuntu 23.04 package Ubuntu 20.04 package Ubuntu 18.04 package Debian Unstable package Debian 12 package Kali Linux Rolling package