建立 MAG160C 逆向工程交接仓库
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import os
|
||||
import unittest
|
||||
|
||||
|
||||
class ElfAarch64Tests(unittest.TestCase):
|
||||
def test_can_find_exported_mag_symbol(self):
|
||||
import elf_aarch64
|
||||
|
||||
so_path = os.path.join(
|
||||
os.getcwd(),
|
||||
"IR_Camera_SDK-1.0.1",
|
||||
"android",
|
||||
"android",
|
||||
"lib",
|
||||
"arm64-v8a",
|
||||
"libcoresdk.so",
|
||||
)
|
||||
analyzer = elf_aarch64.ElfAnalyzer(so_path)
|
||||
sym = analyzer.find_symbol("MAG_LinkCamera")
|
||||
self.assertIsNotNone(sym)
|
||||
self.assertGreater(sym.size, 0)
|
||||
self.assertGreater(sym.addr, 0)
|
||||
|
||||
def test_disassembles_aarch64_function_and_resolves_calls(self):
|
||||
import elf_aarch64
|
||||
|
||||
so_path = os.path.join(
|
||||
os.getcwd(),
|
||||
"IR_Camera_SDK-1.0.1",
|
||||
"android",
|
||||
"android",
|
||||
"lib",
|
||||
"arm64-v8a",
|
||||
"libcoresdk.so",
|
||||
)
|
||||
analyzer = elf_aarch64.ElfAnalyzer(so_path)
|
||||
lines = analyzer.disassemble_symbol("MAG_LinkCamera")
|
||||
self.assertTrue(any("MAG_LinkCamera" in line for line in lines[:2]))
|
||||
self.assertTrue(any("\tbl" in line or "\tblr" in line for line in lines))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user