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

Изменение текстовой строки в PE файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Уменьшение размера программы http://www.cyberforum.ru/cpp-beginners/thread1214930.html
Здравствуйте, мне нужно уменьшить размер программы, прочитал что нужно добавлять строки: #pragma optimize("gsy",on) #pragma comment(linker,"/RELEASE") #pragma comment(linker,"/MERGE:.rdata=.text /MERGE:.data=.text") #pragma comment(linker, "/SECTION:.text,EWR") #pragma comment(linker,"/FILEALIGN:512") Работаю в Code::Blocks но он не понимает команд типа pragma. В настройках проекта во...
C++ Создать целочисленный стек и удалить заданный элемент Сформировать динамическую структуру данных «стек» и заполнить ее ин-формационные поля псевдослучайными натуральными числами (тип int). Вывести содержимое стека на экран, удалить из стека N-й по величине элемент, еще раз вывести стек на экран. Дополнительный массив для решения задачи не заводить. помогите сделать, совсем времени не осталось(( http://www.cyberforum.ru/cpp-beginners/thread1214928.html
C++ Написать программу движения окружности в прямоугольнике
В Паскале была тема: http://www.cyberforum.ru/pascal/thread286336.html А не могли бы вы пожалуйста перевести эту программу в С++?
Реализация словаря в двоичном дереве поиска C++
Ребят очень нужно, хотя бы реализацию словаря в C++ ,никак не могу найти
C++ Dynamic_cast и полиморфизм http://www.cyberforum.ru/cpp-beginners/thread1214883.html
Задача: В листинге 15.16 после каждого блока try находятся два блока catch, поэтому исключение nbad_index приводит к вызову метода label_val (). Измените программу так, чтобы она содержала один блок catch после каждого блока try и использовала RTTI для вызова label_val () лишь тогда, когда это необходимо. Листинг 15.16 // use_sales.cpp -- вложенные исключения #include <iostream>...
C++ Реализация связанного списка в учебнике Каррано "Абстракция данных: стены и зеркала." есть пример реализации абстрактного списка в виде массива. как реализовать главную функцию вызова методов? (печать на экран списка, проверка на пустоту, определение длины списка) ListA.h const int MAX_LIST = 10; typedef int ListItemType; class List { public: List(); bool isEmpty() const; //определяет пуст ли список подробнее

Показать сообщение отдельно
caldwell
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 17

Изменение текстовой строки в PE файле - C++

23.06.2014, 12:18. Просмотров 161. Ответов 0
Метки (Все метки)

Здравствуйте,

Хочется реализовать вот такой http://stackoverflow.com/a/7625156 способ шифрования строк: с помощью макроса добавлять в строку маркер начала и конца потом находить в уже скомпилированном файле и шифровать. В принципе, это работает, но мне не понятно что делать с метками?

Вот такой пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <string>
 
#define KEY 0x15
#define OB(s) dec("START_MARK_GUID" s "\0" "END_MARK_GUID")
 
std::string dec(char* str)
{
    std::string s;
    s.assign(str);
    for(size_t i = 0; i < s.size(); i++)
    {
        s[i] ^= KEY;
    }
    return s.c_str();
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    printf("String: %s\n", OB("some narrow char"));
    return 0;
}
После сборки я могу найти строку в файле и заменить ее на шифрованный вариант. Пробовал смещать шифрованную строку назад, а остаток забивать нулями, при этом все равно получаю при выводе мусор в конце строки. Если же удалять лишнее, то файл не запускается.

Может кто-нибудь на пальцах объяснить что нужно подкрутить в готовом PE файле, при изменении длинны строковых констант, дать ссылку на соответствующую документацию или хотя бы объяснить что конкретно мне нужно изучить для реализации такой задачи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru