[완료]binary data가 포함된 실행파일을 만들고 싶습니다.

ironboy의 이미지

GCC 같은 것을 설치할 때 처럼...
그냥 퍼미션만 755 로 바꾸어서,

# ./gcc-version-i386.bin

이런식으로.. 하나의 실행 파일을 실행하면..
그 파일 안에서.. 다른 데이터가 나오는 설치파일을 만들고 싶습니다.

gcc 혹은, g++ 을 통해서.. 저런 파일을 만들려면..
뭘 찾아봐야 할까요...?

============================================

질문을 제가 읽어도.. 무슨 말인지 모르겠어서-_- 부연을 하려고 합니다.

클라이언트에... 3-4개의 파일을 넣어야 하는데..
클라이언트로 배포는 하나의 파일만 보내야 합니다.

즉, 하나의 파일안에.. 3-4개의 작은 파일들이 모여있어서..

int main(...)
{
   write_file( "/usr/local/ppp/data1", 0x30000 /*자기자신파일?*/, 1024/*크기*/ );
   write_file( "/usr/local/ppp/data2", 0x60000 /*자기자신파일?*/, 1024/*크기*/ );
}

이런식으로.. 실행된 자기 자신의 파일 특정 번지부터, 특정 크기까지를 다른 파일로
뽑아내고 싶은거죠...

이런 파일을 지원해 주는.. 표준 형식의 실행파일이 존재하는 것인지..
아니면.. 단순히.. 직접 만든 elf파일 뒤에다가.. 강제로 바이너리 데이터를 붙여서 만들어야 하는 것인지..
의견을 구하고자 합니다.

감사합니다.

김정균의 이미지

jdk 설치 파일을 보시면.. shell script 안에 rpm file 을 포함해 놓은 것을 보실 수 있을 겁니다. 이걸 잘 분석해 보시면 될 것 같습니다만..

체스맨의 이미지

직접 보진 못했지만 그건 아마도 shar ( shell archive ) 의 일종일 것 같습니다.

http://en.wikipedia.org/wiki/Shar

Orion Project : http://orionids.org

ironboy의 이미지

shar가 맞는 듯 합니다.
감사합니다. ^^;;

redneval의 이미지

http://peter.cx/stephane/makeself/

nVidia 리눅스용 드라이버도 makeself 를 사용했다고 하는군요.

jsj3579의 이미지

바이너리 데이터를 Bin2hex 정도의 프로그램으로 hex 스트링 0x22, 0x22d 등으로 고쳐서 인클루드 시켜서 작업하는데 한표입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.