반응형
#include <stdio.h>
int main() {
int answer[32] = {0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB,
0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2, 0xD6,
0xA8, 0xA5, 0xDC, 0xC7, 0xAD, 0xA3, 0xA1, 0x98, 0x4C};
int a = 0; //아스키코드 반복 변수
int c = 0; //answer count 변수
int k = 0; //답 문자
int s = 0; //변수 a 되돌리기
for(a=0; a<127; a++) {
s = a;
for(c=0; answer[c] != NULL; c++) {
k = answer[c] - a;
printf("%c", a);
a = k;
if(c==22) {
printf("%c", a);
}
}
printf("\n");
a = s;
}
}
int answer[32] = {0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB,
0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2, 0xD6,
0xA8, 0xA5, 0xDC, 0xC7, 0xAD, 0xA3, 0xA1, 0x98, 0x4C};
int a = 0; //아스키코드 반복 변수
int c = 0; //answer count 변수
int k = 0; //답 문자
int s = 0; //변수 a 되돌리기
for(a=0; a<127; a++) {
s = a;
for(c=0; answer[c] != NULL; c++) {
k = answer[c] - a;
printf("%c", a);
a = k;
if(c==22) {
printf("%c", a);
}
}
printf("\n");
a = s;
}
}
진짜 코딩 줜나 못해서 오래 걸렸다. 완성한 코드마저 더럽다.
정답은 찾았는데 뭔가 찜찜하다. 이렇게 푸는게 맞는지도 모르겠고 내 생각에 정답은 여러개인데 쉘코드에서 복사되지 않는 아스키 코드도 있고 아스키 코드 중에 공백으로 되어 있는 부분도 있어서 여러 정답 중에 한 개의 정답을 찾아내는데 오래 걸렸다... B로 시작하는 정답으로 답을 맞춰보고 있다가 우연히 A로 시작하는 문자열을 보게 됬는데 문장 같길래 대입해보니까 정답이었다. 다른 사람이 푼 것도 확인해 봐야할 거 같다.
푸는데 2시간 + A정도 걸린듯...
반응형
'문제풀이 > 리버싱' 카테고리의 다른 글
dreamhack 리버싱 rev-basic-8번 코드 (0) | 2022.03.15 |
---|---|
dreamhack 리버싱 rev-basic-7번 코드 (0) | 2022.03.15 |
dreamhack 리버싱 rev-basic-6번 코드 (0) | 2022.03.13 |
dreamhack 리버싱 rev-basic-4을 풀어보자. (0) | 2022.03.12 |
crackme 6번 문제풀이 (2) | 2021.10.08 |