Radare2 — Cross-References, Static Analysis, and Binary Information Retrieval (Part 2–3)

Kamalesh D
3 min readDec 23, 2023

Navigating the Depths of Binary Analysis: Advanced Techniques and Insightful Information Extraction

radare2
Static analysis & Binary Information

Cross Reference Insights

Discover the power of axt and axf commands for comprehensive cross-reference analysis. Uncover the relationships within the binary and understand its structure with these advanced tools.

Static Analysis Unveiled

Import and Export Libraries

Use ii to reveal import libraries and iE for exports. Unravel the binary's dependencies and interactions by deciphering its import and export components.

Strings Analysis

Unearth hidden insights with the is command, revealing strings embedded within the binary. This crucial step unveils textual elements that provide valuable context and clues about the binary's functionality.

Getting In-Depth Binary Information

Rabin2: Your Binary Information Swiss Army Knife

Leverage the power of rabin2 to obtain detailed information about the binary. From basic details to hexadecimal representations, rabin2 provides a wealth of insights.

  • To get basic binary information:
rabin2 -I ./letter_frequencies
  • Hexadecimal view of the binary:
rabin2 -H ./letter_frequencies
  • Extracting strings with the zz tag:
rabin2 -zz ./letter_frequencies

Rafind2: Advanced String Search

Move beyond simple string searches with rafind2. This advanced tool allows for intricate string analysis within binary files, providing a more nuanced approach to information retrieval.

rafind2 -s frequencies ./letter_frequencies

Loading Headers

Learn to navigate binary headers with ease using commands like r2 -nn ./letter_frequencies, pf., and pf.elf_header @ elf_header. Understand the binary's structure and gain a deeper appreciation for its complexity.

Conclusion:

In conclusion, our exploration of Radare2’s capabilities in binary analysis has unveiled a powerful set of tools for cross-referencing, static analysis, and binary information retrieval. Through commands like axt, ii, and iE, we’ve navigated the intricacies of cross-references, dissected import and export libraries, and revealed critical strings within the binary.

Leveraging rabin2 and rafind2 has provided us with comprehensive insights into the binary’s structure, offering detailed information and advanced string search capabilities. As we conclude this segment, the journey continues with an anticipation of further revelations in dynamic analysis and more advanced techniques in the upcoming parts of this series.

Stay tuned for a deeper dive into the fascinating world of binary analysis with Radare2!

--

--