Layer7 동아리 과제

리버싱 9차시 과제

msh1307 2022. 8. 16. 22:18

prob for beginner

열어서 디컴파일 해보면, 이렇게 나온다.

식을 그대로 복사했다.

붙여넣고 &&랑 공백과 개행 문자를 다 없애줬다.

돌려보면 이렇게 나온다.

아까 돌려서 나온 식들을 그대로 복사 붙여넣기 해서 풀었다.

print() 기본적으로 개행 문자가 붙어서 나가서, end =''로 개행 문자 없애고 출력했다.

prob-1

디컴파일 해보면, 이렇게 나온다.

if 문쪽 식을 그대로 복사하고 붙여넣어준다.

그다음 LL을 제거해주고, 보기 좋게 만들어주고 프린트해보면

아래처럼 나온다.

이거 그대로 복사하고 풀어주면 된다.

여기선 8 바이트 v4, v5, v6로 표현되었지만, scanf가 %s로 v4부터 받아서 v5, v4 순서대로 출력해주면 된다.

나온 걸 string으로 만들어주면 

리틀엔디안이라서 이런 식으로 나온다. 

아까 순서를 맞춰줬으니, 그냥 앞뒤 돌리면 된다.

prob-3

소스 코드를 문제에서 제공해줬다.

if 문의 식을 그대로 복사하고

붙여넣고 replace로 &&를 , 로 바꿔줬다.

그대로 풀어준다.

비트 연산이 없을땐 Int로 해야 flag가 잘 나온다.

왜 그런지는 모르겠다.

prob-4

소스 코드를 제공해줬다.

식을 그대로 복사하고 

&&를 ,로 바꿔줬다.

바꿔준 식을 그대로 복사 붙여넣기 해주고, 풀었다.

8 바이트씩 쪼갠 거니까 순서 다시 맞춰주고 출력해보면

이렇게 나온다.

hex를 string으로 바꾸면 위와 같이 나온다.

리틀엔디안이라서 그렇다.

그대로 복사해서 거꾸로 돌려주고 프린트해주면 바로 나온다.

'Layer7 동아리 과제' 카테고리의 다른 글

리버싱 11차시 과제  (0) 2022.08.30
리버싱 10차시 과제  (0) 2022.08.23
리버싱 8차시 과제  (0) 2022.08.10
리버싱 7차시 과제  (0) 2022.08.08
리버싱 6차시 과제  (0) 2022.08.02