Lv.15 (^오^)
5개월 전
출력된 값 중 특정 부분을 읽어오는 코드며 당연히 어떻게 출력되느냐에 따라 읽어오는 부분이 달라지게 됩니다.
일반적으로는
lic = u64(p.recvuntil(b'\x7f')[-6:].ljust(8,b'\x00'))
이 코드가 범용적으로 쓰이게 됩니다. ASLR이 적용되어 있을 경우 라이브러리 주소는 항상 0x00007f~~~로 시작하기 때문에 7f부터 6만큼 값을 받아들이고 뒤에 널바이트를 추가해서 u64() 함수로 int 값 형식으로 만들어 저장합니다.
이건 이해했습니다. \x00 으로하는이유가 궁금합니다.!