Общее·количество·просмотров·страницы

понедельник, 9 января 2012 г.

Перерывал тут папку со всякой фигней и наткнулся на сорец.Открыв его я вспомнил,что это было решение квадратного уравнения на встроенном ассемблере.Решил запостить в блог(все равно за него рассчитались),вдруг каким то несчастным студентам пригодится:)
Условие:
ур-ие забивается сразу.Ввод целых чисел (без проверки на ввод с плавающей точкой).Не юзать сопроцессор.


{na primere uravneniya x^2-11x+30}
program Project2;
uses
  windows;
   var i:integer;
{$APPTYPE CONSOLE}

function sqrt(x: cardinal): integer;
asm
  bsr edx, eax      // skaniruem bity
  jz @exit

  mov ecx, edx    // 1-y bit v ecx
  test ecx, 1       // bit

  jz @even   // esli net prodolzim
  @odd:

    shr ecx, 1
    inc ecx
    shr eax, cl
    mov edx, 1
    shl edx, cl
    shr edx, 1
    add eax, edx

    mov edx, $B504F334  // magicheskoe chislo 2^32=sqrt(2)
    mul edx
    mov eax, edx

    ret
  @even:

    shr ecx, 1
    inc ecx
    shr eax, cl
    mov edx, 1
    shl edx, cl
    shr edx, 2
    add eax, edx

  @exit:
end;


var x1,x2:dword;
a,b,d,e,r,j,h:dword;
g:integer;
begin
writeln('vvedite koef pir 1-x');
readln(a);
writeln('vvedite pri 2-x');
readln(b);
writeln('vvedite 3-y koef');
readln(e);
asm
mov eax,b  //kof v registr
mul b      // vozvodim v kvadrat
mov r,eax   // kvadrat zapishem v peremenuu
mov eax,4
mul a // 4*a*c
mul e

sub r,eax  // tut znachenie b*b -4 * a * c   =1
mov eax,r // v eax 1
mov h,eax  // v h eax

{sqrt(1)=1 -funkciya ne shitaet}

xor edx,edx
mov eax,b
neg eax
add eax,1
mov ecx,2
div ecx
mov x1,eax //x1

xor edx,edx
mov eax,b
neg eax
sub eax,1
mov ecx,2
div ecx
mov x2,eax

end;
writeln('x1=',x1,' ','x2=',x2);

readln;
end.


суббота, 7 января 2012 г.

Накатал не большую длл. удаляет файл методом Гутмана.
скачать http://splashed.ucoz.ru/Erase.dll
Как вызывать:
импортируем по имени Erase.
Процедура имеет один флаг fn:string; имя удаляемого файла.
Про статическую или динамическую подгрузку  можно найти в сети.

пятница, 6 января 2012 г.

Интересную задачку сегодня разгадали с ачатовцами.
И так суть:

1)ZmFrZSB2a29ibWVuIHpoZQ== декриптуй
2)Прибавьте через пробел к ответу слово silverwolf
3)Зашифруйте строку тем же криптоалгоритмом
4)Теперь ответ в ctsw
5)Убери все пробелы из шифра
6)Сократи текст до 7 символов
7)10 смени на 5
8)Теперь прибавь к строке самый первый шифр
9)Ах да, теперь в 5dm
10)И добавь к ответу 97 символ в ascii
11)К ответу добавь амперсанду
12)Теперь добавь функцию сложения масивов
13)Теперь прибавь название эзотерического языка, подсказка: одно из двух
14)А теперь прибавьте сокращенное англоязычное название идентификатора сессии
15)Ну и день когда был куплен домен thesilverwolf.ru(число)

Решение:
Совместными усилиями задача была решена и так по порядку


1)ZmFrZSB2a29ibWVuIHpoZQ==
это кодировка base64. при расшифровке получаем:


2)получаем строку
fake vkobmen zhe silverwolf
3)шифруем base64 получаем ZmFrZSB2a29ibWVuIHpoZSBzaWx2ZXJ3b2xm
4)на сайте автора http://thesilverwolf.ru/cryptos.html
шифруем эту строку получаем 9X 10T 7X 11A 9X 8F 6Z 5X 9P 5X 5P 10M 9E 8P 8Z 11P 7F 7S 11S 11Q 9X 8F 6Z 12S 9P 8P 12X 5X 9X 8E 7A 5Q 9E 5X 12X 10T
5)получаем 9X10T7X11A9X8F6Z5X9P5X5P10M9E8P8Z11P7F7S11S11Q9X8F 6Z12S9P8P12X5X9X8E7A5Q9E5X12X10T
6)получаем 9X10T7X
7)получаем 9X5T7X
8)получаем 9X5T7XZmFrZSB2a29ibWVuIHpoZQ==
9)шифруем в md5 получаем 2C7CFB14C00A0FE32DE4AEDB8B6C5402
10) ascii 97=a, получаем 2C7CFB14C00A0FE32DE4AEDB8B6C5402a
11)амперсанд- & имеем 2C7CFB14C00A0FE32DE4AEDB8B6C5402a&
12)функция сложения массивов (как оказалось) join
13)эзотерический язык- false
14) идентификатор сессии session id-> sid
15) идем на любой whois? вгоняем сайт получаем 17 января 2011
и того:2c7cfb14c00a0fe32de4aedb8b6c5402a&joinfalsesid17

Учитесь ребята:)

вторник, 3 января 2012 г.


конвертор текста.
пока есть:
urlencode\decode
hex-text\text-hex
text-base64\base64-text
предлагайте для универсальности что еще добавить.сам еще склоняюсь к md5 и sha.
http://splashed.ucoz.ru/Tconvert.rar

+ text to MD5
+ rus to lat