Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2017, 01:21   #1
Якъ
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 22
По умолчанию Шифрование exe-файла

Проблема такова: считываю exe-файл в бинарном виде в char-массив. После этого записываю содержимое этого массива в exe-файл. В итоге exe-файл выдает ошибку при запуске. При этом, если открыть exe-файл до обработки программой и после с помощью блокнота, выяснится, что некоторые символы куда-то пропали (большинство остались такими же). Не понимаю в чем может быть ошибка. Сталкивался ли кто-нибудь? Подскажите пожалуйста, уже голову сломал
Якъ вне форума Ответить с цитированием
Старый 22.06.2017, 02:16   #2
Якъ
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 22
По умолчанию

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <io.h>
#include <locale>

using namespace std;

int main()
{
setlocale(LC_ALL,"Russian" );

long size=0;
char buff;
char *buffer = new char[1000000];

ifstream in("D://file.exe", ios_base::in|ios_base::binary|ios_b ase::ate);
size=in.tellg();
in.close();

ifstream in2("D://file.exe", ios_base::in|ios_base::binary);
for (long i=0; i<size; i++)
{
in2>>buff;
buffer[i]=buff;
}

in2.close();

ofstream out("D://file.exe", ios_base:ut|ios_base::binary|ios_ base::trunc);
for (long i=0; i<size; i++)
{
out<<buffer[i];
}

system("PAUSE");
return 0;
}
Якъ вне форума Ответить с цитированием
Старый 22.06.2017, 02:57   #3
Якъ
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 22
По умолчанию

С fread() и fwrite() похоже работает. Ура! Всем спасибо xDD

Последний раз редактировалось Якъ; 22.06.2017 в 03:04.
Якъ вне форума Ответить с цитированием
Старый 22.06.2017, 07:29   #4
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Насчет чтения всего файла в память я вам тут наверну:

http://cpp.indi.frih.net/blog/2014/0...memory-in-cpp/

вобщем и целом наиболее очевидные решения не верны ( в т.ч. и что у вас тут есть). Заглючить могут и fread/fwrite, но позже. И вообще, там скорее всего, глюки происходят от того у вас, где файлы на диске физически записаны, и какая файловая система у диска.

Последний раз редактировалось alexzk; 22.06.2017 в 07:36.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование файла С++ max.krejjk Помощь студентам 5 26.05.2016 08:27
Шифрование файла by_Trojan C# (си шарп) 2 07.04.2012 20:28
Извлечение всех exe-файла из запороленного exe -файла Memfis1992 Общие вопросы Delphi 1 27.10.2010 03:06
Шифрование файла. dip Помощь студентам 1 04.12.2009 10:17
чтение из одного exe файла, и запись в другой exe inndim Общие вопросы Delphi 2 04.02.2009 15:23