Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
jameskolwolf
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 4
#1

Не правильно работает программа посимвольного чтения из exe и записи в txt - C++

17.05.2014, 01:17. Просмотров 254. Ответов 3
Метки нет (Все метки)

Вся суть программы заключается в посимвольном считывании кода из .exe файла, и запись в .txt файл в виде C++ кода который все эти символы должен будет записать, то есть чтобы этот готовый код вставить в другую программу, чтобы при запуске она создавала рабочий .exe файл. Казалось что всё просто, но возникла ошибка которую я никак не могу исправить. Программа должна ПОЛЬНОСТЬЮ считать exe файл а она (если повезёт) считывает 3 первые строки.
Проще говоря: она читает символы из exe, записывает их в txt в виде кода C++,затем я этот код копирую в другую программу и при запуске она делает рабочий exe`шник.
Вот сам код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <fstream>
#include <windows.h>
#include <conio.h>
#include <string>
#include <stdio.h>
#include <algorithm>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
using std::basic_string;
 
int main()
{
 int i,num;
 string str;
 char s,s2,a13=13,a34=34;
 char ch[255];
 for(i=0;i<i+3;i++){
 if(i>=256){break;}
 ch[i]=i;                   
 }
 cout << "Generating file..." << endl;
 ifstream f("miniFmodTest.exe");
 ofstream of("result.txt");
 
 of << "of2";
 while (!f.eof()){
 num=1;
 cout << num+1 << endl;    
 f.get(s);
 //if(f.eof()) break;
 for(i=0;i<256;i++){
 if(s==ch[i]){of << "<<" << "ch[" << i << "]";}}}
 of << ";" << endl;
 cout << str << endl;
 f.close();
 of.close();
 cout << "Done!" << endl;
}
Если данный процесс генерации exe файлов exe файлами можно осуществить по другому,очень прошу вас рассказать и показать на примерах как это сделать ибо я в C++ не спец.
Заранее благодарен!
P.S Если что я компилирую на Dev-C++.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 01:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не правильно работает программа посимвольного чтения из exe и записи в txt (C++):

Изменение посимвольного чтения - C++
Ребята помогите пожалуйста переделать. Имеется посимвольное чтение: freopen(&quot;input.txt&quot;, &quot;r&quot;, stdin); len = 0; while (scanf(&quot;%c&quot;,...

Программа работает до определенного момента, потом вылетает, появляется ошибка чтения символов строки - C++
drug.h #pragma once #include &lt;iostream&gt; using namespace std; class drug { protected: string name; int...

Программа для посекторного чтения\записи - Носители информации
Подскажите, программу которая позволяю прочитать или записать в а SD карту информацию по секторно?

Программа для записи сообщений, чтения и добавления в файл - C (СИ)
Уважаемые программисты, нужна ваша помощь. Я будущий программист, учусь. Мне нужно создать &quot;Программу для записи сообщений, чтения и...

Класс-контейнер с возможностью записи и чтения в бинарный файл. Не работает - C++ Qt
Задание: Добавить к классу-контейнеру возможность записи и чтения данных в бинарный файл, используя fstream. Using namespace std ...

Программа для создания файла,записи в него, чтения и выведения результата по формуле - Delphi
А. Создать файл, содержащий сведения о количестве изде¬лий категорий А, В, С, собранных рабочим за месяц. Структура записи имеет поля:...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.05.2014, 02:48 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jameskolwolf Посмотреть сообщение
Программа должна ПОЛЬНОСТЬЮ считать exe файл а она (если повезёт) считывает 3 первые строки.
В бинарном режиме нужно читать.
jameskolwolf
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 4
17.05.2014, 15:30  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
В бинарном режиме нужно читать.
Хммм... Я так понял если читать в бинарном то и записывать нужно в бинарном.
Можете показать на примере как это делается?
P.S Программа читает все символы, но когда видит символ <SUB> говорит что всё прочитано. Почему программе не нравится этот символ я х3.
Добавлено через 18 минут
Всё я понял как нужно делать!
C++
1
2
3
4
//.....
ifstream f("miniFmodTest.exe", ios::binary);
ofstream of("result.txt", ios::binary);
//.....
Но всё равно интересно почему же ей так не нравился символ <SUB> ? Она даже <CR>,<NUL> и <ESC> читала.
Но ничего, самое главное я нашёл проблему. Она была в моей криворукости невнимательности.
Оказывается всё было очень просто. Спасибо за помощь!
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.05.2014, 17:41 #4
Цитата Сообщение от jameskolwolf Посмотреть сообщение
Но всё равно интересно почему же ей так не нравился символ <SUB> ?
Имейте в виду, что, при открытии exe файла в текстовом редакторе, не все значения байтов будут видны. Воможно, где-то попадалось значение, которое понималось (в текстовом режиме чтения) как EOF.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2014, 17:41
Привет! Вот еще темы с ответами:

Программа для создания файла, записи в него, чтения и выведения результата по формуле - Pascal
Помогите пожаолуйста.Завтра нужно сдать зачет.Среда Дэлфи. А. Создать файл, содержащий сведения о количестве изде¬лий категорий А, В, С,...

функции для записи в сокет и чтения из сокета как правильно для windows задать? - C++
делала проект под Linux и в нем успешно работали write и read. Но теперь мне нужно перекомпилировать под windows. кто-нибудь знает какие...

Как работает блокнот, если файл невоможно открыть одновременно для записи и чтения? - Delphi
сабж... интересно.

Программа для Андроид (TX33) для чтения exe-файлов, написанных на C# - C#
Где найти программу, которая устанавливается на Андроид (TX33) и позволяет работать с exe-файлом, написанном на С#?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.05.2014, 17:41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru