obfusk/reproducible-apk-tools

binres.py

Opened this issue · 0 comments

  • basic functionality
  • fix show/json/xml
  • find out how to use/display Style/Span
  • get_manifest_info(): idver + uses-sdk + features + perms (+ abis)
  • handle versionName being a REFERENCE
  • FLAG_PUBLIC, FLAG_WEAK
  • FLAG_SPARSE
  • <application> -> label
  • use XMLResourceMapChunk to for e.g. XMLAttrs to resource IDs
  • overlay packages?
  • handle <android:uses-permission>?
  • add anim/ / (file) / type=PNG stuff
  • fully implement & test LibraryChunk
  • incomplete BinResCfg
  • fix FIXMEs (payload size checks, weakrefs)
  • permissions protection level?
  • format updates?

minSdkVersion/targetSdkVersion being a code name instead of a version

  • It seems Android doesn't actually turn a pre-release SDK minSdkVersion or targetSdkVersion like "Q" into an int (29), merely checking if it matches the current non-release platform and returning 10000 (CUR_DEVELOPMENT) if so.
  • apksigner returns one less than the expected API level for minSdkVersion (e.g. N = 23) and doesn't handle non-int targetSdkVersion at all (it errors out and uses minSdkVersion).
  • apksigner has a bug trying to parse the string value as an int value (which only changes the error but is still incorrect).
  • aapt seems to just return "Q" without trying to turn it into an int.
  • what do other tools do?