TODO: LIEF-project
ΠΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΠΏΠ°ΡΡΠΈΠ½Π³Ρ Π±ΠΈΠ½Π°ΡΠ΅ΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ DEX, APK, ODEX, OAT, ...
ΠΠΈΠ½ΡΡΡ: Π½Π΅ Π΄ΠΎΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Ρ, Π½Π΅ ΡΡΡΠΎΠΈΡ xrefs
ΠΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ
ΠΡΠΈΠΌΠ΅Ρ:
from pathlib import Path
import lief
# ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ DEX Π² LIEF
lief_dex_file = lief.DEX.parse('classes2.dex')
lief_odex_file = lief.OAT.parse('base.odex')
CLASS_NAME = 'Lcom/example/SomeClass$SomeOtherClass;'
if lief_dex_file.has_class(CLASS_NAME):
lief_dex_class = lief_dex_file.get_class(CLASS_NAME)
if lief_dex_class.parent.pretty_name == 'com.google.protobuf.GeneratedMessageLite':
for method in lief_dex_class.methods:
print(method)
Last updated
Was this helpful?