yck1509 / ConfuserEx

An open-source, free protector for .NET applications
http://yck1509.github.io/ConfuserEx/
Other
3.54k stars 1.61k forks source link

Unrecognizable reference in the obfuscated dll - Xamarin Android #639

Open sbodwyer opened 6 years ago

sbodwyer commented 6 years ago

Hi I'm trying to obfuscate a Xamarin android dll generated by VS2017. I have included the correct references to android Mono in the project file and the all is processes successfully using confuserEX. (see log below).

However there is a reference in the outputted dll which is causing my build to fail using this dll. The new dll depends on a module called "pJMBrYFGiKklZcARmViWepvOVxBQA". I don't know where this came from but it is not in my original dll and is causing my build to fail as it can't be resolved. If I run the dll through confuserEx again the name of this reference changes to other random letters. (I can see the reference using ILSPY.

Any ideas? Thx

[INFO] ConfuserEx v1.0.0 Copyright (C) Ki 2014 [INFO] Running on Microsoft Windows NT 6.2.9200.0, .NET Framework v4.0.30319.42000, 64 bits [DEBUG] Discovering plugins... [INFO] Discovered 10 protections, 1 packers. [DEBUG] Resolving component dependency... [INFO] Loading input modules... [INFO] Loading 'TuneTracker.Android.dll'... [INFO] Initializing... [DEBUG] Building pipeline... [INFO] Resolving dependencies... [DEBUG] Checking Strong Name... [DEBUG] Creating global .cctors... [DEBUG] Watermarking... [DEBUG] Executing 'Name analysis' phase... [DEBUG] Building VTables & identifier list... [DEBUG] Analyzing... [INFO] Processing module 'TuneTracker.Android.dll'... [DEBUG] Executing 'Invalid metadata addition' phase... [DEBUG] Executing 'Renaming' phase... [DEBUG] Renaming... [DEBUG] Executing 'Anti-debug injection' phase... [DEBUG] Executing 'Anti-dump injection' phase... [DEBUG] Executing 'Anti-ILDasm marking' phase... [DEBUG] Executing 'Encoding reference proxies' phase... [DEBUG] Executing 'Constant encryption helpers injection' phase... [DEBUG] Executing 'Resource encryption helpers injection' phase... [DEBUG] Executing 'Constants encoding' phase... [DEBUG] Executing 'Anti-tamper helpers injection' phase... [DEBUG] Executing 'Control flow mangling' phase... [DEBUG] Executing 'Post-renaming' phase... [DEBUG] Executing 'Anti-tamper metadata preparation' phase... [DEBUG] Executing 'Packer info extraction' phase... [INFO] Writing module 'TuneTracker.Android.dll'... [INFO] Finalizing... [DEBUG] Saving to 'C:\Users\Shane\Documents\Visual Studio 2017\VS Projects\TuneTracker.Android\TuneTracker.Android\bin\Release\Confused\TuneTracker.Android.dll'... [DEBUG] Executing 'Export symbol map' phase... [INFO] Done. Finished at 23:23, 0:00 elapsed.

sbodwyer commented 6 years ago

Got this to go away by turning off certain protections - invalid metadata and resources. Also had to change the references to mono as I am using a later version

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v7.1

The name protection mode parameter had to be changed to 'letters' as it was causing problems.

Now Xamarin android dll is obfuscated and included in APK thanks great project :)