본문 바로가기

전체보기

(171)
[Codegate 2017] EasyCrack 101 Codegate 2017 EasyCrack 101 reversing 문제이다. Binary.zip 파일을 다운받으면 해당 파일안에 101개의 바이너리 파일이 들어있다. 바이너리 파일 101개의 key값들을 구한 후에 해당 사이트에 key를 순서대로 넣는다면 flag가 나올 것 같다. 일단 prob1을 열어봤다. main sub_400697 인자값을 받은 후 인자를 Check 하는 간단한 크랙이다. 101개 각각의 바이너리 key를 구해야한다. 하나하나 잡는건 너무 비효율적이라고 생각하여 angr를 사용하였다. 일단 angr를 사용할 시 필요한 부분은 find(Correct 문) 주소이다. avoid 주소는 없어도 되지만 있다면 angr의 속도를 높여줄 수 있다. 다행인 것은 101개의 바이너리 동작구조가..
[Codegate 2017] angrybird 메인 함수에서 exit함수를 호출하지 않도록 수정해줘야 한다. 어셈으로 보자 cmp eax, 0 부분을 cmp eax, 1로 바꿔주면 된다. 보면 이런 코드가 대략 2천줄 정도 있는데 z3 아니면 angr로 풀라는 소리같다. z3으로 풀면 너무 시간이 오래 걸리기 때문에 angr를 사용했다.그전에 수정해야 할 것이 있다.먼저 sub_40072A() 함수는 그냥 nop 처리 해주고 sub_4006f6 에서 dword_606060 값을 리턴하는데 이게 fgets의 입력 size가 된다. 이 부분이 현재 1이므로 21(0x15)로 바꿔주어야 한다. 이런식으로 fgets 인자값중 size 인자를 변수 n 대신에 0x15로 바꿔주면 된다.이제 파일을 저장한 후 angr 돌리면 된다. [Solve]123456789..
Linux vmware-tools sudo apt-get updatesudo apt-get install open-vm-tools-desktop -y
2018년 1월 28일 일요일 보호되어 있는 글입니다.
2018년 1월 26일 금요일 보호되어 있는 글입니다.
[Reversing.kr] All Clear 아.. 5문제에서 진전이 안보인다. 지금은 조금 힘들지만 나중에 조금만 열심히 분석해서 열심히 다 풀도록 노력해야겠다 All Clear.
[ch4n3 world] unlockshell 쉘코드를 이용한 리버싱 문제는 처음봐서 되게 색달랐다. 해당 파일을 IDA로 파악해보면 문제 설명 출력이 되고 입력 받은 후에 byte값을 xor 시킨 후 해당 byte를 쉘코드로 실행시킨다. 즉 byte가 암호화된 쉘코드라는 의미다쉘코드는 영재교육원에서 만들어봤던 것 빼고는 인연이 없어서 어떻게 풀지 고민하다가 두글자니까 그냥 brute force 했다. [solve]123456789101112131415161718import osimport sysimport subprocessimport commands brute_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$^*():_-?{}"count = 1for i in b..
[SECCON 2017] JPEG file SECCON 2017 JPEG file (rev 100pt)JPEG 구조 관련 문제 같습니다. 이미지가 손상되었다고 생각하고 jpeg structure을 찾아보았습니다.https://en.wikipedia.org/wiki/JPEGSyntax and structure 부분을 자세히 봐야 합니다.Syntax and structureA JPEG image consists of a sequence of segments, each beginning with a marker, each of which begins with a 0xFF byte followed by a byte indicating what kind of marker it is. Some markers consist of just those two b..