abex Crackme 5번 5번문제도 시리얼을 찾아내야 하는것 같다 디버거로 열어보자 문자열을 찾아 Error에 브레이크포인트를 설정하자 주요 코드들이 보인다 lstrcmpi라는 API가 눈에띈다 두개의 인자를 받으며 [402000]의 문자열이 "L2C-57816784-ABEX" 형태를 보아하니 시리얼로 추측된다 해결! Wargame/etc 8년 전
abex Crackme 4번 4번문제이다 시리얼을 입력하라고 하는데 버튼이 활성화가 되어있지 않다 숫자를 하나씩 늘려가도 활성화되지 않는다 잘 모르겠으니 올리디버거로 문자열부터 찾아보자 정답시 문자열은 존재하지만 오답시 문자열처럼 보이는것이 없다 버튼을 활성화하는것이 문제임을 추측해볼 수 있다 Well done을 따라가보자 한가지 눈에띄는 부분은 vba로 시작하는 함수들이다 비주얼 베이직으로 프로그래밍 되어었나보다 함수들을 검색해서 vba로 필터해보니 cmp라는 함수를 찾을 수 있었다 입력값을 비교해서 버튼을 활성화시킨다는 가설을 세우고 브레이크포인트를 걸어보자 2개의 인자를 받는다 ecx에 담긴 2117850이라는 값이 아마 비교의 대상인것 같다 버튼이 활성화 되었고 해결! Wargame/etc 8년 전
abex Crackme 3번 abex crackme 3번문제이다 key 파일이 있어야 문제가 풀리는듯 하다 우선 디버거로 열어보자 CreateFileA라는 API를 이용해서 abex.12c라는 파일을 로드하는것 같다 그리곤 GetFileSize API를 통해 파일의 크기로 KEY파일 진위여부를 판별하는것 같다 그러니 우리는 크기가 12인(dec:18) abex.12.c라는 파일을 생성하면 된다 저장한 후 확장자를 바꿔주고 실행해보면 풀린다 Wargame/etc 8년 전
[Reversing.kr]Easy Crack Reversing.kr의 첫번째 문제다 실행시 위와같은 화면이 나오고 아무값이나 입력한 후 확인을 누르면 틀렸다고 뜬다 x64dbg 디버거를 통해 풀어보자 문자열을 찾아 주요 코드부분을 찾아냈다. 시작부분에 브레이크포인트를 걸어 재실행시 찾기 쉽게 해놓자 코드를 잘 보면 cmp로 메모리를 특정 문자와 비교하는것을 볼 수 있다 이것이 비밀번호와 비교하는 부분이라고 추측할 수 있다 하지만 자세히 보면 문자열참조 기준이 esp이다 esp는 스택의 최상단을 가리키기 때문에 코드가 실행되는동안 계속 변화한다 esp의 변화과정을 알아내는것이 이 문제의 핵심인듯 하다 스택에 데이터 입출력을 담당하는 명령인 push와 pop을 찾고 esp를 직접적으로 수정하는 부분이 있나 확인해보자 esp+5의 값과 61(a)를 비교.. Wargame/etc 8년 전
abex Crackme 1번 abex 크랙미 첫번째 문제다 실행시켜보자 나의 하드디스크가 CD-Rom인것처럼 인식하도록 만들어야하는것 같다 확인을 누르자 바로 CD롬이 아니라고 뜬다 디버거를 통해 분석해보자 주요 코드들을 찾아볼 수 있었다 위에서부터 분석해보자 MessageBox라는 API 함수를 통해 처음 보았던 창을 띄우는것을 알 수 있다 그다음에 C:\\라는 문자열을 스택에 넣고 GetDriveType 함수를 호출한것을 보아 변수로 넘어간 드라이브명을 가지고 CD롬인지 아닌지 확인하는것 같다 여기서 첫번째 풀이법을 생각해볼 수 있다 push하는 값을 실제 CD롬의 이름으로 바꾸어 주는것이다 다시 코드로 돌아와서 eax를 건드리는 것을 보아 GetDriveType에서 리턴한 값이 CD롬인지 아닌지 판단할 수 있게 해줌을 추측할 .. Wargame/etc 8년 전
[xcz.kr]Web Basic xcz.kr의 web basic이라고 하는 문제이다. 쉽긴한데 매우 귀찮은 문제였다... 우선 소스를 보자 이건 무엇을 위한 문제인가...... 일단 보기 힘드니 복붙해서 정리하자 이제야 좀 나아진것 같다. 코드를 보면 최종적으로 test함수를 통해나온 반환값을 비교한다. Line-By-Line 설명은 생략하고 전반적으로 설명하자면 각 자리의 아스키코드값을 바(-)를 통해서 구분하는 함수가 test이고 그것이 되어야 하는 값이 있다. 우선 무엇이 되어야할지부터 알아보자 iss에 givemepassword라는 키워드를 만들어내면 되는것 같다. iss는 GET으로 들어온 값에 COOKIE에 있는 값을 더한것이므로 둘이 이어서 저 문장이 되도록 만들어보자 POST버튼을 만들어 action주소에 URI를 붙여 .. Wargame/etc 8년 전
[pwnable.kr]fd fd 문제를 클릭했을 때 뜨는 창이다 어머니께 파일 디스크립터에 대해서 묻고있다.(문제에서) 파일 디스크립터 ( http://g0pher.tistory.com/124 ) 위에 있는 대로 접속해보면 아래와 같은 화면이 나온다. 우선 현재 폴더에 어떤 파일들이 있는지 확인해 보면 아래와 같은 목록이 보인다. flag라는 이름에 끌리긴 하지만 권한이 없고, 아마도 fd파일에 setuid가 걸려있는 것을 보니 fd를 통해 문제를 푸는것 같다. fd가 어떻게 구동되는지 알아보기 위해 소스파일을 열어보았다. 입력값에 0x1234를 차감한 후에 그것을 파일 디스크립터값으로 사용한다.그리고 읽어들인 값을 buf에 저장한 후에 LETMEWIN\n 과 비교한다. 즉, 우리는 LETMEWIN과 같은 값을 buf에 저장해주면.. Wargame/etc 8년 전