목록분류 전체보기 (59)
OutDoorFrog의 리버싱 이야기
이 이야기는 어느 리버서의 고통받는 이야기입니다. Windows API 만져본지 8개월이 다 되가는데 분석 문제가 나왔습니다. 문제가 이렇게 나올 줄은 몰랐으며 리버싱하는데 꽤나 걸렸던 문제입니다. 한 글자 한 글자를 연산하는 문제!!! 같이 보시죠!! 1. DIE로 분석 Default로 설정이 되어 있군요.. 2. IDA로 분석해볼까? 붉은색을 Brush Paint로 칠했군요. Hand-Ray 프레임워크를 사용합시다. 핸드-레이 프레임워크는 c->asm, asm->c 가 가능한 프레임워크 입니다. 용량도 가벼워서 사람들이 정말 많이 사용하는데요. 그렇습니다. 우리의 뇌와 손이 있으면 됩니다. 말 그대로 인간 디컴파일러!! 3. 힌트 코인 IDA 덕분에 Winmain으로 Main 함수가 만들어져있는 것을..
편안한 개구리입니다. 암드 캔 두 애니띵, WriteUP을 시작하겠습니다. . . . . . . 우리는 리버싱을 할려면 3가지 요구 조건을 만족해야합니다. 해당 CPU 아키텍쳐를 아는가?해당 어셈블리어를 아는가?리버싱 환경이 구성이 되었는가? 저는 환경 구성, CPU 아키텍쳐, 어셈공부까지 했습니다만.. 좀 더 좋은 방법 급박한 대회에서 점수를 버는 방법이 있습니다. Hex-Ray사에서 제공하는 디컴파일 기능을 이용하는 것입니다. 급박한 상황에서 애용하는 기능 중 하나지만 공부할 때는 지양하는 기능입니다. (뭐니뭐니 해도 핸드-레이가 공부에 최고)1. IDA 이렇게 상당히 희귀한 문제는 난이도가 그만큼 너프되기 마련입니다. 2. 디컴파일 사스가 Hex-Rays;;;; 저는 이거 디컴파일 하는데 2시간 걸..
블로그의 주인장 바깥 개구리 입니다.(개굴) 심플 리버싱에 대해서 포스트를 시작하겠습니다. 1. Die 이용 Detect It Easy는 정적 분석에 사용하는 도구 중 하나입니다. 사용한 언어, 파일 패킹 여부, 사용한 컴파일러, 사용한 링커 등의 정보를 수집할 때 사용합니다. 리버싱 환경을 정하고 어떤 디버거를 사용할지 판단할 때 씁니다. EntryPoint 값을 참고해서 Main 함수의 시작점이 어디일지 유추하기도 합니다. 사용 예시 PE 파일 -> 환경 : Windows, 디버거 : x32dbg, x64dbg, IDA ELF 파일 -> 환경 : Linux, 디버거 : EDB, IDA C언어로 작성했고 ImageBase값이 Default 입니다. 메인 함수가 401000에 위치하고 있지 않을까 유추해..
OutDoorFrog의 리버싱 삽질 일기입니다! 아주대 OpenCTF에 참여했습니다! 저는 CTFTime, FaceBook을 이용해서 국내, 국외 CTF에 참여했었습니다. 하지만 대학교에서 주최하는 CTF에 단 한 번도 참여한 적이 없었습니다. 우리나라 대학교 CTF에서는 어떤 문제가 나올지 궁금해서 출전하게 되었습니다. 그리고 지금부터 리뷰를 시작하겠습니다! 아주대 OpenCTF에 참여해서 느낀 점 해킹 캠프 때처럼 문제의 난이도가 잘 분포되어 있다는 것을 느꼈습니다. 초보 CTF 플레이어를 배려하듯 처음 참여하는 초보자도 풀 수 있는 문제들이 몇 존재했습니다. 하지만 난이도가 상당히 있는 문제들도 있었습니다. 예) Mission, VVS, Woojin Handsome 같은 문제 Mission 문제는 ..
멘탈을 기르는 블로그의 주인장 OutDoorFrog입니다! 오늘은 해시와 암호화에 대해 알아봅시다. 1. 목표 암호화와 해시의 차이를 알아봅시다.특정한 암호화 함수의 알고리즘을 배우고 C로 구현해봅시다.특정한 해시 함수의 알고리즘을 배우고 C로 구현해봅시다.이런 분류의 문제를 대응할 방법을 생각해봅시다. 포스팅을 시작하겠습니다. 2. 배움이 필요하다고 느낀 이유 제가 참여한 여러 CTF에서 암호화, 해시에 관련된 문제가 많이 나왔습니다. 한 CTF마다 한 문제는 나오는 편이라 알아두는 편이 좋다고 판단했습니다. (소스 코드도 있는 프로그램이 리버싱도 쉽지 않습니까?) 3. 암호화와 해시의 차이를 알아봅시다! 해시는 단방향 암호화 기법입니다.암호화는 양방향 암호화 기법입니다. 단방향 암호화 기법은 평문을 ..