SecureBrain / ruby_apk

analyzing android apk library for ruby
MIT License
83 stars 52 forks source link

boolean attribute is wrong in manifest. #7

Closed masatanish closed 11 years ago

masatanish commented 11 years ago

parsing boolean attribute is wrong in AXMLParser#convert_value

        when VAL_TYPE_INT_BOOLEAN
          value = val != 0xFFFFFFFE ? true : false # ugh! is it ok??

According to below descriptions, true is reporesented by 1 or 0xFFFFFFFF.

        // The 'data' is either 0 or 1, for input "false" or "true" respectively.
        TYPE_INT_BOOLEAN = 0x12,

The entry values both have a value type of TYPE_BOOLEAN as you would expect, but true is represented by the value 0xFFFFFFFF rather than 1 as specified by the comment here.

http://justanapplication.wordpress.com/2011/09/20/android-internals-resources-part-nine-simple-resource-entry-examples/ http://justanapplication.wordpress.com/2011/09/19/android-internals-resources-part-eight-resource-entries-and-values/#struct_Res_value_type_enum