본문 바로가기
리버싱

리버싱 7(수정 예정)

by 윤라경 2024. 8. 19.

[2024.08.19]

 

 

local1이 30, local2가 50

1D가 29고

 

 

프로그램은 현재 실행 흐름을 중단하고

0x404006 주소로 점프하여 그 위치에 있는 코드를 실행하게 된다

 

 

현재 코드에서 명령어를 조작하여 출력 값을 20으로 만드는 것을 연습한다

 

 

해당 부분을 JLE가 아닌 JG로 바꾸게 되어도 값이 20으로 출력된다

 

 

명령어 조작 후 출력된 값을 확인했을 때 20이라는 값이 나온 걸 확인할 수 있다

 

 

해당 부분에서 JLE가 아닌 JGE로 수정시켜도 값이 20으로 출력된다

 

 

위의 코드에서 CRACK을 진행하는데, 변경된 메모리 값과 코드를 드래그 후

오른쪽 마우스를 클릭하고 Edit에서 Copy to executable을 선택한다 

 

 

그렇게 되면 선택한 화면들이 나열되고 그 각각의 화면에서 오른쪽 마우스 선택

이번에는 save file을 눌러 준다

 

 

해당 화면이 나오면 예를 눌러 주고

 

 

그런 다음 파일명을 지정하고 저장한 다음 파일을 열면 저장된 값을 부를 수 있다

파일을 부를 때 파일 형식을 소스가 아닌 any로 변경시켜야 화면에 보인다 

 

 

crack을 위해 변경된 값의 파일을 각각 실행시켰다면 00403040의 메모리 주소에서 더블 클릭 후

ASCII 값을 내가 원하는 문자로 아무거나 TEST를 입력 후 다시 저장한다

 

 

저장한 파일을 열어서 실행하게 되면 값을 입력해 넣었던 TEST가 정상적으로 출력된다

 

 

 

강의 소감

아직 if문 계산에서 막히기도 하고, 명령어들을 익혀야 될 구간인 것 같다

오늘 강의를 들으면서도 이해가 안 되는 부분이 많았기 때문에

이 시간 외에도 남는 시간을 활용하여 강의 녹화본을 한 번 더 보고

해당 게시물은 추가적으로 수정해야 될 것 같다

'리버싱' 카테고리의 다른 글

리버싱 9  (0) 2024.08.21
리버싱 8  (0) 2024.08.20
리버싱 6  (0) 2024.08.16
리버싱 5  (0) 2024.08.14
리버싱 4  (0) 2024.08.14