일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #보안뉴스
- #심플즈 크랙미
- #크랙미 10번
- #크랙미 5번
- 리버싱
- #크랙미2번
- #보안이슈
- #abex
- #크랙미4번
- #abex크랙미4번
- #크랙미
- Spring
- java8
- #크랙미3번
- #리버싱
- GraphQL
- springframework
- #파밍
- Easy
- java
- #abex크랙미
- #고클린
- leetcode
- #크랙미 9번
- #심플즈
- Today
- Total
목록보안/REVERSE ENGINEERING (11)
Halo World
심플즈 크랙미 14번 문제는 Key 값이 154C-6505-D2ADD0F3-A223-2870 일때 Name은 무엇인가 힌트 : Name은 두자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자) 이다. 지금까지는 주로 키 값을 찾는 문제였다면 이번 문제는 키에 맞는 Name 값을 찾는 문제이다. 지금까지 포스팅하며 풀었던 크랙미 문제 중에서 가장 어려웠던 것 같다.. 첫 실행시 화면이다. 예시로 위와 같이 입력해 보았다. 키 값이 틀려 성공메시지가 뜨지 않는다. F8로 실행시켜서 성공메시지가 있는 곳으로 가보았다. 위쪽에 하나씩 브레이트 포인트를 걸며 실행시켜보면 위 사진의 브레이크 포인트 부분을 지나면 키 값이 생성되는 것을 알 수 있다. 내가 입력한 halowo..
크랙미 13번 문제입니다. 심플즈 사이트가 안들어가지는 관계로 그냥 성공메시지를 띄우는 것을 목표로 하겠습니다. 실행화면 입니다. aaaa를 입력하고 Check를 눌러보았지만 아무런 일도 일어나지 않았습니다. F8을 몇번 눌러보니 본 함수로 들어와 지는군요. 문자열 보기를 이용해 성공메시지가 있는 곳으로 갔습니다. 저 긴 문자열과 다 비교를 한 후, 성공메시지쪽으로 가는 JMP문에 브레이크 포인트를 건 후 실행해 보았습니다. Key 값으로는 aaaa를 입력하였습니다. 보면 아래쪽에 EAX와 다른 값을 비교한 후, 같지 않으면 성공메시지를 뛰어넘는 것을 알 수 있습니다. 현재 EAX에 들어있는 값을 보았는데요. 그냥 0으로 되어있네요. 왜 0이 들어가 있을까요? 파일을 다시 실행시키고 이번에는 1111을 ..
이번엔 12번 문제 풀이입니다! 파일을 실행시키면 위와 같은 메시지창이 3개 뜨는데요. 마지막 메시지 창을 보시면 NAG NAG위에 REMOVE ME라고 되어있습니다. 저 메시지 창을 지우면 될 것 같습니다! F8로 실행시키다 보면 위와 같은 화면이 나오는데요. 그냥 메시지 창을 3개 띄우고 종료하는 프로그램 입니다. 그중 NAG NAG 메시지 창은 제일 아래 쪽에 있네요. 마지막 메시지 창을 띄우지 않으려면 마지막 메시지박스의 CALL로 MessageBoxA 함수를 호출하는 부분을 ExitProcess함수를 호출하도록 바꾸어 주면 됩니다. ExitProcess함수의 주소인 00101046을 입력해 주면 완성입니다. 지금은 왜 때문인지 사이트가 열리지 않지만, 원래 심플즈 사이트에는 저 3번째 메시지 박..
안녕하세요! 벌써 11번 문제를 풀 차례네요ㅎㅎ 파일을 실행하고 값으로 aaaa를 집어넣어 보았습니다. 이런 메시지들이 뜨는군요 역시 올리디버거로 열고 F8로 몇번 실행시켜 보았습니다. 그리고 함수의 진입점으로 보이는 곳에서 문자열보기를 통해 아까 보았던 실패메시지가 있는 곳으로 가보았습니다. 가서 코드를 보아하니 비주얼 베이직으로 되어있네요!! 비주얼 베이직으로 쓰인 함수들을 보니 저기 vbaStrCmp 함수가 있네요! 이번에는 어떤 것과 비교하고 있는지 한번 보겠습니다. vbaStrCmp함수가 쓰인 곳에 브레이크 포인트를 걸고 F9로 파일을 실행해보았습니다. 입력 값은 역시 aaaa를 입력했습니다. 브레이크 포인트를 것 곳에서 레지스터의 값을 보니 제가 입력한 aaaa와 677345라는 값이 들어있네..
크랙미 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..
안녕하세요! 오랜만에 글을 쓰네요ㅎㅎ 오늘은 크랙미 4번 문제를 풀어보았습니다. 문제는 위에 첨부되어 있습니다. 먼저 4번 문제를 실행하면 나타나는 화면인데요. 올바른 시리얼 넘버를 입력하는 문제인 것 같습니다. 올리디버거로 실행해서 F8을 몇번 누르다 보면 본 함수가 등장합니다. 여기서 문자열 목록을 보면 이렇게 성공메세지들이 보이는데 일단 Well done!으로 가보았습니다. 흠... 근데 보시면 일반 코드와는 다르게 생겼다는 것을 느끼게 됩니다. MSVBVM 이런 함수드을 보니 비주얼 베이직으로 쓰여졌군요ㅎㅎ 비주얼 베이직으로 쓰인 함수들을 목록을 보았습니다. search for 에서 all intermodular calls를 이용해 보시면 됩니다. 함수들 이름을 보다보면 vbaStrCmp를 보실 ..
크랙미 3번 풀이입니다. 파일은 위에 첨부되어 있습니다. 먼저 실행시켜 보았습니다. 키파일을 찾을 수가 없다고 뜨네요!! 올리디버거로 실행시킨 후에 F8로 한줄한줄 실행해 보았습니다. 두번 정도 함수 호출 후에 중요해 보이는 부분이 나오네요!! 계속 F8로 실행시켜 보았는데요... 함수 부분 잘 보시면 이런 부분이 있는데요. abex.l2c라는 키파일을 오픈하고 있습니다. abex.l2c 파일이 없기 때문에 다음 부분해서 점프해서 아래로 내려가게 되는데요... 일단 abex.l2c라는 파일을 메모장을 이용해 만들어 준 후 다시 실행시켜 보았습니다. 이제 점프하지 않고 아래로 내려가지네요ㅎㅎ 아래쪽에 GetFileSize라는 함수가 나오는데요 파일의 사이즈를 구해서 EAX에 저장시켜주는 것 같습니다! 처음..
이번에는 크랙미 2번 문제를 풀어보겠습니다. 파일을 위에 첨부해 놓았습니다! 일단 한번 실행해 보겠습니다. 이런 화면이 나오는데요 Name과 Serial에 aaaa를 입력해 보았습니다. 역시 안된다고 뜨는군요ㅠ 올리디버거로 실행한뒤에 F8로 조금씩 실행시켜 보았습니다. 그리고 어떤 문자열들이 들어있나 보았는데 저기 보시면 Congratulation! 이 눈에 띄네요ㅎㅎ 그쪽으로 가보았습니다. 쓰인 함수를 보니 비주얼 베이직으로 작성되어있다는 것을 알수 있습니다. 보시면 00403332부분에 JE에서 아래쪽으로 점프를 시키고 있는 것을 알 수있는데요 그래서 그보다 위쪽인 00403329에 브레이크 포인트를 걸어보았습니다. 브레이크 포인트를 건 부분에서 스택의 내용을 살펴보니 제가 비밀번호로 쓴 aaaa라는..