- 코드 덮기

e = ELF('./FILE_NAME')
e.asm(code_address, asm)

뭐 asm에 "call 0xdeadbeef"이런거 넣으면 code_address에 입력한 주소에 asm이 들어가도록 해서 패치할 수 있다. "e.save('FILE_PATH')"로 저장도 가능하다.

int(e.read(code_address, read_byte)[::-1].encode('hex'), 16)

그 다음에 이런식으로 코드를 가져올 수도 있음.

 

 

- got

한 번이라도 호출된 함수는 got영역에 0x7fffxxxxxxxx 이런식으로 6byte정도 써져있다.

만약 4byte만 덮을 수 있는 상황일 때 주의해서 사용해야 한다.

+ Recent posts