http://my.site/login.php?name=user' OR TRUE OR '1'='1&password=
"WHERE `user` = '".$_GET['name']}."' AND `pass` = '".md5($_GET['password'])."'"
WHERE `user` = 'user' OR TRUE OR '1'='1' AND `pass` = 'd41d8cd98f00b204e9800998ecf8427e'
@_main proc near
push ebp
mov ebp,esp
; short int A[20];
add esp,-40
push ebx
; asm lea eax, A;
lea eax, word ptr [ebp-40]
; return A[0];
movsx eax,word ptr [ebp-40]
@_main proc near
push ebp
mov ebp,esp
; short int *A = new short int[20];
add esp,-4
push ebx
push 40
call @$bnwa$qui
pop ecx
mov dword ptr [ebp-4],eax
; mov eax, A;
mov eax, dword ptr [ebp-4]
; return A[0];
mov eax,dword ptr [ebp-4]
movsx eax,word ptr [eax]
if (!empty($category->pid)) {
$rootCategory = Categories::model()->findByPk($category->pid);
$categorySaved = ($category->isNewRecord ?
$category->appendTo($rootCategory) :
$category->moveAsFirst($rootCategory)
) && $category->saveNode());
} else {
$categorySaved = ($category->isNewRecord || !$category->isRoot() && $category->moveAsRoot()
) && $category->saveNode();
}
// Инициализируем C, надо заменить на ввод исходных данных
$C = array(1, 1, 1, 0, 0, 1, 1, 1, 0, 1);
$N = count($C);
// Добавляем в начало и конец нули
array_unshift($C, 0);
$C[] = 0;
// Создаём массив P, заполняем 0 и N+1 элементы нулями
$P[0] = 0;
$P[$N+1] = 0;
// Заполняем чётные ячейки
for ($i = 1; $i <= $N; $i += 2)
$P[$i+1] = $P[$i-1] ^ $C[$i];
// Заполняем нечётные ячейки
if (($N&1) == 0) {
// Вариант с чётным количеством ячеек
for ($i = $N; $i >= 1; $i -= 2)
$P[$i-1] = $P[$i+1] ^ $C[$i];
} else {
// Вариант с нечётным количеством ячеек
$P[1] = 0;
for ($i = 1; $i <= $N; $i -= 2)
$P[$i-1] = $P[$i+1] ^ $C[$i];
}
// Выводим результат
for ($i = 1; $i <= $N; $i++)
print $P[$i];
для i от 1 до N с шагом 2
P[i+1] = P[i-1] xor C[i];
Получили все предыдущие значения чётных ячеек.для i от N до 1 с шагом -2
P[i-1] = P[i+1] xor C[i];
P[1] = 0; // или 1
для i от 2 до N с шагом 2
P[i+1] = P[i-1] xor C[i];