본문 바로가기
728x90
반응형

전체 글395

코드엔진 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.
how to use so files in Android JNI -2- 1부 : http://amgn.tistory.com/600 환경 운영체제 : Windows 10IDE : Android Studio예제 so 파일 : OpenSSL 2부에서는 OpenSSL을 이용한 암호화와 so 파일에 저장된 함수 혹은 메소드를 가져와서 사용하는 방법에 대해 알아보도록 하겠다. 1. 사전 작업 후.. Openssl을 빌드 한 번에 안드로이드용으로 만들 수 없어서 사전 작업이 어마어마하게 많다. 물론 github에 안드로이드 용으로 나와서 nkd-build만 하면 되는 코드들도 많고 하지만 역시나 누군가 미리 prebuilt 버전을 github에 올려놓았다. 내가 시발 며칠 동안 개고생했는데 이런게 있었다. 후 ㅅㅂ https://github.com/emileb/OpenSSL-for-An.. 2016. 8. 3.
how to use so files in Android JNI -1- 환경 운영체제 : Windows 10IDE : Android Studio예제 so 파일 : OpenSSL 2부 : http://amgn.tistory.com/601 하 시발 진짜 존나 구글링하면서 개고생했다. 당연한 이야기지만 사전에 안드로이드 NDK, 안드로이드 SDK, JAVA JDK가 설치되어 있어야 함. https://developer.android.com/ndk/guides/setup.html 나는 둘 다 D 드라이브에 저장해놨다. 안드로이드 스튜디오에서 빈 프로젝트를 생성하면 기본적으로 아래와 같이 Hello World!를 출력하게 된다. OpenSSL과 JNI를 이용해 암호화된 Hello World!를 출력하는 과정을 블로깅함. 안드로이드 프로그래밍에 대한 사전 지식이 없어서 시발 존나 힘들.. 2016. 8. 2.
Xamrin 설치 Xamarin을 통해 C#과 Visual Studio로 안드로이드 및 iOS 프로그래밍이 가능하다! 우선 자마린 홈페이지에 들어가서 자마린 설치.당연히 이전에 visual studio가 설치되어 있어야 함.https://www.xamarin.com/download 설치가 완료되면 visual studio -> 새 프로젝트 -> C# 카테고리에 Android가 추가로 생긴다. 실행하면 이렇게 안드로이드 에뮬레이터가 실행되면서 안드로이드 앱이 실행됨. 당연히 visual studio 구독 버전에 따라 사용할 수 있는 기능이 달라짐. 2016. 7. 26.
Anti Debugging using NtSetInformationThread 악성코드 분석하다 나옴. https://msdn.microsoft.com/en-us/library/windows/hardware/ff557675(v=vs.85).aspxhttps://github.com/AdaCore/gsh/blob/master/os/src/ddk/ntddk.h NtSetInformationThread에 두 번째 인자로 들어가는게 아래의 THREADINFOCLASS인데, 여기서 0x11번 째 멤버인 ThreadHideFromDebbger가 인자로 들어가면 디버거가 디버기에서 강제로 분리된다. 두 번째 인자로 값을 0x11이 아닌, 0x0을 주면 우회가 가능하다. 12345678910111213141516171819202122232425262728293031323334353637typede.. 2016. 7. 23.
Anti Debugging using CheckRemoteDebuggerPresent Windows XP 이상부터 사용 가능 1234BOOL WINAPI CheckRemoteDebuggerPresent( _In_ HANDLE hProcess, _Inout_ PBOOL pbDebuggerPresent);Colored by Color Scriptercs ParametershProcess [in]A handle to the process.pbDebuggerPresent [in, out]A pointer to a variable that the function sets to TRUE if the specified process is being debugged, or FALSEotherwise.Return valueIf the function succeeds, the return value is .. 2016. 7. 20.
728x90
반응형