Skip to main content

At the Bottom of Binary Analysis: Instructions

  • Conference paper
  • First Online:
Foundations and Practice of Security (FPS 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13291))

Included in the following conference series:

Abstract

We present here a careful exploration of the set of instructions for the x86 processor architecture. This is a preliminary step towards a systematic comparison of SMT-based retro-engineering tools. The latter arose in the context of binary code retro-engineering. All these tools rely themselves on more elementary disassembly tool. In this contribution, we attack the problem at its most atomic level: the instructions. We prepare, trading off between the size of the list and the correctness of the future comparison, a good list of instructions.

G. Bonfante—Experiments have been conducted at LHS - LORIA.

A. Talon—Supported by DGA - Direction Générale de l’Armement.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://hex-rays.com/IDA-pro/.

  2. 2.

    https://ghidra-sre.org.

  3. 3.

    http://www.capstone-engine.org.

  4. 4.

    https://zydis.re.

  5. 5.

    https://intelxed.github.io.

  6. 6.

    More technical details can be found in http://ref.x86asm.net/coder32.html.

References

  1. Intel 64 and IA-32 Architectures Software Developer Manuals. https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html

  2. Girol, G., Farinier, B., Bardin, S.: Not all bugs are created equal, but robust reachability can tell the difference. In: Silva, A., Leino, K.R.M. (eds.) CAV 2021, Part I. LNCS, vol. 12759, pp. 669–693. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-81685-8_32

    Chapter  Google Scholar 

  3. Mahoney, W., McDonald, J.T.: Enumerating x86-64 - it’s not as easy as counting. https://www.unomaha.edu/college-of-information-science-and-technology/research-labs/_files/enumerating-x86-64-instructions.pdf

  4. Salwan, J., Bardin, S., Potet, M.-L.: Symbolic deobfuscation: from virtualized code back to the original. In: Giuffrida, C., Bardin, S., Blanc, G. (eds.) DIMVA 2018. LNCS, vol. 10885, pp. 372–392. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93411-2_17

    Chapter  Google Scholar 

  5. Saudel, F., Salwan, J.: Triton: a dynamic symbolic execution framework. In: Symposium sur la sécurité des technologies de l’information et des Communications, pp. 31–54 (2015)

    Google Scholar 

  6. Shoshitaishvili, Y., et al.: SoK: (State of) the art of war: offensive techniques in binary analysis. In: IEEE Symposium on Security and Privacy (2016)

    Google Scholar 

  7. Souchet, A., Girault, É.: Taming a wild nanomite-protected MIPS binary with symbolic execution: No such crackme. https://doar-e.github.io/blog/2014/10/11/taiming-a-wild-nanomite-protected-mips-binary-with-symbolic-execution-no-such-crackme

  8. Springer, J., Chang Feng, W.: Teaching with angr: a symbolic execution curriculum and CTF. In: USENIX Workshop ASE 2018 (2018)

    Google Scholar 

Download references

Acknowledgments

We thank Fabrice Sabatier who gave us some examples of “nasty” instructions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexandre Talon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bonfante, G., Talon, A. (2022). At the Bottom of Binary Analysis: Instructions. In: Aïmeur, E., Laurent, M., Yaich, R., Dupont, B., Garcia-Alfaro, J. (eds) Foundations and Practice of Security. FPS 2021. Lecture Notes in Computer Science, vol 13291. Springer, Cham. https://doi.org/10.1007/978-3-031-08147-7_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-08147-7_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-08146-0

  • Online ISBN: 978-3-031-08147-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics