发明名称 Discovering code and data in a binary executable program
摘要 A computer software tool used for automatically identifying code portions and data portions of a binary executable software program in which the code portions include machine instructions that are of arbitrary length. Software products are typically distributed as binary, executable files, which comprise a string of binary values. In general, an executable file has no structure or meaning, except as determined by its behavior when dynamically executed, one instruction at a time, by a digital computer. The software tool determines a set of addresses for any known code and data portions. The tool is then used to disassemble machine instructions, beginning at a starting address for each known code portion, to identify the target addresses of other code portions and other data portions. Other sections of the binary executable software program that could be either code or data are then analyzed to identify additionAL code and data portions. As new portions are identified, the steps are repeated, until no further code or data portions are identifiable. The binary executable software program may include a plurality of executable modules. The entry addresses for each executable module and any addresses for code portions and data portions referenced and identified by any debug address, any export address, and any relocation address is added to the set of addresses. The binary executable software program is then executed to dynamically identify other executable modules so that the set of addresses can be further extended.
申请公布号 US6014513(A) 申请公布日期 2000.01.11
申请号 US19970996839 申请日期 1997.12.23
申请人 UNIVERSITY OF WASHINGTON 发明人 VOELKER, GEOFFREY MICHAEL;ROMER, THEODORE H.;WOLMAN, ALASTAIR;LEE, DENNIS CHUA;BERSHAD, BRIAN N.;CHEN, JOHN BRADLEY;LEVY, HENRY M.;WONG, WAYNE ANTHONY
分类号 G06F9/44;(IPC1-7):G06F9/445 主分类号 G06F9/44
代理机构 代理人
主权项
地址