본문 바로가기
728x90
반응형

리버싱104

[Codegate 2017] EasyCrack 101 보호되어 있는 글 입니다. 2017. 4. 10.
[Codegate 2017] angrybird 보호되어 있는 글 입니다. 2017. 2. 10.
IL 코드 보기 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools 여기에 ildasm.exe 라는 프로그램이 있다. 이런 식으로 나오는데 길이가 나와서 개꿀. Reversing.kr의 CSharp 문제 풀 때 유용하다. 2017. 1. 15.
AndroidManifest.xml의 android:debuggable 수정하기 안드로이드 앱을 분석하다보면 가끔 애플리케이션의 debuggable 속성을 true로 맞춰주어야 할 때가 있다. 앱 단위로 debuggable 속성을 true로 하는 방법은 번거롭지만 쉽다. 1. 앱 디컴파일 2. AndroidManifest.xml의 를 로 수정하고 리패키징 끝. 2016. 11. 2.
arm, powerpc, mips Cross Compile, Execute and Remote Debugging 1. gcc 설치 1 2 3 sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install gcc-powerpc-linux-gnu sudo apt-get install gcc-mips-linux-gnu cs 1 2 3 4 5 6 7 8 9 10 sudo apt-get install -y gcc-multilib-arm-linux-gnueabi sudo apt-get install -y gcc-multilib-arm-linux-gnueabihf sudo apt-get install -y gcc-multilib-mips-linux-gnu sudo apt-get install -y gcc-multilib-mips64-linux-gnuabi64 sudo apt-.. 2016. 10. 23.
JNINativeInterface JNIENV 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816.. 2016. 10. 15.
Code Injection from BlackEnergy BlackEnergy라는 악성코드를 분석하다가 코드 인젝션을 재미있게 하는 코드를 발견해서 정리해서 올려본다. 지금까지 분석해본 악성코드는 CreateProcess API 함수를 이용하여 suspend로 프로세스를 실행한 뒤에 보통 이미지 베이스에 MZ부터 쭉 인젝션 하고 ResumeThread API를 호출했었는데, 이 악성코드는 같은 방법으로 프로세스를 실행하지만 특정 주소에 코드를 인젝션 한 뒤에 쓰레드 컨텍스트를 수정하고 ResumeThread API 함수를 호출한다. 1. CreateProcess API 호출 6번째 인자(Creation_Flags)가 4(Create_Suspended)임을 알 수 있다. mssrv32.exe(악성코드)의 자식 프로세스(svchost.exe)가 생김. 2. Wri.. 2016. 10. 12.
프로세스 시작과 동시에 디버거 붙이기 출처 : https://msdn.microsoft.com/ko-kr/library/a329t4ed(v=vs.90).aspx 디버깅 하는 프로세스가 CreateProcess 등의 함수를 호출하여 자식 프로세스를 생성하는 루틴에서 굉장히 유용한 방법이다. ------------------------------------------------------------ 때로는 다른 프로세스에서 시작한 응용 프로그램의 시작 코드를 디버깅해야 할 수도 있습니다. 서비스 및 사용자 지정 설치 작업을 예로 들 수 있습니다. 이러한 시나리오에서는 응용 프로그램을 시작할 때 디버거를 시작하고 자동으로 연결할 수 있습니다.디버거가 자동으로 실행되도록 응용 프로그램을 설정하려면레지스트리 편집기(regedit)를 시작합니다.레지스.. 2016. 9. 25.
코드엔진 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.
728x90
반응형