Архив за 25 октября 2013

Всем привет!
В 2010 году, shoumikhin написал замечательную статью Перенаправление функций в разделяемых ELF-библиотеках. Та статья очень грамотно написана, полная, но она описывает более харкордный способ замещения функций. В этой статье, мы будем использовать стандартную возможность динамического линкера — переменную окружения LD_PRELOAD, которая может загрузить вашу библиотеку до загрузки остальных.

Как это работает?

Да очень просто — линкер загружает вашу библиотеку с вашими «стандартными» функциями первой, а кто первый — того и тапки. А вы из своей библиотеки можете загрузить уже реальную, и «проксировать» вызовы, попутно делая что вам угодно.

Реальный Use-Case #1: Блокируем mimeinfo.cache в Opera

Мне очень нравится браузер Opera. А еще я использую KDE. Opera не очень уважает приоритеты приложений KDE, и, зачастую, так и норовит открыть скачанный ZIP-архив в mcomix, PDF в imgur-uploader, в общем, вы уловили суть. Однако, если ей запретить читать файл mimeinfo.cache, то она все будет открывать через «kioclient exec», а он-то уж лучше знает, в чем я хочу открыть тот или иной файл.

Чем может приложение открывать файл? На ум приходят две функции: fopen и open. В моем случае, opera использовала 64-битный аналог fopen — fopen64. Определить это можно, воспользовавшись утилитой ltrace, или просто посмотрев таблицу импорта утилитой objdump.Читать полностью »

Однажды, совсем недавно, на планшетах с Windows Microsoft потеряла миллионы долларов. Ну а мы сегодня просто будем писать под них на ассемблере.

Пишем Hello World на ассемблере под Windows RT с использованием winapi

Нам понадобятся следующие вещи.

  • Установленная Microsoft Visual Studio с поддержкой ARM ассемблера, например 2012.
  • Jailbreak'нутый планшет с установленной Windows RT, например Microsoft Surface RT.

Для начала создадим отдельную папку для проекта, в которой создадим файл arm.asm, содержимое которого под катом.
Читать полностью »

Доброго времени суток уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Несколько интересностей и полезностей для веб разработчика (выпуск 6)Zephir — Ze(nd Engine) Ph(p) I(nt)r(mediate). Зефир — это компилируемый высокоуровневый язык программирования, предназначенный для написания PHP расширений без использования C. Проект от создателей Phalcon (скомпилированный PHP MVC Framework). О Zephir на Sitepoint
   

Несколько интересностей и полезностей для веб разработчика (выпуск 6)JSDB.IO — большая и качественная база нужных скриптов/библиотек/фреймворков на JavaScript. Все распределено по категориям: Animation, Application, Audio, Video, Games и др. Дабы собрать все популярные .js воедино добавлю еще три ссылки: Microjs (множество маленьких полезностей до 5кб), а еще jsdelivr и cdnjs, которые позволяют добавлять собственные скрипты.

Несколько интересностей и полезностей для веб разработчика (выпуск 6)Snap.svg — продукт от Adobe Webplatform. Недавно я рассказывал про "достойного конкурента Raphaël" и в комментариях оспоривали эту фразу из за отсутствия поддержки такого же множества браузеров. В разработке Snap участвует автор Raphaël — Дмитрий Барановский, а причина создания новой библиотеки для работы с SVG — невозможность поддерживать все возможности SVG в старых браузерах.

Несколько интересностей и полезностей для веб разработчика (выпуск 6)At.js — очень юзабельный скрипт для автозаполнения (в демо используется Emojify). А еще есть более функциональная библиотека для автозаполнения — Typehead от Twitter.

$('.atwho-inputor').atwho({
  at: "@", data: ["one", "two", "three"],
});

Читать полностью »

Судя по отзывам на мою предыдущую статью о процессе прохождения интервью, многие хаброколлеги интересуются, как лучше подготовиться к поиску работы на западе. Хочу поделиться моим опытом и дать ссылки, которые будут полезны тем, кто думает о переезде или просто хочет узнать, как это работает в другом мире. Статья ориентирована на среднестатистического разработчика ПО, так что если у вас блестящие навыки разговорного языка и превосходные знания нужных технологий и языков программирования, то многие советы можно пропустить.

Итак, вы задумались о поиске новой работы.Читать полностью »

БД находится в restricted (выполнен startup restrict или alter sytem enable restricted session+убиты все пользовательские сессии).
listener остановлен.

Последовательность действий.

  • exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','true');alter system disable restricted session;
  • @?/rdbms/admin/utlrp
  • в другой сессии: alter system enable restricted session;exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','false');

Читать полностью »

Российские университеты стали партнерами Coursera

НИУ ВШЭ, МФТИ и СПбГУ стали партнерами Coursera, курсы будут запущены на английском и русских языках.
Читать полностью »

Если кто помнит, пользователь Narical задумал создать прецедент, а затем благополучно слил его, прикрываясь тем, что поступил бы плохо, требуя свои законные деньги, т.к. их повесили бы на кого-то крайнего.

Я же хочу реальной пользы для рынка ПК, поэтому буду требовать всё исполнять по закону. К сожалению, в юридических вопросах я не силён, поэтому нужна поддержка хабраобщества. Вообщем, ситуация аналогичная.

Собираюсь купить ноутбук lenovo в магазине плеер ру. И, разумеется, вернуть деньги за ненужную мне винду, предустановленную на нём.

Возврат денег за windows: создадим таки прецедент

Несмотря на то, что ноутбук нужен как можно быстрее, вернуть свои деньги я настроен решительно, поэтому если дело дойдет до суда, то буду подавать в суд. Здесь я приведу список своих действий и буду обновлять пост по мере новостей. А в комментариях прошу отписывать свои мысли и обсуждать действия, которые мне необходимо предпринять далее.
Читать полностью »

Ты когда-нибудь играл(а) в Counter-Strike? Правда? Замечательно! Тогда ты знаешь, что такое бот. А почему «что»? Кто! Они тоже дышат, говорят, злятся, думают!

Читать полностью »

-Русский – самый несчастный человек в мире, от того что широта его восприятия огромна.
-Я с такими мыслями проснулся. Почуствовал что чувства уходят от сна, уходят как туман, окутывающий сознание. Сны странные. Сны заставляют чувствовать новое. Сырой, теплый туман сна уходит. Мысли проясняются, зрение становится четче, слух – острее.
-Кхк. Адская острая боль, как будто в глаза насыпали песка. Темечко ножом пробило – ударился об картину. Совсем забыл что эта старая рухлядь все еще на месте.
Читать полностью »

Вчера на конференции Форума по управлению Интернетом (IGF) в Бали президент ICANN Фади Шехаде рассказал весьма любопытную историю о том, как компания на протяжении нескольких месяцев участвовала в расследовании дела о распространении детской порнографии.
Читать полностью »