Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76

Чтение из памяти

04.01.2016, 15:43. Показов 1373. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, нужна помощь у же не знаю что я не так делаю , вернее как мне нужно сделать
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
42
43
44
45
46
47
void foo(char * inputfile, char * outputfile, bool encode = false){
    
    FILE * fo;  FILE * foOut; 
    
    if(!encode)
        fo = fopen(inputfile, "r"); //Открываем орыгинальный тест
    else{   
        fo = fopen(inputfile, "r"); //Открываем зашифрованый текст
    }
 
    foOut = fopen(outputfile, "w+"); //Куда записываем шифрованый или росшифрованый текст
 
    char *key = ";"; //Ключ шифрования / дешифрования
 
    char нгн[99]; //Символ для считывания и записи
 
    if(!encode)
    {
        while((*нгн = getc(fo)) != EOF){
            putc(*нгн ^ *key, foOut); //Применяем xor для шифрования и записываем символ в файл
        }
    }
    else
    {
    char * argv;
    while((*нгн = getc(fo)) != EOF)
{
    char argc = ((char)(*нгн ^ *key));
 cout<<argc ;
 
        }   
    }
    fclose(fo);  fclose(foOut);
}
 
 
int main(){
    
    foo("C:\\input.txt", "C:\\output.txt"); //Шифруем
    
    foo("C:\\output.txt", "_", true); //Дешифруем
  вот где должно будет открыться ссылка с последующим переходом на сайт 
ShellExecute(NULL, "open", суда , NULL, NULL, SW_SHOWNORMAL);
    getchar();
 
    return 0; 
}
все работает замечательно, код нашел на форуме, единственное что я смог сделать эт вывести в консоль вместо вывода в файл
но мне нужно что бы расшифрованный текст передавался сразу
//ShellExecute(NULL, "open",суды , NULL, NULL, SW_SHOWNORMAL);
сам текст имеет ссылку на сайт
у меня то не совместимость то еще что то получается
приведите пример для правильного написания кода если не сложно
нехочется просто хранить файл с расшифрованными данными на диске

Добавлено через 46 минут
а так то было лучше если значение зашифрованное которое мне известно я напишу сразу
C++
1
char*= "sdfghjhgf"
если возможно то сразу бы сделать без файлов вообще
одной программкой шифрую получаю допустим это значение
C++
1
 "sdfghjhgf"
в другую программку вставить этот код то что выше пример
C++
1
char*= "sdfghjhgf
"
и используя тот же алгоритм для расшифровывания , расшифровать и передать уже
C++
1
ShellExecute(NULL, "open",суды , NULL, NULL, SW_SHOWNORMAL);
вот желательно что мне нужно было бы
очень надо
помогите с примером кода

Добавлено через 3 минуты
за помощь отблагодарю на yandex many
после проверки работоспособности кода
во фриланс идти с такой вроде как и мелочью не охота
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2016, 15:43
Ответы с готовыми решениями:

чтение из памяти
господа допустим есть - int a=5; мне нужно получить адрес переменной &quot;а&quot; и из адреса получить значение т.е. - 5 . Как возможно это...

Чтение памяти
Не могу понять почему не читается память по адрессу, уже 3 дня гуглю. #include&lt;windows.h&gt; #include&lt;tlhelp32.h&gt; ...

Чтение памяти не возможно
Начал изучаться ООП получил лабораторную, программа заупускается и на вводе размерности матрицы появляется ошибка. Табличка которая выходит...

7
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.01.2016, 15:52
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
char* Encode(char * inputfile,short int key){
    
    ifstream f(inputfile);
        f.seekg(0,ios_base::end);
    int i=f.tellg();
    f.seekg(0,ios_base::beg);
    char *s=new char[i]; memset(s,0,i+1);
    f.read(s,i);
    f.close();
 
        for(int k=0;k<i;i++){
            s[i]=s[i] ^ key
        }
    return s;
}
 
 
int main(){
    
    foo("C:\\input.txt", "C:\\output.txt"); //Шифруем
    
   char *s=Encode("C:\\output.txt", '_');
 
   ShellExecute(NULL, "open", s, NULL, NULL, SW_SHOWNORMAL);
   delete s;
    getchar();
 
    return 0; 
}
Если правильно помню.
2
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76
04.01.2016, 15:57  [ТС]
ругается на эту строку (ошибка)
C++
1
s[i]=s[i] ^ key;
нарушение прав доступа при записи
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.01.2016, 15:59
Ой! Там k а не i писать нужно
1
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76
04.01.2016, 16:08  [ТС]
чот не помогло при запуске проекта ошибка про кучи
а так .exe если запустить простая консолька
и нечего более
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.01.2016, 16:15
Я с потолка писала. Пройди трассировку, посмотри что функция возвращает.
0
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
04.01.2016, 23:50
Цитата Сообщение от fcnfgtyrjd3004 Посмотреть сообщение
при запуске проекта ошибка про кучи
Наверное, не так:
Цитата Сообщение от Hikari Посмотреть сообщение
C++
1
char *s=new char[i]; memset(s,0,i+1);
, а так:
C++
1
char *s=new char[i + 1]; memset(s,0,i+1);
, или просто:
C++
1
char *s=new char[i + 1]; s[i] = '\0';
0
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76
05.01.2016, 20:09  [ТС]
вопрос помогли решить следующим способом
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
#include <windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;
 
char CodChar(char ch)
{
    return ~(((ch & 0xE0) >> 1) | ((ch & 0x10)<<3) | ((ch & 0x8)>>3) | ((ch & 0x07) <<1));
}
char EnCodChar(char ch)
{
    return ~(((ch & 0x70) << 1) | ((ch & 0x80)>>3) | ((ch & 0x1)<<3) | ((ch & 0xE) >>1));
}
int foo(char *instr, char *outstr, int n, bool encode = false)
{
    if(encode)
        for(int i=0;i<n;i++)
            outstr[i]=EnCodChar(instr[i]);
    else
        for(int i=0;i<n;i++)
            outstr[i]=CodChar(instr[i]);
    return n;
}
 
 
    getchar();
int main()
{
    char *link="\x3b\x1d\x1d\x1f\x9a\xb0\xb0\x34\x30\x30\x34\x39\x35\xb8\x1e\x15";
    char temp[256]={0};
    foo(link,temp,strlen(link)); //Дешифруем
    ShellExecuteA(NULL, "open",temp , NULL, NULL, SW_SHOWNORMAL);
 
 
    return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2016, 20:09
Помогаю со студенческими работами здесь

Чтение строки из памяти
Пытаюсь обратиться к оперативной памяти и прочитать оттуда строку char fullChar = &quot;&quot;; char tempChar...

Чтение участка памяти
Ищу, но не могу найти... Дело в том, что мне нужно в массиве выделять блоки по 4 элемента. Все было бы хорошо, если бы массив был бы у меня...

Чтение памяти из процессов
Здравствуйте , знаю c++ на базовом уровне , хочу научится писать читы для CS:GO. Начать хочу с радархака. Посмотрел пару уроков , понял ,...

Чтение памяти невозможно
Ребята помогите, не понимаю где ошибка вот весь код #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;map&gt; #include...

Чтение ячейки памяти
Сказали считать ячейку памяти, в которой лежит целое число, а так же посчитать кол-во 0 и 1. До сих пор не пойму, что от меня требуют и...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru