목록공부 (37)
OutDoorFrog의 리버싱 이야기
안녕하세요~ 블로그의 주인장 OutDoorFrog입니다. 오늘은 Csharp를 풀어봅시다. 일일 초대 손님이 있습니다. 바로... .Net Reflector입니다! (Free-Trial이라 14일 시한부 판정을 받은 프로그램입니다 ㅠㅠ) 1. 프로그램 실행 일단 실행시켜보니 Windows Form으로 만들었을 확률이 높겠네요. 리네이밍을 하지 않는다고 가정하면 Form1 클래스에 사용자가 만든 코드가 있고 Program 클래스의 메인 함수에서 Form1 객체를 생성하여 실행하는 방식이겠네요. 몇몇 답도 찍어봤는데 역시나 맞진 않습니다. 2. .Net Reflector - 1 역시 예상과 같군요. main 함수입니다. 자동으로 생성되는 코드들이랑 비슷하네요. 객체를 생성했네요. Form1의 구성을 봅시다...
여러분들 새해 복 많이 받으세요~! 안녕하세요~ 블로그의 주인장 OutDoorFrog입니다. 2학년 2학기도 거의 끝나가고.. 방학도 머지 많아서 조금 긴 쉬는 시간을 가진 것 같습니다. 쉴 때는 확실하게 쉬고 공부할 때는 확실하게 공부하는 게 중요하죠! Reversing.kr 올클을 향해 같이 나아가 봅시다. 1. 문제 구성 ReadMe.txt를 살펴보시면 문제에 대한 설명이 존재하고Music_Player.exe의 실행에 필요한 msbvm60.dll도 동봉해서 넣어주신 것 같습니다.(출제자님의 세심한 배려를 느낄 수 있습니다) ReadMe.txt의 내용은 이 프로그램에서는 음악을 1분 동안만 들을 수 있게 제한이 걸려있고1분 초과하여 들어야 하는데 1분 체크 루틴을 모두 우회하면 완벽한 플래그(?)를 ..
오늘은 저와 같이 Angr 사용법에 대해 연구해봅시다! 1. Angr 사용법을 배우려고 하는 EU 1. Layer 7 CTF (2018) 문제를 푸는 도중.. Ezbt's Q : Did you know how to use Z3 Library or Angr? A : Noop, I don't know what it is.. 2. 지인분께 Go언어로 된 문제를 받고 리버싱을 하는 도중.. ??'s Q : 마! 앵거 문제 무봤나? A : 잠만 나 아직 ezbt WriteUp도 안 검색해봤.. 잊을만하면 Angr 문제가 나와서 사용하는 방법을 익혀둘려구요. ezbt 문제 같은 경우는 리버싱을 다해놓은 상황임에도 불구하고 손도 못대고..(IDA 디컴파일 기능을 안사용하고, 툴 사용을 자제하던 때였음. (바보) ) ..
기도메타에 빠진 개구리(OutDoorFrog)입니다! Demon팀 지원과 수능이 겹치는군요! 수능시험생 분들과 Demon팀을 지원하신 분 모두 유종의 미를 걷을 수 있길 바랍니다! 1. GO언어가 뭐에요? Go언어는 2009년 구글이 개발한 프로그래밍 언어입니다.가비지 컬렉션 기능, 병행성을 잘 지원하는 컴파일 언어입니다. 출제자로써 사용해보기 좋은 언어인 것 같습니다.(분석을 저해하는 구문들이 섞여나오고, 안티 리버싱 기법이 기본으로 탑재된 것 같아서입니다.) 청정수 리버서를 벗어나기 위해 다양한 언어를 리버싱을 해볼려고 시도를 해보는 중인데 Go언어를 사용하는 바이너리 파일을 리버싱해보니 조금 특이해서 포스트로 기록해둘려구요. 출처 : strazzere 님의 Bsides_golang_loader_as..
멘탈에 금가는 중인 개구리(OutDoorFrog)입니다. 프로젝트를 힘차게 진행해야할 시기가 다가옵니다. 개발 부분에서는 크로스 플랫폼 핵심 모듈 설계의 기술이란 도서를 보며 깨지는 중이고 보안 부분에서는 디컴파일을 하고도 기능을 못 유추할 것 같은 쉘코드를 보며 깨지는 중입니다. 오늘은 연구에 조금 진전이 있어서 이야기를 해드릴려고합니다. 썰을 풀어보겠습니다!! 0. DLLMain을 찾았습니다만.. 대부분의 프로그램은 Main 함수로부터 시작합니다. 악성코드 분석도 Main 함수를 찾는 것을 첫 번째 목표로 합니다. 나뭇잎 책의 말을 빌리자면 베이스 캠프를 설치한다고 보면 되겠네요. 윈도우 시스템 프로그래밍에 1년 반이라는 시간을 투자했던만큼WinAPI 관련 소스 코드를 해석할 때 좀 더 정확하고 빠르..