Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 04.03.2010, 08:28   #1
AstraZak
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 10
Репутация: 10
По умолчанию Открыть файл как Hex найти там некий участок кода, заменить его и сохранить

Вот хотел узнать, каким обазом на Си можно открыть файл как Hex найти там некий участок кода, заменить его и сохранить файл?
К примеру открыть файл MishaPupkin.dll найти там строку вида "23 CA 75 32" и заменить на "90 90 75 32", далее сохранить файл.
Очень буду признателен если покажите пример нечто подобного.

Последний раз редактировалось AstraZak; 04.03.2010 в 08:37.
AstraZak вне форума   Ответить с цитированием
Старый 04.03.2010, 10:19   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,262
Репутация: 2054

icq: 216409213
По умолчанию

Как и с другими типами файлов. fopen, fread, fwrite - открывать, как бинарный.
p51x вне форума   Ответить с цитированием
Старый 04.03.2010, 12:05   #3
AstraZak
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 10
Репутация: 10
По умолчанию

Ээээ я только начинающий, можно ткнуть пальцем на раздел где об этом можно узнать?
AstraZak вне форума   Ответить с цитированием
Старый 04.03.2010, 12:09   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,262
Репутация: 2054

icq: 216409213
По умолчанию

Справку и гугл отменили?
p51x вне форума   Ответить с цитированием
Старый 04.03.2010, 12:35   #5
AstraZak
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 10
Репутация: 10
По умолчанию

Разве не для этих целей служит этот форум?Я же не прошу написать всё за меня,а всего лишь указать, что да как.
Может подскажите готовую функцию для поиска?

Последний раз редактировалось AstraZak; 04.03.2010 в 12:39.
AstraZak вне форума   Ответить с цитированием
Старый 04.03.2010, 12:56   #6
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Цитата:
Может подскажите готовую функцию для поиска?
Как правило такие функции пишутся самостоятельно в зависимости от ситуации. Считал в массив, прошелся по нему сравнивая, опять считал. и т.д.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 04.03.2010, 15:39   #7
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,262
Репутация: 2054

icq: 216409213
По умолчанию

"Может подскажите готовую функцию для поиска?"
Я же вам уже написал (fopen, fread, fwrite и им подобные) и даже ссылку дал на гугл, которая уже ищет одну из них?

Что еще надо?
p51x вне форума   Ответить с цитированием
Старый 04.03.2010, 21:36   #8
AstraZak
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 10
Репутация: 10
По умолчанию

А не подскажите как в WinHex'е сделать так, что бы вместо точек (Text Дисплей) отображались пробелы?
AstraZak вне форума   Ответить с цитированием
Старый 05.03.2010, 18:58   #9
AstraZak
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 10
Репутация: 10
По умолчанию

Никто не знает?
AstraZak вне форума   Ответить с цитированием
Старый 05.03.2010, 19:47   #10
profi
Профессионал
 
Регистрация: 19.11.2007
Сообщений: 1,021
Репутация: 144
По умолчанию

Программа читает файл и маленькие буквы l заменяет на большие L. Результат записывается в файл:
Код:

#include <iostream.h>
#include <fstream.h>
#include <windows.h>
#include <string.h>

int main()
{
	byte *buff = new byte[255];
	ifstream f_r("C:\\temp.txt", ios::in);
	int i = 0, j = 0;

	memset(buff, 0, 255);

	f_r.read (buff,255);

	cout << buff;

	while(buff[j] != 0x0)
	{
		if(buff[j] == 0x6C)
			buff[j] = 0x4C;
		j++;
	}

	ofstream f_w("C:\\temp.txt", ios::out);

	f_w.write(buff,255);

        delete []buff;

	cin.get();

	return 0;
}

profi вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Винда потеряла файл ntokernel или как там его. Alex Cones Windows 5 05.11.2009 12:12
Имеется файл sample.wav в папке с программой. Как при помощи saveDialog сохранить/скопировать его ArcaN0id Помощь студентам 9 28.06.2009 14:55
Как открыть и сохранить mp3 файл в delphi? Rahim1993 Мультимедиа в Delphi 2 03.01.2008 13:55
Как с помощью Delphi открыть/сохранить/удалить текстовый документ SeRhy Помощь студентам 4 02.11.2007 21:27


20:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru