OutDoorFrog의 리버싱 이야기

그동안 봐왔던 리버싱 문제 유형 정리 본문

취미/나를 되돌아 보는 시간

그동안 봐왔던 리버싱 문제 유형 정리

OutDoorFrog 2018. 9. 17. 10:37

안녕하세요 블로그의 주인장 OutDoorFrog입니다!



오늘은 그동안 봐왔던 리버싱 문제 유형에 대해서 정리해보겠습니다.




봐왔던 문제들부터 정리해봅시다.


1. 루비 리버싱


[HITCON CTF 2016 Quals 바로 가기]


그 때는 디스어셈블러도 찾지도 못했습니다만


다음에 나온다면 해결할 수 있을 듯 싶군요.





3. 자바 리버싱


[JavaEasy 풀이 바로 가기]


해킹 캠프에 대해서 준비했을 때 JavaDecompiler를 사용한 풀이 방법을 봤었습니다.


(그래서 빠르게 풀고 ILoveRegistry 문제, YEE 문제에 시간을 다 할당했습니다.)





4. C# 리버싱


DotPeek이라는 C# Decompiler를 써서 푸시면 됩니다.


자바, C# 같은 언어들은 디컴파일러의 효율이 굉장합니다.(안 쓰면 손해)





5. 암호화 루틴을 해석 & 플래그를 맞추는 문제


이번 Layer 7 CTF, 해킹 캠프에서 경험한 문제입니다만...

이런 문제들은 대부분 ELF 파일로 나옵니다.


디컴파일러가 없는 IDA, EDB 디버거를 연동해서


1. 어셈으로 된 암호화 루틴 해석
2.값을 넣어 해석한 루틴의 무결성 증명

3. 복호화 루틴 제작

4. 암호화된 플래그를 복호화 루틴에 넣어서 확인


이런 순서를 세워서 문제를 풀고 있습니다만

복호화 루틴을 못세울 때가 많습니다.




6. 안티 디버깅 문제


모르면 못 풉니다.


대처 방안 및 순서는 세우고 있고 더 연구해야 할 듯 싶습니다.




언급을 못한 리버싱 문제는... (출제자님 죄송합니다)



*.COM 파일을 디버깅하라는 문제가 있었는데....


허허 환경을 완성을 하고도 못풀었습니다 ㅋㅋㅋ


못 푼 문제들은 writeup 보고 리뷰하겠습니다.




다음 포스트는 정리한 공부 방향 및 목표에 대해서 올리겠습니다!  

Comments