Склеивание 2-х файлов

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by bertys, 1 Oct 2012.

  1. bertys

    bertys New Member

    Joined:
    25 Jan 2012
    Messages:
    162
    Likes Received:
    0
    Reputations:
    0
    Есть 2 файла: программа написана на делфи, и текстовый документ с текстом("бла бла бла")

    В программе батон и мемо, по нажатию на батон в мемо прописывается текст с текстового файла, вот и вся программа

    Теперь сама проблема.
    В Фемиде (Themida) можно "склеить" несколько фойлов в один, в нашем случае это прога и тхт, и потом при открытии проги и нажатии на батон вывести в мемо текст тхт файла который "приклеен"к программе.

    Как это с делать в делфи? Или как приклееть к файлу написаному на делфи тхт чтоб он мог читатся
     
  2. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Записать текст в самый конец exe файла. Не элегантно, но практично. Можно еще ресурсы помучать при желании.
     
  3. bertys

    bertys New Member

    Joined:
    25 Jan 2012
    Messages:
    162
    Likes Received:
    0
    Reputations:
    0

    Как именно дописать?
    И как прочитать этот текст?
     
  4. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    В дельфи не силен, так что код кинуть не могу, могу лишь сказать, что нужно просто открыть файл проги на запись в бинарном режиме, дописать в конец текст, а потом просто читать его оттуда(как с простого файла, единственное стоит учитывать, что до текста хранится сама прога и ее содержимое нужно пропускать).
     
  5. fluffylion

    fluffylion Member

    Joined:
    22 Feb 2010
    Messages:
    55
    Likes Received:
    10
    Reputations:
    0
    Один из вариантов добавить файл в ресурсы приложения.
     
  6. bertys

    bertys New Member

    Joined:
    25 Jan 2012
    Messages:
    162
    Likes Received:
    0
    Reputations:
    0
    а можно ли как то скрыть ресурсы от програм для работы с ресурсами???
    И если добавить файл в ресурсы, то как из программы написаной на делфи прочитать его
     
  7. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Если файл требуется записать в прогу 1 раз и забыть о нем, то чем, например, массив байтов или переменная-строка не устраивают? Скрыть ресурсы не получится, в таком случае только в код программы вставлять в зашифрованном виде, а потом расшифровывать.
     
  8. bertys

    bertys New Member

    Joined:
    25 Jan 2012
    Messages:
    162
    Likes Received:
    0
    Reputations:
    0
    файл будет использоватся в программе постоянно
     
  9. 2echnoman

    2echnoman New Member

    Joined:
    3 Jul 2012
    Messages:
    54
    Likes Received:
    0
    Reputations:
    0
    Тогда ресурсы. ТОлько надо их зашифровать. Видны они будут, но хер кто прочитает (не но кому надо тот прочитает. Достаточно "посмотреть" алгоритм расшифровки).
     
  10. kap00stik

    kap00stik New Member

    Joined:
    26 Jun 2010
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    Даже не стоит париться с ресурсами. Как один уже сказал открыть файл, с GetFileSize узнать его размер, поставить указку на его конец :) и дописать туда второй файл.
    При скидывании аналогично, открываем себя, смотрим наш рамер GetFileSize(), тыкаем в конец читаем и пишем в новый файл.
    Я делал так, размер файла носителя + 4байта + размер второго файла.
    В эти 4 байта я писал dword размер второго файла чтобы знать сколко считывать при сбросе файла с носителя.