레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시

2014년 1월 26일 일요일

Android Emulator 속도 높이기

Android Emulator는 극악한 속도를 자랑한다. 좋은 PC는 아니지만 또 그렇게 끔찍한 PC는 아니건만 도저히 개발할 환경이 안되어 찾아보다보니 Intel님의 은혜를 입을 수 있었다.
좋은 PC가 아니라 만족할만한 결과까지는 아니지만 체감 속도가 엄청나게 올라갔다.

1. Android SDK Manager에서 [Intel x86 emulator accelerator (HAXM)] 인스톨


2. Intel® Hardware Accelerated Execution Manager 설치
참고: http://software.intel.com/en-us/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows

3. Android Virtual Device Manager에서 Intel Atom (x86) processor를 이용하도록 emulating
 - 이미지 생성시 CPU/ABI 에서 x86 선택
 - Emulation option에서 Use Host GPU 선택
  • Enable the GPU acceleration in the AVD Manager for your image. The HAXM driver executes most CPU instructions natively through Intel Virtualization Technology in the processor and the GPU acceleration offloads the OpenGL* calls to the host GPU.

2013년 8월 9일 금요일

청첩장 피싱 메시지 리버스 엔지니어링

모르는 번호로부터의 청첩장, 등으로 소액결제 또는 피싱에 많이들 당한다고 한다.
당하지도 않을 뿐더러 청첩장 메시지는 받은 적이 없었는데 어제 나도 드디어 '북한, 이게 끝이 아니다' 라는 내용과 URL이 담긴 메시지를 수신.
클릭해보니 dulala.apk 라는 놈을 다운로드 / 설치 유도하는 것이 보여서 이놈들 혼내줄 방법을 찾아볼까... 하다가 까발려 보기로 했다.

2013 서울 디지털포럼에서 '보통 사람의 잉여로움으로 세상에 기여하자' 라고 주장한 모 연사의 말도 좀 기억이 나고. 오늘은 시간이 잉여롭게 남기도 했고 ㅠㅠ

1. reverse engineering을 위해 쓴 툴은 아래 세가지
o apktool: https://code.google.com/p/android-apktool/
 - apktool d xxx.apk
 - 필요에 따라 resource, smali 등을 편집 또는 re-packing

o dex2jar: https://code.google.com/p/dex2jar/
 - apk의 압축을 풀고, dex2jar classes.dex를 하면 jar 파일이 생성된다.

o jd-gui: http://java.decompiler.free.fr/?q=jdgui
 - dex2jar 실행물로 생성된 jar 파일을 jd-gui로 열고 source로 저장 가능.

2. 리소스 파일들은 주요 은행앱의 리소스를 그대로 사용했다.


3. 널리 알려진 바와 같이 보안카드 번호 전체 입력을 유도한다.


4. 맞춤법에도 안맞는 어처구니 없는 피싱 메시지들을 사용함.
아래는 소스중 일부.
private void setupView()  {
    this.mDPM = ((DevicePolicyManager)getSystemService("device_policy"));
    this.mAM = ((ActivityManager)getSystemService("activity"));
    this.mDeviceComponentName = new ComponentName(this, deviceAdminReceiver.class);
    Intent localIntent = new Intent("android.app.action.ADD_DEVICE_ADMIN");
    localIntent.putExtra("android.app.extra.DEVICE_ADMIN", this.mDeviceComponentName);
    localIntent.putExtra("android.app.extra.ADD_EXPLANATION", "암호화 된 데이터 전송입니다, 귀하의 개인 정보는 꾸준한 보호받을수잇습니다");
    startActivityForResult(localIntent, 1);
  }
급했나, 아니면 조선족이 만들었나. 나보고 만들으라면 절대 이렇게 안만든다 ;;; 

5. 이런 세상의 말종같은 놈들의 서버라도 좀 죽여볼까 했는데 이미 죽어서 더는 할게 없고. 


뜯어봐도 너무 허접하다는 것 외에는 특별한 감흥은 없었다. 
보안은 시스템보다는 결국엔 역시 사람이 더 중요할 수 밖에 없다는 생각이 좀 들었고. 

그냥.... 잘 모르시는 분들은 그냥 URL을 클릭하지 마시는게 상책, 대충 아는 분들도 설치까지 시도하는 건 한번 고민해보시고, 

이런 애들 혼내줄 좋은 방법이 있으신 분은 공유해주세요.