Pull to refresh
-8
0
Иван Левашев @OCTAGRAM

Фрилансер

Send message

Ломаем хаКс полностью. Читаем машинные коды как открытую книгу

Reading time9 min
Views10K
Если haXe оттранслирован в C++, а из него — в машинные коды, это может показаться безнадёжным, тем более, на первый взгляд этот код пестрит вызовами виртуальных методов, которые, не запуская отладчик, трудно соотнести с адресами тел методов.

Но всё не так уж плохо. Даже при отключенной поддержке сценариев (HXCPP_SCRIPTABLE) в файле можно обнаружить строки с названиями методов и полей. Разбираем, как можно размотать этот клубок, сопоставить имена методов с их адресами и смещениями в таблице виртуальных методов.
Total votes 13: ↑12 and ↓1+11
Comments2

Интеграция внешней объектной системы в Delphi на примере IBM SOM

Reading time11 min
Views3.7K
SOM Technology: Making the Pieces Fit4 года назад вышла моя статья про IBM SOM, где я констатировал крайне плачевную ситуацию, когда утерян значимый инструментарий, и чем дальше, тем меньше шансов восстановить. За прошедшее время много, чего случилось, нашлись и SOM 3.0 для Windows, и SOM 2.1, и открытый клон somFree, и рабочий компилятор DirectToSOM C++ для Windows, и мост в OLE Automation.

Один из моих проектов реализует поддержку SOM в Delphi. Разработка начиналась на Delphi, пришлось часть привязок делать вручную и не так красиво, в процедурном стиле, без проверки типов. Используя эти привязки, был написан генератор привязок в объектном стиле, а затем и сам генератор был переписан на новые привязки, став подтверждением их работоспособности. Ради красоты пришлось хакнуть объектную систему Delphi, и, может быть, вам будет интересно, как это вообще можно делать.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments2

Началось соревнование «Make with Ada» для разработчиков встраиваемых систем

Reading time3 min
Views6.7K


AdaCore организует новый конкурс для разработчиков. Как и в прошлые разы, на подготовку даётся существенно больше времени, чем в олимпиадах по иноформатике. Это как раз подходит тем, кому не нравятся соревнования по быстрому написанию страшного кода, который потом только выбросить.

Сегодня на повестке дня — разработка для ARM на голом железе и технологии верификации. Общий призовой фонд — более 8000€.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Об одном нестандартном способе борьбы с блокировками: инфошантаж

Reading time4 min
Views17K
Охотник имеет возможность поразить зверя в разные части тела с разной эффективностью. Имеет смысл пробовать разные методы. Вот и в случае противодействия блокировкам можно искать нестандартные вектора атаки. Например, информационный шантаж.

Одной из причин, по которой идут блокировки, является то, что с точки зрения людей, обладающих властью, а власть — это реализуемая на практике способность управлять, например, ТНК и банкстеров, а не только силовиков, состояние после блокировки предпочтительнее состояния до блокировки. I2P, CJDNS, Byzantium — это средства обороны, а не нападения. Акцент сделан на интересах тех, кто противодействует блокировкам, а не на интересах тех, кто в этих блокировках заинтересован. Под нападением я понимаю такие законные действия, чтобы состояние после блокировки становилось хуже, чем до, с точки зрения людей, обладающих властью и заинтересованных в блокировках. И блокировки начнут саботироваться изнутри. Претензии правообладателей начнут активно оспариваться или правообладатели вдруг как по волшебству начнут терпеть это безобразие и перестанут добиваться блокировки.

Хотелось бы обратить внимание на то, как скудно используется потенциал заблокированных страниц. Где–то владельцы сайтов сами убрали информацию, где–то провайдер показывает свою заглушку. Почти всегда эти заглушки меня разочаровывают. Пропадает зря большой нереализованный потенциал. Вот об этих заглушках и хотелось бы подбросить материал для размышлений.
Читать дальше →
Total votes 34: ↑14 and ↓20-6
Comments15

Расставляем точки над i в Delphi RAII

Reading time5 min
Views19K
Тема RAII в Delphi обычно замалчивается или же информация по этому вопросу ограничивается обсуждением полезности интерфейсов. Но интерфейсы поодиночке не дают многих желаемых возможностей. Когда в Delphi 2006 появилась перегрузка операций, приватные поля записей, собственные конструкторы и методы в записях и, казалось, было бы логично увидеть и автоматически вызываемый деструктор. И run-time позволяет, и в разделе запроса новых фич Delphi на протяжении нескольких лет в ТОП–10 висит запрос №21729 «Record Operator Overloading: Please implement «Initialize» and «Finalize» operators». Наверное, не судьба. Ничего, я покажу, как обойтись без несостоявшихся фич. Так как Delphi 7 живее всех живых, будут рассмотрены решения, совместимые с Delphi 7 в том числе

Времени найти обходные пути было достаточно
Total votes 38: ↑32 and ↓6+26
Comments57

IBM SOM: внешняя объектная система с поддержкой наследования

Reading time6 min
Views7.2K
image Хотел бы поделиться своей находкой: IBM SOM. Согласно Википедии, жил да был некогда Microsoft с COM, и был IBM с SOM. В Windows и OS/2, соответственно. И были для них средства межсетевого взаимодействия: DCOM и — как вы думаете? — правильно, DSOM. Такая вот идиллия, что может сложиться впечатление, что это близнецы. Только вот в SOM было наследование, а в COM — нет, и в журналистских статейках, на которые ведут ссылки из Википедии, только об этом и речь.

Но это лишь начало путешествия в кроличью нору
Total votes 16: ↑13 and ↓3+10
Comments11

Information

Rating
3,590-th
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity