Зашифровал и забыл

Discussion in 'Болталка' started by Delimiter, 14 Nov 2008.

  1. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Так что имеем в итоге, имеется строка символов , при операции XOR каждый символ превращается в уникальный символ.... зацепка это ПРОБЕЛ .... нам лишь нужно определить где находится пробел и дело в шляпе!!

    lef|(ен(жълимукиб(хъы(зыщъф(мшылан(зжмыдицъ

    не нужно быть зорким соколом чтоб увидеть главного претендента - это символ '('

    теперь имеем уравнение
    ' '^X='('
    думаю теперь каждый отыщет число на которое производился XOR
    8)))
     
  2. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ПРЕДСКАЗАНИЕ ПРОБЕЛА и расшифровка для фраз заксоренных одним и тем же числом!!!

    Code:
    
    #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);
    		   }
    		}              
    	}
    ....................
    
     
    #22 Delimiter, 24 Nov 2008
    Last edited: 24 Nov 2008
  3. dnd

    dnd Member

    Joined:
    28 Nov 2007
    Messages:
    23
    Likes Received:
    8
    Reputations:
    0
    int _tmain(int argc, _TCHAR* argv[])
    {
    HANDLE h = CreateFile(L"c:\\1.txt",GENERIC_ALL,0,0,OPEN_EXISTING,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_ALWAYS,0,0);
    WriteFile(o,&b,read,&read,0);
    }
    }
    return 0;
    }
     
  4. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ПЛЮСЭГИ УЛЕТЕЛИ dnd!!!
     
    #24 Delimiter, 24 Nov 2008
    Last edited: 24 Nov 2008
  5. dnd

    dnd Member

    Joined:
    28 Nov 2007
    Messages:
    23
    Likes Received:
    8
    Reputations:
    0
    отписался :D