我对使用顶点分解器库很感兴趣。
https://github.com/aquynh/capstone
使用此功能的动机是我需要能够在程序运行时在运行时反汇编功能。
我已经能够成功地将其集成到我的c ++项目中。但是,我一直无法弄清楚如何反汇编整个函数。我浏览了以下链接中的所有示例。
https://github.com/aquynh/capstone/tree/master/tests
所有示例都要花一些任意的时间才能分解。我不知道我想先拆卸的功能大小。我所知道的只是符号名称(例如“ mkdir”)。如果有人可以提供指向某些示例的链接,这些示例可以满足我的需求,那么将不胜感激。
万一重要,我想拆卸的体系结构是x86,x86_64,arm和arm64。
答案 0 :(得分:2)
我认为,在可执行文件的任何位置都没有存储“函数长度”之类的东西。我建议先拆成小块,直到遇到某种终止符指令(如“ ret”)。