본문 바로가기
728x90
반응형

리버싱/Android20

코드엔진 SmartApp 04 (작성중) Challenges : SmartApp 04Author : 보안프로젝트 / LinkKorean : 키값을 찾으시오! English : Find a key http://codeengn.com/challenges/smartapp/04 실행하면 위처럼 문자열을 입력받은 뒤, 입력한 문자열을 체크하는 키젠미이다. SHA-256 알고리즘을 이용하여 hash값을 생성하고, 0c9e938c9a6a58e9ca93289c8455b1dd462a1b722f7e1c11a34f7983260ab992과 비교한다. 근데 문제는 SHA-256 알고리즘이 단반향 함수(해시 함수)라서.. 복호화할 방법이 없다. zFindKey.class에도 별 것 없다.. 2016. 8. 18.
코드엔진 SmartApp 03 Challenges : SmartApp 03Author : 보안프로젝트 / LinkKorean : 키값을 찾으시오! English : Find a key http://codeengn.com/challenges/smartapp/03 소스를 디컴파일 해서 보면, aView에 랜덤한 값을 넣고, bView에는 0을 넣는다. 그리고 클릭 할 때마다 aView의 값 - 1과 bView 값을 비교하여 서로 같으면 키값을 뿌려주고, 같지 않으면 bView의 값을 1만큼 더해준다. 1~2번과 마찬가지로 if문을 우회하면 쉽게 풀 수 있다. if문을 우회하고 깃발든 사람 모양의 버튼을 클릭하면 키값이 출력된다. 2016. 8. 18.
코드엔진 SmartApp 02 Challenges : SmartApp 02Author : 보안프로젝트 / LinkKorean : 키값을 찾으시오! English : Find a key http://codeengn.com/challenges/smartapp/02 우선 디컴파일 해서 얻을 수 있는 java 코드는 다음과 같다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950package com.namdaehyeon.findkey2; import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.v.. 2016. 8. 18.
안드로이드 Dex 디스어셈블러 보호되어 있는 글 입니다. 2016. 8. 18.
코드엔진 SmartApp 01 Challenges : SmartApp 01Author : 보안프로젝트 / LinkKorean : 키값을 찾으시오! English : Find a key http://codeengn.com/challenges/smartapp/01 키값을 찾으시오! 안드로이드 App 문제는 처음 접해보기 때문에 문제 형태를 잘 알지 못한다. 코드게이트니까 키젠미나 크랙미겠거니 생각하고 풀어보았다. 우선 .apk를 디컴파일 하고 .java 코드를 보면 위와 같은 코드를 쉽게 발견할 수 있다. 암호화 된 키값을 복호화해서 그냥 뿌려준다.. 따라서 그냥 이 앱을 실행시켜주기만 하면 되는 문제란 것이다. 제공된 .apk 파일을 살펴보면 META-INF라는 폴더가 존재하지 않는다.안드로이드 앱에 서명(Signature)을 하게 되.. 2016. 8. 18.
apk 파일 리패키징 준비물 : ApkTool : https://ibotpeaches.github.io/Apktool/ 1. ApkTool을 통한 디컴파일 cmd를 열어 아래의 명령어 입력 ApkTool d [target.apk] △ 실행화면 △ 얻은 결과물(폴더) 2. 수정 http://amgn.tistory.com/603 위 링크에 설명된 방법을 통해 사전에 디컴파일 해서 얻은 정보를 통해 smali 코드를 수정한다. 3. 리패키징 아래의 명령어를 통해 리패키징이 가능하다. apktool b [target dir] 여기서 [target dir]은 1번 과정에서 얻은 디렉토리를 뜻한다. △ 실행화면 위 사진처럼 [target dir]\dist에서 리패키징된 .apk 파일을 확인할 수 있다. 4. 서명(signature) 추.. 2016. 8. 16.
apk 파일 디컴파일 준비물 dex2jar : https://github.com/pxb1988/dex2jarJD-GUI : http://jd.benow.ca/JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html java나 C#의 가장 큰 단점 중 하나가 바로 디컴파일러를 통해 코드가 완벽히 복원된다는 것. 안드로이드 또한 java를 이용했기 때문에 java 디컴파일러를 통해 실행파일에서 코드로 복원하는 것이 가능하다. 1. class.dex 추출 디컴파일하고자 하는 .apk 파일에서 class.dex를 가져온다. .apk 파일은 zip 형식이기 때문에 .apk 확장자를 .zip으로 바꾼 후 압축 프로그램을 통해 class.dex를 가져올 수 있다. .. 2016. 8. 16.
Android Root Detection Techniques in JNI 참고 : https://blog.netspi.com/android-root-detection-techniques/ 참고라기 보다는 거의 번역본. 1. Installed Files & Packages 12345678910111213141516171819#include #include std::string FindFileDir[6] = {"/sbin/su", "/system/su", "/system/sbin/su", "/system/xbin/su", "/data/data/com.noshufou.android.su", "/system/app/Superuser.apk", "/system/bin/su", "/system/bin/.ext/.su", "/system/usr/we-need-root/su-backup",.. 2016. 8. 9.
728x90
반응형