hello,
now i'm trying to pack my ARM so library with the lastest UPX (3.92, I have compiled with sources)
but it displays an error "EOFException: premature end of file"
and I attach the test file.
my Compile option :
-o "D:\Android\FILENAME.so" -L"c:\ndk\platforms\android-9\arch-arm\usr\lib" -L"c:\ndk\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi"
-shared -Wl,-z,noexecstack -Wl,-rpath-link="c:\ndk\platforms\android-9\arch-arm\usr\lib" --sysroot="c:\ndk\platforms\android-9\arch-arm\usr\lib...."
"-lstdc++" "-lsupc++" "-lgnustl_static" "-lgcc" -nostdlib -l"c" -l"m" -l"log" -l"gcc" -Wl,-soname,"libFILENAME" -Wl,--no-undefined
The testfile.so lacks a DT_INIT symbol [readelf --dynamic testfile.so | grep INIT], so upx cannot intercept control in order to decompress. Use the "-i" parameter to see this hidden message: "upx -i testfile.so" ==> "[WARNING] no DT_INIT or JNI_OnLoad:". The error checking was improved to avoid EOFException. Instead, upx now says UnknownExecutableFormatException. The source has been updated with changeset: 2392:06ce73380240 to p_lx_elf.cpp.