Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2016, 20:09   #1
StillPhelix
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 35
По умолчанию Не работает декремент и xor

Не работает декремент и xor. Коппилируется нормально. Не рабочие строки откоментированны. Исходник ниже.
Код:
#include <Windows.h>
#include <cstdlib>
#include <stdio.h>
#include <time.h>
#include <iso646.h>

using std::srand;
using std::rand;

int main()
{
	printf("CrackMe 09 \n");
	PHKEY hKey;
	DWORD res;
	DWORD TYPE;		
	DWORD Count1;
	DWORD Count2;

	if (RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\crack09", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, hKey, &res)!=ERROR_SUCCESS)
		return 0;
	if(res==REG_CREATED_NEW_KEY)
	{
		srand((unsigned)time(0));
		Count1=(unsigned)rand();
		Count2=0x100^Count1;
		RegSetValueEx(*hKey, "Count1", 0, REG_DWORD, (CONST BYTE *) &Count1, 4);
		RegSetValueEx(*hKey, "Count2", 0, REG_DWORD, (CONST BYTE *) &Count2, 4);
		printf("Base count have saved! \n");
	} 
	else
	{
		res = 4;
		RegQueryValueEx(*hKey, "Count1", 0, &TYPE, (LPBYTE)&Count1, &res);
		RegQueryValueEx(*hKey, "Count1", 0, &TYPE, (LPBYTE)&Count2, &res);

		Count2 = Count2^Count1;//тут не работает
		Count2--;//тут не работает
		printf("Count  %x \n",Count2);
		if (!Count2) return 0;

		srand((unsigned)time(0));
		Count1 = (unsigned)rand();
		Count2 = Count2^Count1;

		RegSetValueEx(*hKey, "Count1", 0, REG_DWORD, (CONST BYTE *) &Count1, 4);
		RegSetValueEx(*hKey, "Count2", 0, REG_DWORD, (CONST BYTE *) &Count2, 4);
	}
	RegCloseKey(*hKey);
	return 0;
}
StillPhelix вне форума Ответить с цитированием
Старый 27.01.2016, 20:48   #2
StillPhelix
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 35
По умолчанию

Проблема решена.
Код:
else
    {
        res = 4;
        RegQueryValueEx(*hKey, "Count1", 0, &TYPE, (LPBYTE)&Count1, &res);
        RegQueryValueEx(*hKey, "Count1", 0, &TYPE, (LPBYTE)&Count2, &res);//Count1 исправить на Count2
StillPhelix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ (количество и декремент)+ 101104 Помощь студентам 1 14.11.2015 14:58
c Xor frommars Общие вопросы C/C++ 4 03.10.2012 18:30
Инкремент и декремент в циклах Nvidia Общие вопросы C/C++ 8 17.10.2009 11:54
for z:=1 to 5 do Смотрю watch показывает декремент ... dx+ Общие вопросы Delphi 3 24.05.2008 17:47