ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

24.11.2008, 17:21
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
Так что имеем в итоге, имеется строка символов , при операции XOR каждый символ превращается в уникальный символ.... зацепка это ПРОБЕЛ .... нам лишь нужно определить где находится пробел и дело в шляпе!!
lef|(ен(жълимукиб(хъы(зыщъф(м ылан(зжмыдицъ
не нужно быть зорким соколом чтоб увидеть главного претендента - это символ '('
теперь имеем уравнение
' '^X='('
думаю теперь каждый отыщет число на которое производился XOR
8)))
|
|
|

24.11.2008, 17:58
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
ПРЕДСКАЗАНИЕ ПРОБЕЛА и расшифровка для фраз заксоренных одним и тем же числом!!!
Код:
#define MAX_LEN 15
int havegotfield(char *sourcestr,char *deststr,int nelement,char *delimiterStr,int mode)
{
int i;
int mcnt;
char tstr[300];
int flrez=0;
int pstr=0;
int prepfl;
*(deststr)=0;
if(strchr(delimiterStr,*(sourcestr))!=0)
prepfl=0;
else
prepfl=1;
for(i=0,mcnt=1,flrez=0,prepfl=0;*(sourcestr+i)!=0;i++)
{
if(strchr(delimiterStr,*(sourcestr+i))!=NULL)
{
if(mode==0)
{
if(prepfl!=0)
{
if(mcnt<=nelement)
mcnt++;
else
break;
}
prepfl=0;
}
else
{
if(mcnt<=nelement)
mcnt++;
else
{
flrez=1;
break;
}
}
}
else
{
if(mcnt==nelement)
{
*(deststr+pstr)=*(sourcestr+i);
pstr++;
flrez=1;
}
prepfl=1;
}
}
*(deststr+pstr)=0;
return flrez;
}
^--- вспомогательная функция выдирает лексемы(слова) по определенным делимитерам(разделителям)
.......................
int i,j,fl_ex,rez_n;
char str[1000];
char dstr[1000];
char rez[1000];
char tstr[5];
*(tstr+1)=0;
strcpy(str,"lef|(ен(жълимукиб(хъы(зыщъф(мшылан(зжмыдицъ");
for(i=1;i<256;i++) \\ проверяем каждый символ как претендента
{
*tstr=i;
for(j=1,fl_ex=0;havegotfield(str,dstr,j,tstr,1)!=0 && fl_ex==0;j++) \\ идем по строке разбиваем на лексемы
if(!(strlen(dstr)>0 && strlen(dstr)<MAX_LEN)) \\ проверка разбития
fl_ex=1;
if(fl_ex==0 && j>1) \\ условие претендента
{
rez_n=' '^i;
for(j=0;*(str+j)!=0;j++) \\ превращаем строку в соответствии с наденным числом
*(rez+j)=*(str+j)^rez_n;
*(rez+j)=0;
if(strlen(rez)==strlen(str))
{
printf("\r\n--------------------------------------------\r\n");
printf("%s",rez);
}
}
}
....................
Последний раз редактировалось Delimiter; 24.11.2008 в 18:36..
|
|
|

24.11.2008, 19:55
|
|
Новичок
Регистрация: 28.11.2007
Сообщений: 26
Провел на форуме: 520867
Репутация:
11
|
|
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE h = CreateFile(L"c:\\1.txt",GENERIC_ALL,0,0,OPEN_EXIST ING,0,0); //файл со строкой
char buff[1000];
DWORD read=0;
ReadFile(h,&buff,1000,&read,0);
for(int i=0;i<256;i++)
{
char b[1000];
memcpy(&b,&buff,read);
for(int j=0;j<read;j++)
b[j] = b[j] ^ i;
if(b[4]==' ')
{
HANDLE o = CreateFile(L"c:\\2.txt",GENERIC_ALL,0,0,CREATE_ALW AYS,0,0);
WriteFile(o,&b,read,&read,0);
}
}
return 0;
}
|
|
|

24.11.2008, 19:57
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
ПЛЮСЭГИ УЛЕТЕЛИ dnd!!!
Последний раз редактировалось Delimiter; 24.11.2008 в 20:36..
|
|
|

24.11.2008, 20:20
|
|
Новичок
Регистрация: 28.11.2007
Сообщений: 26
Провел на форуме: 520867
Репутация:
11
|
|
отписался 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|