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

Шифрование XOR не кодирует бинарные данные - C++

Восстановить пароль Регистрация
 
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
29.04.2014, 21:44     Шифрование XOR не кодирует бинарные данные #1
Текст кодирует/декодирует нормально.Бинарные файлы НЕТ.
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
char tst[]="fnfdnbdlfkbpfdgkgfdm";
wchar_t in[]=L"F:\\test\\1.exe";
wchar_t out[]=L"F:\\test\\2.exe";
 
void XOR_Crypt(char *out, char *in, long InLen, char *pass, long PassLen)
{
  for (long x=0; x<InLen; ++x)
  {
    out[x] += (char)(in[x]^pass[x%PassLen]);
  }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    char key[]="qwertyuiop";
    /*char *buf=(char*)malloc(4096);
    memset(buf,0,4096);
    char *DEbuf=(char*)malloc(4096);
    memset(DEbuf,0,4096);
    printf("%s\n",tst);
    XOR_Crypt(buf,tst,strlen(tst),key,strlen(key));
    printf("%s\n",buf);
    XOR_Crypt(DEbuf,buf,strlen(buf),key,strlen(key));
    printf("%s\n",DEbuf);*/
    HANDLE fIN=CreateFile(in,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    LARGE_INTEGER sz={0};
    DWORD r,w;
    GetFileSizeEx(fIN,&sz);
    int LEN=sz.QuadPart;
    char *inbuf=(char*)malloc(LEN);
    char *cdbuf=(char*)malloc(LEN);
    char *outbuf=(char*)malloc(LEN);
    ReadFile(fIN,inbuf,LEN,&r,0);
    XOR_Crypt(cdbuf,inbuf,LEN,key,strlen(key));
    CloseHandle(fIN);
    XOR_Crypt(outbuf,cdbuf,LEN,key,strlen(key));
    HANDLE fOUT=CreateFile(out,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
    WriteFile(fOUT,outbuf,LEN,&w,0);
    CloseHandle(fOUT);
    _getch();
    return 0;
}
В чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2014, 21:44     Шифрование XOR не кодирует бинарные данные
Посмотрите здесь:

C++ Шифрование Xor'ом
Шифрование строк [Метод XOR] C++
Шифрование текста. XOR C++
C++ Шифрование XOR не работает с кириллицей
Не выходит xor шифрование C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4301 / 3722 / 1255
Регистрация: 14.04.2014
Сообщений: 14,556
29.04.2014, 22:21     Шифрование XOR не кодирует бинарные данные #2
Что это за конструкция? pass[x%PassLen]
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
29.04.2014, 22:30  [ТС]     Шифрование XOR не кодирует бинарные данные #3
Чтоб набор символов использовать, а не просто цифру, для ключа.Хотя и с просто цифрой бинарные файлы битые выходят.
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
29.04.2014, 23:56     Шифрование XOR не кодирует бинарные данные #4
Цитата Сообщение от _nic Посмотреть сообщение
В чем проблема?
Для начала, утечку памяти ликвидируйте. И используйте Memory Mapping вместо этого бреда.

P.S.

Основной цикл:

C++
1
2
3
4
5
6
7
8
9
10
   do
   {
      for (DWORD ii = 0; ii < dwXorSize; ++ii)
      {
         *(pSrcStr + dwSrcOfs++) ^= *(pXorStr + dwXorOfs++);
 
         dwXorOfs %= dwXorSize;
      }
   } 
   while (dwSrcOfs < dwSrcSizeLo);
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
30.04.2014, 00:38  [ТС]     Шифрование XOR не кодирует бинарные данные #5
gazlan
Я вас не понимаю(( СОВСЕМ.
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
30.04.2014, 01:02     Шифрование XOR не кодирует бинарные данные #6
И про утечку памяти не понимаете?
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
30.04.2014, 02:04  [ТС]     Шифрование XOR не кодирует бинарные данные #7
Цитата Сообщение от gazlan Посмотреть сообщение
И про утечку памяти не понимаете?
Где там утечка? Куча индивидуально для каждого процесса, это в конце концов не драйвер какой то, и то для этого есть ВМ.Смысл мне ненужные фри лепить, если это проект специальный сандбокс для тестирования алгоритмов.Могли бы вы подсказать что по существу и понятно ?
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
30.04.2014, 02:43     Шифрование XOR не кодирует бинарные данные #8
Цитата Сообщение от _nic Посмотреть сообщение
Могли бы вы
Могу. Но смысла продолжать не вижу. Все необходимые советы я вам уже дал. Вы их проигнорировали.
Вложения
Тип файла: 7z xor.7z (2.4 Кб, 12 просмотров)
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
30.04.2014, 12:00  [ТС]     Шифрование XOR не кодирует бинарные данные #9
Цитата Сообщение от gazlan Посмотреть сообщение
Могу. Но смысла продолжать не вижу. Все необходимые советы я вам уже дал. Вы их проигнорировали.
Это уже явный троллинг.И куда администрация смотрит?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
30.04.2014, 12:39     Шифрование XOR не кодирует бинарные данные #10
Цитата Сообщение от _nic Посмотреть сообщение
Это уже явный троллинг
Это не то, что вы говорите, а отказ от дальнейшей помощи в виду того, что она должна была пойти в том же русле, которое вы либо не понимаете, либо игнорируете.
Цитата Сообщение от _nic Посмотреть сообщение
И куда администрация смотрит?
Вам в глаза.
_nic
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 112
30.04.2014, 14:54  [ТС]     Шифрование XOR не кодирует бинарные данные #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Это не то, что вы говорите, а отказ от дальнейшей помощи в виду того, что она должна была пойти в том же русле, которое вы либо не понимаете, либо игнорируете.
Я задал четкий и ясный вопрос почему текст ксориться в обе стороны ОК,а бинарные данные НЕТ.В ответ мне перед лицом мотыляют ЧСВ.Это не отказ,потому как не было помощи , это был явный троллинг.Потому как ответа ПО СУТИ, не было дано.
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 929
Завершенные тесты: 1
30.04.2014, 18:42     Шифрование XOR не кодирует бинарные данные #12
Вообще меня тоже бесит, то что Вы не исправите явный "говнокод".

Что же касается сути, работайте с бинарным файлом как с бинарным файлом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2014, 19:06     Шифрование XOR не кодирует бинарные данные
Еще ссылки по теме:

XOR шифрование/дешифрование C++
Strlen и бинарные данные в char - как выполнить их отправку C++
C++ XOR шифрование

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

Или воспользуйтесь поиском по форуму:
nmcf
4301 / 3722 / 1255
Регистрация: 14.04.2014
Сообщений: 14,556
30.04.2014, 19:06     Шифрование XOR не кодирует бинарные данные #13
Автор, текстовые файлы нормально кодируются не в твоей программе, а там, откуда ты взял алгоритм, потому что он изначально сделан на String и суммирование в цикле подразумевает накопление символов в строку. А ты просто переделал всё на арифметику и ждешь, что это будет работать.
Yandex
Объявления
30.04.2014, 19:06     Шифрование XOR не кодирует бинарные данные
Ответ Создать тему
Опции темы

Текущее время: 18:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru