Research Article
Determining the Image Base of ARM Firmware by Matching Function Addresses
| Input: Set of binary function offsets in firmware | | Set of addresses loaded by LDR instructions | | Size of the binary file fileSize | | Output: Descending order of elements and the number of occurrences | | function DBMFA(O, A, fileSize) | | Initialize each element in matrix M to -1 | | max ⟵0xFFFFFFFF - fileSize | | for all ajAdo | | for all oiOdo | | if 0 < aj - oi && aj - oi < max | | M[j, i] ⟵ aj - oi | | end if | | end for | | end for | | Count the number of occurrences of each element in matrix M | | Sort the number of occurrences in descending order | | Delete the initial value -1 and the number of occurrences in the sort result | | Output: Descending order of elements and the number of occurrences | | end function |
|