DEPCAMP r100
2018. 4. 2. 05:16ㆍ0x07 CTF/[라이트업 보고 푼 것]
728x90
Angr 공부용으로 풀어보았다.
바이너리 : r100.bin
메인함수이다.
패스워드를 입력하고 옳고 그름을 판단하는 전형적인 문제다.
심플해보이지만, 계산하기 귀찮게 되어 있는 연산이다.
이 연산을 한방에 해결하는 녀석이 angr라고 한다.
진심으로 오늘 처음 사용하고 충격받았다.
import angr
def main():
p = angr.Project("r100", load_options={'auto_load_libs': False}) // 실행시킬 바이너리 명
# 내가 찾는 주소가 0x400844 (Nice!)
# 피하려는 주소가 0x400855 (Incorrect Password!)
ex = p.surveyors.Explorer(find=(0x400844, ), avoid=(0x400855,))
ex.run() // 실행
return ex.found[0].state.posix.dumps(0).strip('\0\n')
if __name__ == '__main__':
print main()
몇 초 뒤에 정답이 딴.. ㅠㅠ 진심 충격이다.
'0x07 CTF > [라이트업 보고 푼 것]' 카테고리의 다른 글
NOX CTF att3nti0n[REV] (2) | 2018.09.09 |
---|---|
ISITDTU CTF PWNABLE XOXOPWN (0) | 2018.07.30 |
defcon2015 r0pbaby writeup (0) | 2018.04.08 |
defcon2015 r0pbaby 풀고 알게 된 것들 (0) | 2018.04.08 |