为啥在反编译我的应用程序时出现错误?
Posted
技术标签:
【中文标题】为啥在反编译我的应用程序时出现错误?【英文标题】:Why am I getting an error while decompiling my app?为什么在反编译我的应用程序时出现错误? 【发布时间】:2021-07-06 22:16:04 【问题描述】:分发后,我解压我的 apk 文件并尝试反编译库
在 ILSpy 中我收到此错误:
// This file does not contain a managed assembly.
在 de4dot 中:
WARNING: The file isn't a .NET PE file
csproj 文件:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<androidManagedSymbols>true</AndroidManagedSymbols>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
<BundleAssemblies>false</BundleAssemblies>
<AndroidUseAapt2>true</AndroidUseAapt2>
<AndroidDexTool>d8</AndroidDexTool>
<AndroidPackageFormat>apk</AndroidPackageFormat>
<AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
<AndroidSupportedAbis />
【问题讨论】:
这能回答你的问题吗? Decompile APK built with Xamarin @gunr2171 我的库不在so文件中 【参考方案1】:这是由于 Xamarin.Android 更新
现在默认压缩托管程序集以用于发布配置构建,从而显着减小 APK 和 Android App Bundle 的大小。程序集在构建期间使用 LZ4 算法进行压缩,然后在应用启动期间在设备上解压缩。
对于一个小型 Xamarin.Forms 应用程序示例,这将 APK 大小从大约 23 兆字节减少到大约 17 兆字节,同时仅将显示应用程序首页的时间从大约 780 毫秒增加到大约 790 毫秒。
如果需要,可以通过在 Visual Studio 或其他文本编辑器中打开项目文件并将 .csproj 文件中的 AndroidEnableAssemblyCompression MSBuild 属性设置为 false 来禁用特定项目的新行为:
<PropertyGroup>
<AndroidEnableAssemblyCompression>false</AndroidEnableAssemblyCompression>
</PropertyGroup>
来源:https://github.com/xamarin/xamarin-android/releases/tag/v11.0.0.3
【讨论】:
以上是关于为啥在反编译我的应用程序时出现错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在编译我的代码C(linux)时出现分段错误(核心转储)[关闭]
为啥当我的 heroku 应用程序崩溃时出现 mongodb 错误? (在本地工作就好了!)