본문 바로가기

70ry

(167)
Android App analysis 보호되어 있는 글입니다.
upx unpacker https://ddddhkim.github.io/project/2017/03/20/Python-UPX_UNPACK.py.htmlddddhkim형과 같이 upx언패커를 만들었는데 아주 쉬울줄 알았는데 덤프가 가장 어려웠다IAT rebuild때문에 조금 걸렸는데 이부분은 나중에 다시 좀 더 수정해야겠다. (실수를 하나 했는데 모든 IAT가 idata섹션에만 있는거 아니라서 DataDirectory안에 있는 import table 관련해서 좀 더 수정해야할거 같다.) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..
Reto Android Crackme #2 이번 문제는 smali code 패치 때문에 시간이 조금 걸렸다. 2개의 액티비티가 보인다. 그리고 조금 폴더를 둘러보면 이렇게 보이는데 이게 성공시 나타나야 하는 화면같다. 별다른 건 보이지 않고 success.jpg만 있기 때문에 확신을 할 수 있었다. 한번 실행을 해보자여기서 Exit를 누르면 해당 앱은 종료되고 Buy App을 눌렀을 땐 미리 설정해둔 url로 이동하게된다.url로 이동했을 때 없는 페이지기 때문에 결론은 아무것도 안일어난다. 이제 소스를 볼 차례다. 클래스는 봤던대로 보인다. 우선 MyAndroidAppActivity부터 보면 이게 끝이다. 중요한 부분은 LicenseCheck 클래스이다. 우선 base64와 바이트 배열이 보이는데 나중에 License를 구할 때 쓰는거 같다. ..
Reto Android Crackme #1 어떤 클래스를 봐야할지 나와있으므로 바로 보도록하자. username 입력창과 password 입력창이 있는데 username은 admin3으로 되어있고 password는 PBAGENFRAN456을 doConvert한 값과 비교한다. 123456789101112131415161718192021222324public class test{ public static String doConvert(String in) { StringBuffer tempReturn = new StringBuffer(); for (int i = 0; i
pragyan ctf MI6 정해진 대로 푼 문제는 아니다 그냥 수많은 게싱을 반복해서 푼 문젠데 나중에 꼭 풀이를 보고싶다.ruby라는 언어는 안써봐서 어떻게 소스를 해석해야할지 몰라서 그냥 게싱했다 이 대회가 좀 이상한게 그냥 주는 파일마다 확장자를 exe를 붙여놨다. 아무튼 저 만큼 까지가 bash 소스이고 그 밑에 payload.tar tar 압축 파일명이 보인다. 그래서 헤더를 검색해보면바로 옆에 있던 1f 8b 08이 tar 헤더이다.고대로 tar파일을 빼서 tar.gz파일로 만든다음 압축을 풀면 reverse_1.rb가 주어진다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647class Fixnum def random..
Hashdays 2012 Android Challenge 이번 문제 풀이는 길다. 이거 하나 푸느라고 몇 시간을 낭비했는지 모르겠다. 우선 클래스 수가 적다. 저부분만 보면 될거같다. 해쉬값들이 보이고 성공 문자열도 보인다. 우선 실행을 해봤는데 이틀전 푼 문제와 디자인이 똑같다. 하지만 문제 난이도는 엄청 다르다.다시 위에 소스를 보면 sha-256도 보이는데 hashes의 첫 번째 값을 sha-256으로 복호화하면 엄청 간단한데 이렇게 키값이 보인다. 성공!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 자! 그럼 본론으로 들어가보자 이 문제는 2012년도 문제다. 지금은 해쉬 데이터 베이스가 많아서 바로 나왔지만 (누군가 이미 값을 넣어봤을테니)그 당시에는 바로 나오지 않았을 것이..
여러가지 아키텍쳐로 컴파일 보호되어 있는 글입니다.
Insomni’hack 2012 InsomniDroid CrackMe AndroidManifest.xml를 확인해보면 InsomniActivity가 보인다. 클래스는 3개뿐이다. 버튼 하나와 입력창과 텍스트가 있을 것이다. 해당 앱을 실행하면 이렇게 생겼다. 우선 a클래스를 보면 입력한 값을 가져와서 true가 되면 Congrats! 문자가 나오는것이다. 바이트 배열이 보이는데 패스하고 아래의 소스를 보자! b클래스를 보면 AES암호화 SHA-256이 보이는데내가 입력한 값을 SHA-256 암호화하고 그 값이 바이트 배열 b와 같으면 리턴값으로 true를 준다. a배열은 그냥 fake이다. b배열은 sha256인데 해당 값이 최종 비교할 값이다.6152587ede8a26f53fd391b055d4de501ee8b2497fe74f8fd69f2c72e2f3e37a c배열과 d배..