Xamarin.Forms PCL을 사용하여 Android 앱을 만들었습니다. 이제 출시하기 전에이를 보호하고 싶습니다. 나는 또한 Confluence를 사용하고 있는데, .NET Reactor도 시도해 보았지만 동일한 문제가있었습니다.ConfuserEx로 난독 화가 된 Xamarin.Android App을 어떻게 게시합니까?
내가 겪었던 문제는 obfuscator 자체가 아니라 올바르게 내 AppName.dll 파일에 수행 할 작업을 수행하여 난독 화 된 dll을 $(SolutionDir)AppName\AppName.Droid\bin\Confused\AppName.dll
폴더에 넣는 것입니다. 그러나 VisualStudio 15에서 AdHoc을 통해 내 앱을 게시하려고 할 때 앱이 난독 화되지 않은 dll로 apk를 게시하므로 앱을 독자적으로 리버스 엔지니어링하여 모든 원래 코드를 볼 수 있습니다.
- 내가
NormalObfuscate.crproj
라는 ConfuserEx 파일을 만들어 내 솔루션 폴더에 을 넣어 :여기에 내 현재 설정입니다. 빌드 이벤트에서 내 안드로이드 프로젝트의 속성에서
- , 나는 다음과 같은 빌드 후 이벤트 넣어 :
경우를/I "$ (ConfigurationName)"== "릴리스" "$ ("$ (SolutionName)"== "릴리스"xcopy/Y "$ (SolutionDir) AppName \ AppName (SolutionDir) ConfuserEx \ Code \ Confuser.CLI.exe" "(SolutionDir) NormalObfuscate.crproj"
"$ (SolutionName)"== "$ (SolutionDir) \ AppName \ AppName.Droid \ bin \ Release \ AppName.dll"
"릴리스"xcopy/Y "$ (SolutionDir) AppName \ AppName.Droid \ bin \ Confused \ AppName.dll" "$ (SolutionDir) \ AppName \ AppName.Droid \ obj \ Release \ linksrc \ AppName.dll"
- 은 내가 프로젝트를 보관하고 배포를 클릭 한 다음 APK에 서명하여 출판 솔루션
- 재건.
이 모든 후 apk를 언로드 할 수 있었고 obffuscated dll은 내 bin \ Release 폴더에 있어도 거기에 없었습니다. 누구든지 압축 관리자가 응용 프로그램을 압축하고 게시 할 때 난독 화 된 dll을 사용하는 방법을 알고 있습니까?
보관 관리자를 사용하지 마십시오. 'msbuild'를 사용하고' true AndroidBuildApplicationPackage>'를'.csproj'에 추가하십시오. 그렇지 않으면 아카이브 관리자가 정상적인 구성을 실행하고 사용자를 무시합니다. –
내 apk에도 서명 할 예정입니까? – cvanbeek
예'/ t : SignAndroidPackage'와 같아야합니다. –