30 дек. 2010 г.
Файл hosts в Windows x64
cd etc
находясь в c:\WINDOWS\system32\Drivers\ и попал в нужную директорию.
Кейс связан с 32-битностью файл-мнеджера.
Как вариант, открыть директорию etc можно через Windows Explorer.
29 дек. 2010 г.
Google Bookmarks. Метка Later
17 дек. 2010 г.
Капча
13 дек. 2010 г.
Журналисты должны уяснить, что на самом деле означает слово "Хакер"
“The Globe and Mail”, одна из самых уважаемых газет в Торонто, опубликовала сегодня (11/12/2010) статью под заголовком «2010 может войти в историю, как Год Хакера». Статья рассказывает о скандале с WikiLeaks, а так же о том, как группа “хакеров” положила Visa.com, Mastercard.com und Paypal.com
Ошибочное утверждение, что эта школота что-то хакнула, должно быть опровергнуто. Журналюги должны сначала мало-мальски изучить ту тему, о которой они собираются рассуждать. Особенно если они делают это на страницах одного из крупнейших изданий страны [Канады].
Сегодня я бросаю им вызов (вах! все кинулись за бронежилетами :) - прим. переводчика). Раз и навсегда я разъясню значение звания Хакер. А заодно помогу понять, как группа сосунков может положить корпоративный вебсайт несмотря на полное отсутствие основ хакинга.
Итак. Начнем с хакинга 101.
Возможно, вы помните киношку 90-х годов “Хакеры”. Это был веселый экшн про жизни разных хакерил, как они отрывались в свои 20 лет. То, что показано в фильме, считается взломом большинством экспертов (не уверен в переводе - прим. переводчика). Для придания привлекательности процессу хаккинга он сдобрен веселой графикой и анимацией. Однако результат этих действий - получение контроля над компьютерами для всяких грязных делишек.
На самом деле взлом (как одна из ипостасей хаккинга) не терпит суеты. Нужно терпеливо искать пути проникновения в систему. Ежели ты сталкиваешься с какой-то защитой, ты программишь некий утиль, чтобы обойти её. По ходу дела ты пишешь свои утилиты, которые позволят тебе остаться незамеченным в системе.
Хаккинг требует спокойствия, опыта и совсем не намного большего знания предметной области, чем у обывателя.
Участие в DDOSе не требует ничего из этого.
DOS-атака заключается, грубо говоря, в пинговании сайта клиентским компьютером снова и снова. Большинство современных сайтов легко справляются с этим. Становится гораздо интереснее, когда этим начинают заниматься тысячи клиентских компов. Тогда это называется DDOS (распределенная атака типа Отказ в Обслуживании). Она может быть реализована по разному. Как вариант, хакеры могут использовать тысячи компьютеров, контроль над которыми они получили в ходе заражения оных вирусАми. Однако чаще всего эта атака выполняется тысячами друзей, одновременно выполняющими DOS (одиночное пингование).
И наконец, что же случилось с Visa.com?
Тысячи объединенных нетожителей начали пинговать Visa.com (Mastercard.com, Paypal.com) одновременно. Они координировали свои действия через Twitter или другой протокол социальных сетей. Все, что нужно было сделать, это скачать программулину, которая была доступна через Twitter, и нажать одну-две кнопки. Скачал, поставил, запустил - и ты уже хакер.
Пожалуйста! Ради высокого звания Технического Журналиста не называйте то, что сделала эта школота, “Хаккингом” (“Взломом” - прим. переводчика). Это больше похоже на манифестацию перед штаб-квартирой большой конторы. Только в формате HD. Забаррикадировали входные двери и боле никто не может войти. Даже разносчик пиццы.
Новое слово
Netizens. Гугл-транслятор переводит его как Интернетяне. Понятно, что составлено слово из двух: (inter)Net + Citizen. Обозначает примерно то же, что и Citizen, токмо в области сетевого сообщества.
9 дек. 2010 г.
Инициализация цикла из середины
fread(hFile, buffer, buffSize, &readedSize);
while ( readedSize > 0 )
{
foo();
fread(hFile, buffer, buffSize, &readedSize);
}
Получается не очень красиво, т.к. в случае изменения первого fread можно забыть про необходимость тех же изменений во втором.
Но можно сделать так:
goto readBuffLabel;
while ( readedSize > 0 )
{
foo();
readBuffLabel:
fread(hFile, buffer, buffSize, &readedSize);
}
В этом случае мы имеем безусловный переход на строку, которая в единственном экземпляре произведет чтение из файла и в случае 0 размера прочитанных данных цикл завершится без выполнения foo().
Новая специальность в IT-технологиях!
Тем более с таким окладом! За 550 долларов в месяц любой Неведуерщий согласится стать Ведуерщим!
8 дек. 2010 г.
Как работают Яндекс.Новости
7 дек. 2010 г.
Фраза
"Мы не можем использовать такое имя переменной. Оно похоже на венгерскую нотацию".
Йопт...
Смерь казака
Смотреть галерею |
Enough with tweeting...
6 дек. 2010 г.
Очередной троянец-вымогатель
Знакомые поставили некую софтинку, которая обещала отображать кто заходил на их страницу во ВКонтакте. Софтина, естественно, ничего не отобразила. Но при заходе на популярные социалки (ВКонтакте, Мой Мир, Мой круг, etc), на странице логина стало отображаться сообщении о блокировке учетки в связи с рассылкой с нее спама. За активацию учетки спрашивали переслать 20 грн на какой-то WebMoney-кошелек.
Подозрение сразу вызвал счетчик зарегистрированных аккаунтов во ВКонтакте. На этой странице он был около 98 000 000, в то время как он уже где-то недели две перевалил за 100 000 000.
В телефонном режиме проверили с ними nslookup на vkontakte.ru, проверили файл
c:\windows\system32\drivers\etc\hosts
Вроде нормально. Потом выяснили, что рядом с этим hosts-файлом лежал еще один скрытый. Explorer его, естественно, не отображал. В нем-то и был прописан список фишинговых страниц. Как был переименован штатный файл не знаю - по телефону не видно было.
Выводов напрашивается несколько. Основные:
- Работай с правами пользователя. Никакая хрень не сможет подменить системные файлы. Ну, почти никакая. Я, по крайней мере, таких еще не встречал.
- Работаешь под админом, пользуй админские примочки. В частности, файловый менеджер, который показывает и скрытые, и системные файлы.
- Не ставь всякую хрень, которая должна делать то, чего не может быть.
5 дек. 2010 г.
Одесса, Привоз, туман
Одесса, Привоз. Туман |
UPD: 2010-12-30 10-37-51.
Вчера был на тыльной стороне этого строения. Ни 21-м, ни 20 веками там и не пахнет. Пахнет много чем, но не этим. Тут же впоминаются картины постапокалиптически-настроенных проризведений. Разруха, бедность, темень... На днях зайду с фотоаппаратом - пощелкаю.
23
0+36-6-3-4 = 23
0+5+0+5+6+7 = 23
0+50-5-6-7 = 32 (антипод 23)
2 дек. 2010 г.
1 дек. 2010 г.
Рекомендации NASA по написанию безопасных программ.
Например, идет речь о мультипрограммировании (N-Version Programming). Одна и та же функциональность реализуется разными способами. Если разные версии возвращают одинаковый результат, то всё в порядке. Если результаты не совпадают, то используется голосование, чтобы определить какой результат наиболее достоверный. Для защиты от одного сбоя нужно написать три разных реализации; от двух – пять.
Теперь интересное:
One major problem with N-Version programming is that it increases complexity, which has a direct relationship with the number of errors. In one NASA study of an experimental aircraft, all of the software problems found during testing were the result of the errors in the redundancy management system. The control software operated flawlessly!
Одна из главных проблем мультипрограммирования состоит в повышении сложности, что напрямую влияет на количество ошибок. Одно из исследований экспериментального самолета проведённое NASA показало, что все программные ошибки, найденные во время тестирования, были результатом ошибок в системе резервирования. Управляющее программное обеспечение работало безупречно!
Секция про языки тоже забавна. Сначала речь идет о «безопасном подмножестве» языков. Из него исключаются все мало-мальски неоднозначные, сложные, спорные и просто неудачные языковые конструкции. Далее разбираются разные языки. Про Ada – не интересно. Язык специально создавался для подобных применений. Ассемблер принимается за необходимое зло. Про Си написано уже интереснее:
In many ways, C is a higher level assembly language. This gives it great flexibility, and opens a Pandora’s box of possible errors.
Во многом, Си – это ассемблер высокого уровня. Это даёт значительную гибкость и открывает ящик Пандоры с возможными ошибками.
Ну да. Что есть, то есть.
Restricting the C language to certain constructs would not be feasible because the resulting language would not have the necessary functionality.
Ограничение языка Си до определенного набора разрешенных конструкций не представляется возможным, так как получившийся язык не обладал бы нужной функциональностью.
Практически все конструкции языка придуманы, чтобы программист, в конце концов, прострелил себе ногу.
С++:
A standard “safe subset” of C++ does not presently exist.
Стандартное «безопасное подмножество» C++ на данный момент не существует.
… и вряд ли появится.
Don’t use the RTTI (Run-Time Type Information). It was added to support object oriented data bases. If you think it’s necessary in your program, look again at your design.
Не используйте RTTI. Эта функциональность была добавлена для поддержки объектно-ориентированных баз данных. Если вы думаете RTTI необходима вашей программе, пересмотрите свой дизайн.
+1. Но пассаж про ОО базы данных непонятен.
Про C# написали, что это интерпретируемый язык. Про NGEN они не в курсе. С другой стороны, ну зачем им сборщик мусора во встроенной железке?
Forth:
Forth has no “safety” features.
В Форте нет «безопасных» конструкций.
Просто и понятно. Ну и так далее. Там даже Visual Basic есть.
В приложении есть рекомендации для каждого языка. Попадаются волшебные:
Use comments to describe WHAT the procedure or section is meant to do. It is not always clear from the assembly code.
Используйте комментарии для описания того ЧТО процедура или секция должны делать. Это не всегда понятно из ассемблерного кода.