Skip to content

[core] Unproper decoding of various attributes in resource files #1675

@JohnFarl

Description

@JohnFarl

In the decompiled xml files are present attributes that aren't decoded correctly mismatching the types

Some attributes are decoded like strings without proper references reconstruction, leading to errors like * is incompatible with attribute type (attr) integer because it is expected a reference to an integer rather than a string.

E.g.

  • x8_progress_load.xml (line 5)

JADX 1.4.4
<gradient android:startColor="#00ffffff" android:endColor="#ffffff" android:useLevel="false" android:type="sweep" android:centerY="0.5"/>

I get sweep is incompatible with attribute type (attr) integer

JEB in the same line leaves directly an integer
<gradient android:startColor="#00ffffff" android:endColor="#ffffff" android:useLevel="false" android:type="2" android:centerY="0.5"/>

Another analogous result comparison where tis time the error is "radial" is incompatible with attribute type (attr) integer

  • x8_map_marker_with_pio_view.xml (line 2)

JADX 1.4.4
<com.fimi.app.x8s.widget.X8MapPointMarkerViewGroup xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/myview" android:layout_width="wrap_content" android:layout_height="wrap_content" app:type="radial" app:margin2="1dp" app:margin3="1dp">

JEB
<com.fimi.app.x8s.widget.X8MapPointMarkerViewGroup xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@id/myview" android:layout_width="-2" android:layout_height="-2" com.fimi.android.app:type="1" com.fimi.android.app:margin2="1.0dp" com.fimi.android.app:margin3="1.0dp">

The result of JEB is not the best solution and also not desirable to understand the code semantic but it respects the correct type.

In the same apk are encountered my error of this kind with types as

sweep              
radial
surfaceView
textureView

The apk I have tried is link that despite isn't obduscated is giving various throubles to correct recontruction by JADX decompiler.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreIssues in jadx-core modulebug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions