바이너리 파일 편집하는 소스좀 알려 주세요.
글쓴이: saekdong / 작성시간: 화, 2005/02/15 - 12:23오후
l.bin 이라는 바이너리파일이 있는데, 특정구간인
AA0000부터 EA1640 까지의 부분을 잘라내어서
D2.bin 이라는 파일에 AC0000부터 EC1640 으로 붙여 넣기
하는 소스가 필요합니다.
D2.bin에 옮겨질때에는 AA0000부터 AC0000바로 윗 부분까지의 빈 공간은 FF로 비워 두는것이 목적입니다.
어떻게 해야할지 난감하여, 급하게 질문 드립니다.
고수 여러분 완벽한 소스 하나만 부탁 드릴께요.
참고로 l.bin 과 D2.bin은 동일한 파일인데 위 구간의 위치만 다를 뿐입니다. 도와주세요...
Forums:
dd 명령을 이용하면 아쉬운대로 원하는 기능을 수행할 수 있습니다.
dd 명령을 이용하면 아쉬운대로 원하는 기능을 수행할 수 있습니다.
dd 명령은 10진수 값을 받기 때문에 주어진 16진 값들을 먼저 bc(1)를 이용해서 변환합니다.
예를 들면
은 l.bin의 AA0000-EA1640를 D2.bin의 AC0000에 써 넣습니다.
자세한 것은 dd(1)의 man page를 보시면 됩니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
답변 정말 감사드립니다.
한데 이 방법은 혹 유닉스나 리눅스에서 사용해야 하는것 아닌가요?
지금 저는 윈도우에서 VC++ 을 이용하여 프로그램을 작성해야만 합니다.
C++ 소스로 어떻게 변환하여 공간을 만드는지 전혀 감이 없네요..^^
초보자의 한계인가요 ㅎㅎ^^;;
부탁드려요.
대충 비슷한 역할을 할 수 있는 pseudo code입니다.[code
대충 비슷한 역할을 할 수 있는 pseudo code입니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
정말 감사합니다. ㅠㅠ
구간 설정은 어떻게 하는거죠? (바이너리는 처음이라..ㅡㅡ;)
가능하다면 헤더파일이 포함된 소스 전부를 좀 부탁드리면 안될까요?
파일명은 위를 적용해서...정말 죄송한 부탁인거 아는데..
지금 너무 막막하네요..
C만 하다가 C++을 하려니 정말 깜깜..ㅠㅠ
부탁드립니다.
리눅스에서 DD 명령어를 사용하여..
변환 하여 보았는데,
용량이 엄청나게 늘어나 버렸습니다.
28,271KB 가 5,653,487KB 가 되어 버렸네요.
이게 정상인가요?
댓글 달기