고민 끝에 Ultra DMA쪽은 다음에 하는 걸로 미루고, ELF64의 Relocation 처리 부분을 하고 있습니다. PCI 부분을 다루자니 배보다 배꼽이 더 커지는 것 같고, 또한 굳이 DMA를 사용하지 않아도 HDD를 읽는데 문제가 없기때문에 작업량을 늘릴 필요가 있겠나 하는 생각이 들었습니다. ㅠㅠ 그래서 결국 다음에 시간나면 천천히 하는 걸로 결정했습니다.

 ELF64 File Format Spec을 보면서 느낀건데, PE File Format과 굉장히 비슷하군요. 차이점이라면 Section 별로 Relocation 정보를 가진 Section이 딸려오는 것이랄까요... r_link 및 r_info Field를 이용해서 Relocation 및 Symbol 정보가 포함된 Section으로 찾아갈 수 있습니다.

 아래는 간단히 VC로 만들어본 ELF64 Analyzer의 화면입니다. 각 Section 정보를 추출해서 Symbal 및 Relocation 정보를 나열하고 있습니다.
사용자 삽입 이미지

 이제 실제로 Relocation해서 메모리에 올리는 일만 남았군요. ;) 점점 삽질하는 속도가 빨라지고 있습니다. ㅠㅠ 좋은 건지 나쁜 건지... 일단 ELF64에 대한 내용은 천천히 정리해서 포스팅하겠습니다. ;)

 요거 끝나고 나면 GUI를 살짝 만들어보고 바로 작업(?)에 들어가야겠습니다. ㅎㅎ 아웅~ 잘되야할텐데... 걱정입니다. ㅎㅎ
 그럼 다들 좋은 밤 되세요 ^^)/~



+ Recent posts