본문 바로가기

Security

[pwnable.kr] ascii_easy 보호되어 있는 글입니다. 더보기
[pwnable.kr] brain fuck 보호되어 있는 글입니다. 더보기
[pwnable.kr] fix 보호되어 있는 글입니다. 더보기
[pwnable.kr] dragon 보호되어 있는 글입니다. 더보기
[pwnable.kr] fsb 보호되어 있는 글입니다. 더보기
[pwnable.kr] simple login 보호되어 있는 글입니다. 더보기
[Reversing.kr] Music Player [주의] 해당 글에는 풀이 및 정답이 적혀있습니다. 스스로 해결하고 싶으신 분들은 문제를 해결한 후, 이 페이지를 참고하셨으면 합니다 : ) Music_Player.exe 파일과 dll 파일을 제공해주고, 1분 이상 실행시키는 것이 목적이다. 처음에 IDA로 봤는데 별로 유의미한 내용을 얻진 못하고, VB Decompiler로 많은 정보를 얻고 IDA의 Graph View로 실행흐름을 파악했다. 프로그램을 1분 이상 실행하려고 하면, "1분 미리듣기만 가능합니다."라고 msgBox가 나온다. FrmMain의 TMR_POS_TIMER를 보면 그 코드가 나와있다. 그래서 해당 부분을, 디버거로 디버깅했는데, 비교하는 부분을 찾았고, 이를 우회하지 못하면 메세지박스가 출력되는 것을 확인했다. 우회하기 위해 0.. 더보기
[Reversing.kr] Easy Keygen [주의] 해당 글에는 풀이 및 정답이 적혀있습니다. 스스로 해결하고 싶으신 분들은 문제를 해결한 후, 이 페이지를 참고하셨으면 합니다 : ) 문제를 보면, 시리얼이 "5B134977135E7D13"일 때, 이름을 찾으라고 한다. 실행은 이름을 입력하고 시리얼을 입력하는 순으로 흘러간다. 디버깅해보면, edx에는 입력한 이름, ecx에는 10, 20, 30이 반복되며 나타난다. 그리고 이름과 해당 값을 xor 계산하여 시리얼을 생성한다. 그렇다면, "5B134977135E7D13" 시리얼을 차례로 10, 20, 30을 xor하여 값을 구하면 답을 찾을 수 있을 것이다. (손으로 하나씩 해도 되는데, 코드를 구현해봤다.) serial = "5B134977135E7D13" x_value = [16, 32, 4.. 더보기