컴퓨터안전

리버스 엔지니어링을 초보자를위한. 리버스 엔지니어링의 모든 안드로이드 예방 응용 프로그램

때로는 하나가보고 싶어하고, 특정 프로그램에 작성 어떤 종류의? 그리고는 리버스 엔지니어링을 사용한다. 그것은 무엇입니까? 그것은 어떻게 작동합니까? 이 과정은 어떻게? 이 모든 것은이 문서에서 배울 것입니다.

리버스 엔지니어링 프로그램은 무엇입니까?

그래서 필요한 변경하여이 과정을 다시 미래에 그래서 그것이 어떻게 작동하는지 이해하기 위해 프로세스 응용 프로그램 분석했다. 일반적으로이 목적을 디버거와 어셈블러에 사용됩니다. 다른 것 사용되는 소프트웨어의 품질과 결과에 따라 정상적인 형태로 가지고 그것을 지출해야하는 시간입니다. 초보자를위한 최선의 예를 리버스 엔지니어링을 설명한다. 이의 안드로이드 작성된 응용 프로그램을 수행한다. 이제 무엇을 어떻게 알아하자.

안드로이드 응용 프로그램 작업

처음에 우리는 몇 가지 점을 명확히 할 필요가있다. 응용 프로그램은 바이트 코드 및 로그 캣을 사용합니다. 이 지역의 대응은 이전에 디버거와 어셈블러를 언급했다. 이 응용 프로그램 자체의 구조를 이해하는 것도 필요하다. 따라서, 각 프로그램은 확장 APK를 가진 파일입니다. 그는 zip'om 포장. 응용 프로그램 리소스, classes.dex 및 AndroidManifest.xml에 - 우리는 그 내용에 관심이 있습니다. 당신이 안드로이드 프로그래밍을 할 경우, 전자와 후자와 문제가 안된다. 그러나 classes.dex - 가상 머신 용으로 컴파일이 프로그램의 바이트 코드. 자금을하지 않는 인터넷에서 사용할 수있는 자신의 자바 소스 코드에서 추출합니다. 그러나 가능 달빅의 옵 코드를 얻는 것입니다 - 가상 머신에 사용되는 명령의 특별한 세트. 비유를 들어 우리는 지역적인 홍수의 조립 말할 수 있습니다. Classes.dex 또한 항아리와 파일로 변환 할 수 있습니다. 이러한 경우에도, 당신은 더 많거나 적은 읽을 수 컴파일 후 자바 코드를 얻을 수 있습니다. 그것은 우리가가는 경로입니다.

디 컴파일

이 과정은 APK 매니저 프로그램을 사용하여 수행됩니다. 시작하기 전에 devaysa 및 기능 USB 디버깅 모드에 대한 올바른 드라이버가 있는지 확인하십시오. 처음에, 우리는 장소 - APK-여기를 위해 모딩 지시어 apk_manager의 \로 해석 될 파일을 이동해야합니다. 그 후 당신은 Script.bat 파일을 실행해야합니다. 문제가 없다면, 녹색으로 문자 될 것입니다 콘솔을 시작합니다. "디 컴파일"- 포인트 아홉을 선택합니다. 프로세스가 시작되면, 콘솔을 닫습니다하지 않는 것이 필요하다. 그런 다음,이 classes.dex에서 아카이버 및 추출물을 사용하여 미결제 약정 APK 파일은 프로그램을 dex2jar 처리합니다. 우리가 원하는 결과를 도출하기 위하여는 확장 박쥐와 객체를 이동하는 것이 필요하다. 당신의 .jar 종료됩니다 파일을 볼 수 있습니다. 지금까지 창이 닫히지 않습니다.

우리는 데이터를 분석

응용 프로그램에 대한 정보를 얻으려면, 당신은 매니페스트 열어야합니다. 그것은에 따르면, 우리는이 주요 활동의 역할을 결정합니다. 지금 우리에게 가장 중요한 정보를 제공 누가 그녀를했다. 이 프로그램의 하단에보고하는 것이 바람직하다. 바닥이 라이센스 관리자에 대한 정보가 있다면, 리버스 엔지니어링을 수행하는 것이 상당히 어렵다. 당신이 GUI를-JD하고 트리를 확장 전환하면, 우리는 여러 네임 스페이스를 볼 수 있습니다. 가정 그들 중 세 가지가. 처음에는 광고와 관련된 파일입니다. 두 번째는 라이센스 관리자 클래스 될 것입니다. 세 번째, 우리는 필요한 데이터입니다. 우리가 갈 때입니다. 찾아 키를 누른 다음 작업 라이센스 버전 여부를 확인 라인의 나머지 부분을 제거가 필요합니다. 이러한 모든 청소해야합니다. 그런 다음 우리 APK 관리자 곳 바이트 코드를 지정된 장소를 찾고. 이제 우리는 작은 여담을 잠재적으로 문제가 발생할 수 있습니다 팀, 주석 수 있습니다. 그 후, 우리는 프로그램을 컴파일해야합니다.

응용 프로그램을 구축

이것은 우리에게 모두 같은 APK 관리자 도움이 될 것입니다. 우리가 잠겨 있지 않은 콘솔에서 항목 №14을 선택합니다. 다음 트릭. 당신이 시작할 때 응용 프로그램이 아니라 복잡한 경우, 부분적으로 또는 완전히 효율성을 잃을 수 있습니다. 우리가 가고 다른 곳에서 절반 만 존재하고 있음을 의미합니다, 걱정하지 마십시오. 우리는 리버스 엔지니어링 - 모든 안드로이드 응용 프로그램을 실행하는 것을 계속한다. 특정 경우에 무엇을, 말, 일반적인 용어로, 슬프게도 불가능하다. 문제 영역은 자신이있을 것이다 그러므로, 봐. 응용 프로그램 창이 차단되면 예를 들어, 팝업 창을, 당신은 코드를보고이 대화에 대한 책임 부분을 제거해야합니다. 이 도움하려면 JD-GUI를 할 수 있습니다. 당신이 볼 수 있듯이, 반대 공학은 쉬운 일이 아닙니다이며, 지식의 상당한 저장소를 필요로한다. 모든 문제없이 실행하더라도, 응용 프로그램의 성능을 테스트 할 필요가있다. 즉, 리버스 엔지니어링은 더 많은 시간이 소요되는 작업이다. 우리는 모든 문제가 확인 될 때까지 계속 작동합니다.

안전

우리는 보호 리버스 엔지니어링의 모든 안드로이드 응용 프로그램이 무엇을해야하는 경우? 작성된 구문 분석하기 위해 방해 특정 프로그램의 사용 또는 코드 구조의 창출이 경우, 두 가지 옵션이 있습니다. 후자의 옵션은 적절한에만 경험이 풍부한 전문가이다, 그래서 우리는 보호의 첫 번째 방법을 고려할 것입니다. 전문 소프트웨어 사용 ProGuard에서로. 난독 및 코드 최적화를 줄이기 위해 사용되는이 응용 프로그램. 그것을 통해 프로그램 "추적"하는 경우, 우리는 그가보다 .apk 파일 작은 확장자를 가진 파일 *를 얻을. 이러한 경우는 훨씬 더 어렵 분해하는 것입니다. 그리고이 프로그램의 장점은 심지어 R9 업데이트를 빌드 안드로이드 응용 프로그램에서 도입 된 것입니다. 그 생성과 발전의 표준 도구가 모든 개발자 인의 그러므로 활용할 수 있습니다.

결론

우리는 리버스 엔지니어링 균일하게 좋은 또는 나쁜 무언가로 표현 될 수 있다는 것을 말할 수 없습니다. 물론, 응용 프로그램을 만든 개발자의 관점에서, 그것은 행복 이벤트가 아닙니다. 그러나 다른 한편으로는, 많은 경우에 이러한 도구의 사용보다 저렴 시간을 될 수있는 필요한 파일을 작성하는 프로그래머를 경험했다. 거기에, 심지어 대표적인 뭔가를 구현하는 방법 아무 생각도없고, 아주 명확한 윤곽이 목표 달성에 도움을 줄 수없는 경우 초보 개발자를위한 리버스 엔지니어링은 좋은 서비스를 렌더링 할 수 있지만.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.birmiss.com. Theme powered by WordPress.