완료됨
시스템해킹 - stage2 어셈블리 퀴즈 1 문제좀 도와주세요!
end로 점프하면 프로그램이 종료된다고 가정하자. 프로그램이 종료됐을 때, 0x400000 부터 0x400019까지의 데이터를 대응되는 아스키 문자로 변환하면 어느 문자열이 나오는가?
[Register]
rcx = 0
rdx = 0
rsi = 0x400000
=======================
[Memory]
0x400000 | 0x67 0x55 0x5c 0x53 0x5f 0x5d 0x55 0x10
0x400008 | 0x44 0x5f 0x10 0x51 0x43 0x43 0x55 0x5d
0x400010 | 0x52 0x5c 0x49 0x10 0x47 0x5f 0x42 0x5c
0x400018 | 0x54 0x11 0x00 0x00 0x00 0x00 0x00 0x00
=======================
[code]
1: mov dl, BYTE PTR[rsi+rcx]
2: xor dl, 0x30
3: mov BYTE PTR[rsi+rcx], dl
4: inc rcx
5: cmp rcx, 0x19
6: jg end
7: jmp 1
제가 이해한건
- rsi+rcx의 주소를가진 메모리값을 1바이트 불러와 dl에 저장
- dl과 0x30 xor 연산후 dl에 저장
- dl을 rsi+rcx 주소를 가진 메모리값 1바이트 크기의 해당하는 곳에 대입
- 이 과정을 메모리주소 0x400019까지 반복
도와주세요 ㅠㅠ 어디서 막힌건지 모르겠어요 막막해요.. 문자로 변환하고 했는데 다 틀렸다고 나와서 모르겠어요..ㅠ
#어셈블리
#퀴즈
작성자 정보
답변
1
wyv3rn
무플 방지 위원회장
어떻게 하셨고, 어떤 값이 출력되나요?