일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java8
- #크랙미4번
- #리버싱
- #abex
- #크랙미3번
- #크랙미
- Spring
- springframework
- #심플즈
- #크랙미 10번
- java
- #크랙미 5번
- #보안이슈
- #abex크랙미
- #크랙미 9번
- #크랙미2번
- 리버싱
- #고클린
- leetcode
- #심플즈 크랙미
- Easy
- GraphQL
- #보안뉴스
- #파밍
- #abex크랙미4번
- Today
- Total
목록#크랙미 (6)
Halo World
크랙미 10번 문제입니다! 실행화면인데요, 잘못된 코드라고 뜨는군요..! 파일을 올리디버거로 열어본 후에, F8로 실행시켜 보았는데요, 저부분에서 자꾸 함수의 끝으로 가더라고요 보니까 안티리버싱 코드인 것 같습니다. 그래서 CMP EAX,0 에서 0을 EAX와 같은 값인 1로 설정해 주었더니 제대로 실행이 되었습니다. 문자열을 보았더니 저기 성공메시지가 보이네요! 성공메시지 쪽으로 가보았습니다. 그 위쪽에 JNZ로 실패 메시지로 가기 전 CMP에 브레이크 포인트를 걸고 실행시켜 보았습니다. 입력 값은 처음과 마찬가지로 aaaa라고 입력하였습니다. EBP-4와 0E를 비교하고 있습니다. 스택의 EBP-4에 저장되어있는 값을보니 4가 저장되어 있네요. 보아하니 4는 입력한 코드 aaaa의 글자수 인 것 같아..
안녕하세요!! 한동안 이것저것 바빠서 블로그 운영을 소홀히 했네요.. 시간이 난 김에 오랜만에 크랙미 문제를 풀어보려하는데요ㅎㅎ 크랙미 6번 부터 8번은 파일이 지금 없어서.. 구하는대로 풀어보도록 하려고 합니다. 이제 심플즈 크랙미 9번 문제 풀이를 시작하겠습니다. 먼저, 실행시 화면입니다. haloworld와 비밀키 1111을 입력해 보았는데 역시나 더 시도해보라고 하네요! 올리디버거로 파일을 열고 F8로 코드를 조금 실행시켜 보았습니다. 조금 실행시키다 보니 위와 같은 부분이 나오는데 코드가 비주얼 베이직으로 되어있네요! 오랜만입니다ㅎㅎ 비주얼 베이직으로 되어있으니 Search for > All Intermodular Calls를 이용해 쓰인 함수들을 보았는데요 저기 아랫부분에 vbaStrCmp라는..
크랙미 5번 풀이를 하겠습니다. 문제는 위에 첨부되어 있습니다.먼저 실행화면 입니다. 이 문제도 4번 문제와 같이 올바른 시리얼 넘버를 입력하는 문제인데요. 일단 아무거나 aaaa를 입력해 보았더니 에러 메세지가 뜹니다. 올리디버거로 실행한 후에 F8로 본 함수로 들어온 화면입니다. 쓰인 문자열을 보았는데요.자세히 보시면 성공메세지가 보이네요ㅎㅎ일단 Well Done!으로 가보았습니다.보시면 Well Done 위에 string1과 string2를 비교하는 듯한 부분이 있습네요.저기 위에 브레이크 포인트를 걸어보았습니다.다시 실행 시킨후 시리얼 넘버로 aaaa를 입력해보았습니다.잘 보시면String2에는 입력한 시리얼넘버인 aaaa가 들어가 있고String1에는 긴 문자열이 들어있네요.LeC-5781Ykp..
크랙미 3번 풀이입니다. 파일은 위에 첨부되어 있습니다. 먼저 실행시켜 보았습니다. 키파일을 찾을 수가 없다고 뜨네요!! 올리디버거로 실행시킨 후에 F8로 한줄한줄 실행해 보았습니다. 두번 정도 함수 호출 후에 중요해 보이는 부분이 나오네요!! 계속 F8로 실행시켜 보았는데요... 함수 부분 잘 보시면 이런 부분이 있는데요. abex.l2c라는 키파일을 오픈하고 있습니다. abex.l2c 파일이 없기 때문에 다음 부분해서 점프해서 아래로 내려가게 되는데요... 일단 abex.l2c라는 파일을 메모장을 이용해 만들어 준 후 다시 실행시켜 보았습니다. 이제 점프하지 않고 아래로 내려가지네요ㅎㅎ 아래쪽에 GetFileSize라는 함수가 나오는데요 파일의 사이즈를 구해서 EAX에 저장시켜주는 것 같습니다! 처음..
이번에는 크랙미 2번 문제를 풀어보겠습니다. 파일을 위에 첨부해 놓았습니다! 일단 한번 실행해 보겠습니다. 이런 화면이 나오는데요 Name과 Serial에 aaaa를 입력해 보았습니다. 역시 안된다고 뜨는군요ㅠ 올리디버거로 실행한뒤에 F8로 조금씩 실행시켜 보았습니다. 그리고 어떤 문자열들이 들어있나 보았는데 저기 보시면 Congratulation! 이 눈에 띄네요ㅎㅎ 그쪽으로 가보았습니다. 쓰인 함수를 보니 비주얼 베이직으로 작성되어있다는 것을 알수 있습니다. 보시면 00403332부분에 JE에서 아래쪽으로 점프를 시키고 있는 것을 알 수있는데요 그래서 그보다 위쪽인 00403329에 브레이크 포인트를 걸어보았습니다. 브레이크 포인트를 건 부분에서 스택의 내용을 살펴보니 제가 비밀번호로 쓴 aaaa라는..
크랙미 1번 문제를 풀어보았습니다. 파일은 위에 첨부해 놓았습니다! 먼저 파일을 실행해 보겠습니다. 이런 화면이 나타납니다. 음..HD를 CD롬으로 인식하게 해달라고 합니다.. 그냥 [확인]을 눌러보겠습니다ㅎㅎ 역시나... CD롬이 아니라서 안된다고 하네요ㅠㅠ 그러면 이제 올리디버거를 이용해서 실행시켜 보겠습니다. 이런 화면이 나오네욥. 코드를 한줄한줄 실행하다 보면.. 뭔가 익숙한 화면이 나오네요! 아까 본 그 화면입니다. 다시 실행시키다 보면 요부분을 보시면 EAX의 값과 ESI의 값을 비교하고 있네요!! JE를 이용해 값이 같으면 점프를 하게 되어있습니다. 레지스터 안의 값을 보면 EAX는 1이고 ESI는 3으로 서로 다르네요. 서로 값이 다르면 JE에 의해 아까 보았던 Nah...메세지를 출력하게..