2012-11-21 2 views
1

저는 클라이언트 용 Android 앱을 개발 중입니다. 앱이 실제로 끝났고 다음 주에 클라이언트와의 미팅을 통해 발표 할 예정입니다. 그는 모든 것을 테스트 할 것이고 승인하면 지불 할 것이고 그에게 소스 코드를 제공하고 Google Play에 게시 할 것입니다.돈을 받기 전에 Apk을 클라이언트에게 보내는 것에 대해 걱정해야합니까?

오늘 그는 나를 시험해 볼 수 있도록 Apk을 요청했습니다. 우리가 거래를 끝내지 않으면 (어떤 이유에서든), ProGuard로 난독 화되었다고 할지라도, Apk를 리버스 엔지니어링하여 어쨌든 내 소스 코드/앱을 얻을 수있는 사람이 생길지 모른다는 우려가 있습니다. this SO thread Apk를 리버스 엔지니어링하는 것은 그리 어렵지 않습니다.

내 질문 : 여기 편집증 그냥합니다 (ProGuard에서 난독 쓸모 소스 코드를 만들기에 충분 아마도 원인)이 APK는 클라이언트를 보내야 오전 또는 내 걱정은 합리적인 내가 지불하기에 충실해야 아무것도 배달하기 전에?

답변

3

.apk를 리버스 엔지니어링 한 적이 있습니까? 아마 했는데도 전체 앱을 다시 만들 수 있었습니까? 아마도 그렇지 않습니다. 당신의 논리에 따르면, 나는 대중적인 앱을 "쉽게"리버스 엔지니어링하여 나에게 사용할 수 있다는 뜻이다. 대부분의 코드가 난독 화되지 않으면 살펴볼 수 있지만 완벽하지는 않습니다. 때로는 Smali를 실제 Java 코드로 변환하지 못합니다. 앱이 복잡해지면 어렵게됩니다. 귀하의 질문에 대답하십시오 : 걱정할 필요는 없지만 ProGuard를 (항상) 사용해야합니다.

1

좋은 대답 .. 나는 항상 내가 덜 요구하는 고객에게 많은 돈을 지불하고있다.

그 대답은 고객에게 자신감이 없다는 것을 의미하므로, 다음 주에 그를 먼저 테스트 해 보는 것이 좋습니다. 너 한테 작은 벌레를 발견하고 요즘에는 그에게 apk를 줄 수 없다고 말해. 당신이 그것을 당황하게하는 경우

하지만 이탈리아에 있어요 .. 고객이 문제와 돈을주고 .. 내가 :) .. u는 곳이 APK에서 엔지니어 코드를 반전하는 것이 가능 사실

1

을 모르겠지만 ProGuard를 사용하면 코드를 리버스 엔지니어링하는 것이 거의 불가능합니다.

1

나는 이것을 해본 후 난독 화와 '시한 폭탄 공격'(주어진 평가 기간이 끝난 후 앱을 사용 중지 함)으로 충분했다. 나는 (a) 디버그 서명자가 아닌 MD5 지문을 사용하여 앱에 서명하고 (b) 앱에 소금이 가치있는 EULA가 있는지 확인하십시오. 만약 그렇다면 당신은 항상 x, y & z 설치에 동의한다는 말을 지적 할 수 있습니다 - 그 중 하나는 확실히 리버스 엔지니어링입니다. Google은 유익하게 "배포 준비"와 관련된 개발 가이드의 부분에 EULA를 형성하는 데 대한 조언을 제공합니다. 지금 내 휴대 전화에이 내용을 쓰면 연결되지 않습니다.

Google에 가입하십시오. 나는 업계 용 템플릿 버전에서 많은 EULA를 받았다.

1

문제의 가치가있는 매우 비싸거나 특허받은 알고리즘을 사용하지 않는 한 일반적으로 리버스 엔지니어링보다 소프트웨어를 처음부터 다시 만드는 것이 훨씬 저렴하고 빠릅니다.

리버스 엔지니어링은 일반적인 UI 애플리케이션 (~ 99 %의 앱)에서 문제가되지 않습니다.

관련 문제