shogo82148 / androidbinary

Android binary file parser written in golang
MIT License
240 stars 79 forks source link

support axml icon parse #86

Open Snowlights opened 7 months ago

Snowlights commented 7 months ago

some apk's icon are axml, not a png or image file, could you help to build the svg file or png file

here are two apks, the icon are formed by axml, here is a.apk axml file content(a.zip/res/9TA.xml)

<?xml version="1.0" encoding="UTF-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@0x7F080623"></background>
    <foreground android:drawable="@0x7F080624"></foreground>
</adaptive-icon>

@0x7F080623 and @0x7F080624 are also axml file and here is the content, but i can not find @0x43D80000 or other resource from the resources.arsc

@0x7F080623

<?xml version="1.0" encoding="UTF-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="@0x0000C801"
    android:width="@0x0000C801" android:viewportWidth="@0x43D80000"
    android:viewportHeight="@0x43D80000">
    <path android:fillColor="@0x7F0602C3" android:pathData="M0,0h432v432h-432z"></path>
</vector>
@0x7F080624

<?xml version="1.0" encoding="UTF-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="@0x0000C801"
    android:width="@0x0000C801" android:viewportWidth="@0x43D80000"
    android:viewportHeight="@0x43D80000">
    <path android:fillColor="@0xFF000000"
        android:pathData="M122.6,190.6c-0.5,0 -1,-0.1 -1.4,-0.4c-0.3,-0.4 -0.5,-0.9 -0.4,-1.5v-49.4c-0.1,-0.5 0.1,-1 0.4,-1.4c0.4,-0.3 0.9,-0.5 1.4,-0.4h5.4c1,-0.1 1.9,0.6 2.1,1.6l0.5,1.9c1.6,-1.5 3.4,-2.7 5.4,-3.4c2,-0.8 4.2,-1.3 6.4,-1.3c4.4,-0.2 8.7,1.8 11.3,5.3c2.8,3.5 4.2,8.3 4.2,14.2c0.1,3.7 -0.6,7.4 -2.1,10.7c-1.2,2.8 -3.2,5.3 -5.7,7.1c-2.4,1.7 -5.3,2.5 -8.2,2.5c-2,0 -4,-0.3 -5.8,-1c-1.7,-0.6 -3.3,-1.5 -4.7,-2.7v16.2c0.1,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.4,0.4L122.6,190.6zM138.9,168c2.8,0 4.8,-0.9 6.1,-2.8c1.3,-1.9 2,-4.9 2,-8.8c0,-4 -0.6,-7.1 -1.9,-8.9s-3.4,-2.8 -6.2,-2.8c-2.6,0 -5.1,0.7 -7.3,2v19.5C133.8,167.3 136.3,168 138.9,168L138.9,168z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M166.8,175.4c-0.9,0.2 -1.7,-0.4 -1.9,-1.3c0,-0.2 0,-0.4 0,-0.6v-34.2c-0.1,-0.5 0.1,-1.1 0.4,-1.5c0.4,-0.3 0.9,-0.5 1.4,-0.4h5.4c1,-0.1 1.9,0.6 2.1,1.6l1,4c1.6,-1.9 3.5,-3.4 5.6,-4.6c1.7,-0.9 3.7,-1.4 5.6,-1.4h1c0.5,-0.1 1.1,0.1 1.5,0.4c0.3,0.4 0.5,0.9 0.4,1.4v6.3c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.4,0.4c-0.4,0 -0.8,0 -1.4,-0.1c-0.6,-0.1 -1.2,-0.1 -2.1,-0.1c-1.4,0 -2.8,0.2 -4.2,0.5c-1.4,0.3 -2.8,0.7 -4.2,1.2v24.9c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.5,0.4L166.8,175.4z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M199.6,131.6c-1.7,0.1 -3.3,-0.5 -4.6,-1.6c-2.3,-2.4 -2.3,-6.1 0,-8.5c2.7,-2.1 6.4,-2.1 9,0c2.3,2.4 2.3,6.1 0,8.5C202.9,131.1 201.2,131.7 199.6,131.6zM196,175.4c-0.5,0 -1,-0.1 -1.4,-0.4c-0.3,-0.4 -0.5,-0.9 -0.4,-1.4v-34.2c-0.1,-0.5 0.1,-1.1 0.4,-1.5c0.4,-0.3 0.9,-0.5 1.4,-0.4h7.2c0.8,-0.2 1.7,0.3 1.9,1.2c0.1,0.2 0.1,0.5 0,0.7v34.2c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.4,0.4H196z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M215.8,175.4c-0.9,0.1 -1.7,-0.5 -1.9,-1.3c0,-0.2 0,-0.4 0,-0.5v-34.2c-0.1,-0.5 0.1,-1.1 0.4,-1.5c0.4,-0.3 0.9,-0.4 1.4,-0.4h5.4c1,-0.1 1.9,0.6 2.1,1.6l0.6,2c2.2,-1.5 4.6,-2.7 7.1,-3.7c2.1,-0.7 4.3,-1.1 6.5,-1.1c4.5,0 7.6,1.6 9.4,4.8c2.2,-1.5 4.6,-2.8 7.2,-3.6c2.2,-0.7 4.6,-1.1 6.9,-1.1c3.5,0 6.2,1 8.1,2.9s2.9,4.6 2.9,8.1v26.2c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.5,0.4h-7.1c-0.9,0.2 -1.7,-0.4 -1.9,-1.3c0,-0.2 0,-0.4 0,-0.5v-23.8c0,-3.4 -1.5,-5.1 -4.5,-5.1c-2.8,0 -5.6,0.7 -8.1,1.9v26.9c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.5,0.4h-7.1c-0.9,0.1 -1.7,-0.4 -1.9,-1.3c0,-0.2 0,-0.4 0,-0.5v-23.8c0,-3.4 -1.5,-5.1 -4.5,-5.1c-2.9,0 -5.7,0.7 -8.2,2v26.8c0,0.5 -0.1,1 -0.4,1.4c-0.4,0.3 -0.9,0.5 -1.5,0.4L215.8,175.4z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M297.2,176.7c-6.1,0 -10.6,-1.4 -14.3,-5.2c-2.4,-2.5 -4.7,-7.1 -4.7,-14.9c0,-6.4 2,-11.1 5.3,-14.6c3.3,-3.5 8.3,-5.2 12.9,-5.2c5.9,0 9.3,1.4 12,4c2,2.1 3.1,4.8 3.1,7.7c0.1,1.8 -0.2,3.7 -1,5.4c-0.5,1 -1.2,2 -2.1,2.7c-4.4,4 -12.9,3.8 -15.8,3.6l-4.7,-0.7c0.3,3.3 1.2,5.8 3.2,7.3c2,1.5 4,2 8.2,2c2.9,-0.1 5.8,-0.6 8.6,-1.4c0.2,-0.1 0.5,-0.1 0.7,-0.2c0.2,0 0.5,0 0.7,0c0.4,0.1 0.9,0.5 0.9,1.6v3.4c0.1,0.6 -0.1,1.2 -0.3,1.7c-0.3,0.4 -0.8,0.7 -1.3,0.9C304.8,176 301,176.7 297.2,176.7zM301.8,148.9c0,-3.6 -2.6,-4.7 -5.7,-4.7c-2,-0.1 -4,0.7 -5.5,2.2c-1.5,1.9 -2.4,4.1 -2.5,6.5c3.2,0.6 6.4,0.7 9.5,0.4C299.8,152.9 301.8,151.8 301.8,148.9L301.8,148.9z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M251.2,252.8c-6.4,0 -11.2,-1.5 -15.1,-5.5c-2.6,-2.6 -5,-7.5 -5,-15.7c0,-6.7 2.1,-11.8 5.6,-15.5c3.5,-3.7 8.7,-5.5 13.7,-5.5c6.2,0 9.9,1.4 12.7,4.3c2.1,2.2 3.3,5.1 3.3,8.1c0.1,2 -0.2,3.9 -1.1,5.7c-0.5,1.1 -1.3,2.1 -2.2,2.9c-4.6,4.2 -13.7,4 -16.7,3.8l-5,-0.8c0.3,3.4 1.3,6.2 3.4,7.7c2.1,1.5 4.2,2.1 8.6,2.1c3,-0.1 6.1,-0.6 8.9,-1.4l0.8,-0.2c0.2,0 0.5,0 0.7,0c0.4,0.1 0.9,0.5 0.9,1.7v3.6c0.1,0.6 -0.1,1.2 -0.3,1.8c-0.4,0.4 -0.8,0.8 -1.4,0.9C259.2,252 255.2,252.8 251.2,252.8zM256,223.5c0,-3.8 -2.7,-4.9 -6,-4.9c-2.2,-0.1 -4.3,0.8 -5.8,2.4c-1.6,2 -2.5,4.4 -2.7,6.9c0,0 5.9,1.1 10.1,0.4C253.9,227.8 256,226.5 256,223.5L256,223.5z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M137.3,251.4c-0.4,0 -0.9,-0.1 -1.3,-0.2c-0.3,-0.1 -0.6,-0.4 -0.9,-0.6c-0.3,-0.4 -0.5,-0.8 -0.7,-1.2l-13.3,-34.9c-0.2,-0.4 -0.3,-0.8 -0.4,-1.1c-0.1,-0.3 -0.2,-0.6 -0.2,-0.9c0,-0.8 0.5,-1.2 1.6,-1.2h7.9c0.7,0 1.3,0.1 1.9,0.5c0.5,0.4 0.8,1 0.9,1.6l8.1,27.7l8.3,-27.7c0.1,-0.6 0.4,-1.2 0.9,-1.6c0.6,-0.4 1.2,-0.5 1.9,-0.5h7.7c1.1,0 1.6,0.4 1.6,1.2c0,0.3 -0.1,0.6 -0.2,0.9s-0.2,0.7 -0.4,1.1L147,249.3c-0.2,0.4 -0.4,0.8 -0.7,1.2c-0.2,0.3 -0.5,0.5 -0.8,0.6c-0.4,0.2 -0.9,0.2 -1.3,0.2L137.3,251.4z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M171.5,205.3c-1.8,0.1 -3.5,-0.5 -4.8,-1.7c-2.4,-2.5 -2.4,-6.5 0,-8.9c2.8,-2.2 6.8,-2.2 9.5,0c2.4,2.5 2.4,6.5 0,8.9C174.9,204.7 173.2,205.3 171.5,205.3zM167.6,251.4c-0.9,0.2 -1.8,-0.4 -2,-1.3c0,-0.2 0,-0.4 0,-0.7v-36.1c-0.1,-0.6 0.1,-1.1 0.5,-1.5c0.4,-0.3 1,-0.5 1.5,-0.4h7.7c0.9,-0.2 1.8,0.3 2,1.2c0.1,0.3 0.1,0.6 0,0.8v36.1c0,0.5 -0.1,1.1 -0.4,1.5c-0.4,0.4 -1,0.5 -1.5,0.5L167.6,251.4z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M201.1,252.3c-3.2,0.1 -6.3,-0.9 -8.8,-2.6c-2.6,-1.8 -4.6,-4.4 -5.8,-7.3c-1.4,-3.4 -2.1,-7.1 -2,-10.7c0,-6.5 1.6,-11.6 4.7,-15.5c2.9,-3.8 7.5,-6 12.2,-5.9c3.9,-0.1 7.7,1.2 10.6,3.6v-18.3c-0.1,-0.6 0.1,-1.1 0.5,-1.5c0.4,-0.3 1,-0.5 1.5,-0.4h7.6c0.5,-0.1 1.1,0.1 1.5,0.4c0.3,0.4 0.5,1 0.4,1.5l-0.1,54.1c0,0.5 -0.1,1.1 -0.4,1.5c-0.4,0.4 -1,0.5 -1.5,0.5h-6.3c-0.5,0 -1,-0.1 -1.5,-0.4c-0.4,-0.4 -0.7,-0.8 -0.8,-1.3l-0.5,-1.8C209.5,250.8 205.4,252.4 201.1,252.3zM204.9,243.8c2.6,0 5.1,-0.8 7.2,-2.2v-20.7c-2.4,-1.4 -5.1,-2 -7.8,-2c-2.5,-0.2 -4.9,1 -6.2,3.1c-1.4,2.1 -2.1,5.2 -2.1,9.3s0.7,7.3 2.2,9.3C199.7,242.8 201.9,243.8 204.9,243.8L204.9,243.8z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M291.6,252.7c-6.2,0 -11,-1.9 -14.5,-5.6c-3.5,-3.8 -5.3,-8.9 -5.3,-15.6c0,-6.7 1.8,-11.8 5.3,-15.5c3.5,-3.8 8.4,-5.6 14.6,-5.6c6.3,0 11,1.9 14.5,5.6c3.5,3.7 5.3,8.9 5.3,15.5c0,6.7 -1.8,11.9 -5.3,15.6C302.7,250.8 297.9,252.7 291.6,252.7zM291.6,244c5.5,0 8.3,-4.2 8.3,-12.4s-2.7,-12.4 -8.3,-12.4c-5.5,0 -8.3,4.1 -8.3,12.3C283.4,239.8 286.1,243.9 291.6,244L291.6,244z"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M292.8,289.9c-21.1,14.9 -51.5,22.6 -77.5,22.1c-34.8,-0.5 -68,-14 -93.4,-37.8c-1.9,-1.8 -0.1,-4.2 2.2,-2.8c26.4,16.1 59.5,26.2 93.7,26.8c24.7,0.4 49.2,-4.2 72.1,-13.3C293.5,283.5 296.3,287.4 292.8,289.9z"
        android:fillType="1"></path>
    <path android:fillColor="@0xFF000000"
        android:pathData="M301.7,280.2c-2.6,-3.5 -17.6,-2 -24.4,-1.3c-2,0.2 -2.3,-1.6 -0.5,-2.9c12.1,-8.2 31.6,-5.4 33.8,-2.5c2.2,2.9 -1,22.4 -12.4,31.5c-1.8,1.4 -3.4,0.6 -2.6,-1.3C298.4,297.6 304.3,283.6 301.7,280.2z"
        android:fillType="1"></path>
</vector>
Snowlights commented 7 months ago

b.zip this is b.apk file

a.apk is too large