Delphi Day Blog ✎

IT-Блог о программировании и операционных системах

Псевдонимы для команд bash (aliases)

1 комментарий:
Псевдонимы для команд шела - штука очень удобная. Удобная в первую очередь тем, что любой команде оболочки можно создать свой псевдоним. У меня например для команды "ls -l" определён псевдоним с названием "ll", а для команды "sudo nano ~/.bashrc" определён "bashrcedit". Удобно, что ещё сказать.
 
Существует по крайней мере два (которые мне известны) способа добавлять и хранить свои алиасы для оболочки. Для этого используются следующие файлы:
 
1. Файл "~/.bashrc"
2. Файл "~/.bash_aliases"
 
В оба из этих файлов можно добавлять свои псевдонимы. Например вот так:
 
echo "alias bashrcedit='sudo nano ~/.bashrc'" >> ~/.bashrc
echo "alias ll='ls -l'" >> ~/.bash_aliase
 
Для того, чтобы файл .bash_aliases начал обрабатываться, нужно раскомментировать следующие строки в файле ~/.bashrc: 
 
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi

Почему top и htop в Linux показывают разные значения памяти

Комментариев нет:


Как мы знаем, инструменты top & htop в ОС Linux предназначены для мониторинга системы. Пользователи Linux наверное замечали, что значения используемой системой памяти разнатся если сравнивать отчёты этих двух утилит. Почему так?

Всё потому, что в отличии от top, утилита htop показывает все процессы в системе.

Утилита htop показывает вам только ту память, которая действительно используется приложениями, то есть кэш и буферы ядра не учитываются, там они показываются цветом. Напротив, в выводе команды top указывается число используемой памяти+буфер.

Аналогично с top ведёт себя команда free. Все графические системные мониторы типа conky работают аналогично команде top.

Журнал VR-Online станет бумажным...

Комментариев нет:
VR-Online (29) Декабрь 2010
Сообщество VR-Online решило, что пора попробовать выпускать свой журнал в печатном варианте. Оно и правильно, всегда есть читатель, которому трудно или неудобно читать текст с монитора (например как я - слепой крот). Печатное издание можно ещё почитать в более укромных местах, не только за рабочим столом ;).

Журнал у ребят о программировании (вдруг кто не знает..). Они не зацикливаются на каком-то одном языке а пишут обо всём. Здесь и Delphi и С++, C# и Java и многое другое. То есть, журнал будет интересен не только разработчику на C# но и программисту который отдаёт предпочтение Delphi.

Я думаю, что все программисты заинтересованы в подобных журналах, так как последнее время, если честно сказать, подобных журналов раз, два - и обчёлся. У самого последний бумажных MSDN русской редакции датируется 2008 годом (подзабил с выпиской...). Про MSDN Magazine я вспомнил из за того, что это единственный бумажный журнал о разработке и технологиях из сегодняшних, который я смог вспомнить сразу. Интересно, кто может вспомнить ещё что-либо подобное на бумаге? Ага... Однозначно, нам нужны такие издания.

Удачи Игорю Антонову и всей команде Virtual Reality. Ждём!

Мы принимаем бой!

3 комментария:
Привет всем, кто меня помнит, и тем, кто уже забыл или ещё не знал. Это снова я. Одуплился после всех своих жизненных проблем и неурядиц. Блог давно не обновлял, не писал ничего нового, но это поправимо. Будет много интересных материалов по Delphi! Готовится новый материал по защите от отладчика OllyDbg своих Delphi программ.

Поменял дизайн. Как вам? Хех, новый дизайн - новая жизнь блога. Мне очень даже нравится, как выглядит ДелфиДей сейчас. По крайней мере мне так кажется. Оказывается, мой блог немного прибавил в весе. Теперь PR2 a ТиЦ 10. Приятно, что тут сказать...

Зарегистрировался на форуме русского журнала по Delphi. Постараюсь принимать активное участие и оказывать любую помощь. Жду первый выпуск. Алекс говорит, что ждут только буржуйский вариант журнала, а у наших уже всё готово. Вот.

У Влада, как я посмотрю тоже большие перемены. Редизайн блога, куча нового, ещё не читаного мною материала... словом будет чем заняться в выходные.

Ну, как говорится, поехали.

Новый, русскоязычный журнал о Delphi

Комментариев нет:

Здравствуйте читатели!

Буквально на днях, мы (Delphi-блоггеры) обсуждали идею создания нового журнала о Delphi. После достаточно продолжительного общения на IRC-канале, было решено, что нужно узнать мнение общественности.

GunSmoker составил анкету, которую предлагается заполнить каждому заинтересованному в Delphi. Заполнив анкету, вы очень поможете в формировании общего представления о том, какой должен быть журнал о Delphi, как лучше преподнести информацию, стоит ли делать журнал платным и т.д.

Ваше мнение очень важно для нас. Если у вас есть несколько минут свободного времени, то пожалуйста, ответьте на вопросы следующей анкеты: Анкета. Опрос полностью анонимный.

После заполнения анкеты, пожалуйста, помогите распространить эту новость среди русского Delphi-сообщества: отправьте её своим коллегам, на форумы, где вы обычно проводите время и т.п. Только, пожалуйста, без спама.

Искренне надеемся на вашу помощь. Спасибо.

Заполнить анонимный опрос >>

Отладка в Delphi 2010. Точки останова.

7 комментариев:
Не секрет, что даже если код приложения компилируется, далеко не факт, что приложение будет работать верно. В нём могут быть логические и динамические ошибки, на которые нам не может указать компилятор, как он делает это при синтаксических ошибках.
Логические ошибки – это ошибки в самой логике выполнения программы. Примером логической ошибки в программе может служить например ситуация, когда программа учёта разрешает приходовать один и тот же товар дважды. Логическая ошибка как правило не вызывает сбоя работы программы, но заставляет ее работать не так, как этого задумывал программист.
Динамические ошибки – это ошибки, которые всплывают на этапе выполнения программы. Примером может служить ситуация, когда в переменную типа byte программа будет пытаться положить значение большее, чем этот тип сможет в себе содержать. Например, число 3000.
Для локализации и исправления таких ошибок необходимо использовать отладчик. Отладка приложения позволяет выявить место возникновения ошибки и принять меры по ее исправлению.

Класс TForGirlsDebug

4 комментария:
stackflow
Информацию о классе можно получить здесь.

Про класс
Данный класс очень тривиальный. Он  может показать дамп любой области памяти и актуальный стекфлоу.

Защита Delphi-программ от взлома. Часть IV - Защита от декомпилятора DeDe (Delphi Decompiler).

13 комментариев:
И снова здравствуй, уважаемый читатель! В прошлых частях я рассказывал о:
  1. Защита Delphi-программ от взлома. Часть I – Инструментальная
  2. Защита Delphi-программ от взлома. Часть II – Защитно-обзорная
  3. Защита Delphi-программ от взлома. Часть III – Навесная
Я продолжаю публиковать заметки о защите программного обеспечения на Delphi и сегодня мы рассмотрим такой известный декомпилятор, как DeDe ну и конечно попробуем от него защищаться :) Поехали?

Что там по поводу e-zine по Delphi ?

3 комментария:


Кажется, сила идеи Александра Божко по поводу Дельфового журнала слегка подустала, а жаль. Как я уже отписывался вот тут (кстати, Александр, вы обещали прокомментировать), журнал лишним не будет, тем более материала куча. Пусть и не нового, ведь его не для поисковых систем будут делать ;-), а там гляди и новый интересный материал появляться начнёт...

В общем, нужно воодушевиться, товарищи программисты! Что скажете? 

Теперь у меня есть именная, пожизненная лицензия на CodeMerger (RDX Software)

2 комментария:

Вот уж действительно не думал, как говорится, не гадал… Можете поздравить меня, Влада, ГанСмокера и Алексея Тимохина! Все мы получили очень хороший подарок от разработчиков компании RDX Software, а именно систему CodeMerger! Мне действительно очень приятно! Я ещё никогда ничего не выигрывал в Интернете, а тут бац!… такой презент! Я искренне желаю компании RDX всех благ и процветания, успешных продаж и доброжелательных пользователей. Молодцы мужики!

Напомню, что получили мы этот драгоценный приз за то, что просто высказали свои пожелания насчёт дальнейшего развития Delphi!

 

 

До скорых встреч, уважаемые посетители и подписчики блога Delphi Day!

Акция! Бесплатное рекламное место для Delphi блога!

2 комментария:

Всё, что требуется сделать, для получения бесплатного рекламного места в сайдбаре блога FreeVCL – это:

 

• Написать у себя на блоге мини-обзор (хотя можно просто постовой, одно или два предложения) для FreeVCL, указав прямую, интерактивную ссылку.

• Залить своё изображение размера 125x125 себе на хостинг (можете прислать мне)

• Написать мне письмом, или в ICQ, указав ссылку на пост

• Я размещу ваш баннер на месяц или полтора.

 

Хоть FreeVCL и молодой блог, но его посещает уже более 100 человек в день. Вообщем, выгодно и нам и вам :) Спасибо, что откликнулись. С уважением, Егор.

Защита Delphi-программ от взлома. Часть III – Навесная (часть1)

11 комментариев:

В этой части рассмотрим ещё одну технику защиты приложений, а именно мы рассмотрим некоторые навесные защиты.

Навесная защита – это некая программа, при помощи которой можно модифицировать свой исполняемый модуль так, чтобы затруднить непосредственно взлом своего программного обеспечения. Эта программа может сжать секцию данных и кода, уменьшив тем самым размер исполняемого файла, но основной функцией протектора является как раз не сжатие (чем занимаются упаковщики), а защита программного кода.

Что означает “защита программного кода”? Это просто комплекс мер, призванный для того, чтобы вашу программу было труднее взломать. Например, это может быть подмена устойчивой сигнатуры, при помощи которой программы – анализаторы (типа PEiD, DiE) узнают, чем защищена программа или на чём она написана. Большое число антиотладочных приёмов и хитростей.

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

Themida (Фима, Фимка, Фемида)

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

Themida была разработана, чтобы полностью отсеять новичков, а также опытных крекеров от взлома ваших программ, что позволяет избежать значительных потерь доходов от распространения кряков и кейгенов.

Некоторые полезные возможности данного протектора:

  1. Антиотладочные техники против любого вида отладчиков.
  2. Антидемпинговые техники, против любых ring3 и ring0 дамперов.
  3. Разные шифровальные алгоритмы.
  4. Защита против API-сканнеров, которая предотвращает восстановление оригинальной таблицы импорта.
  5. Антидизассемблерные техники против любых статических и интерактивных дизассемблеров.
  6. Улучшенная техника защиты оригинальной точки входа (OEP)
  7. Защита против патчинга памяти процесса и CRC
  8. Метаморфный движок, для защиты кода
  9. Динамическое шифрование вашего приложения
  10. Сжатие кода приложения, секции ресурсов, а также и кода распаковщика.
  11. И многое другое…

Наиболее интересные опции защиты:

Anti-debugger detection. Данная опция включает обнаружение отладчика в системе. Отладчик уровня ядра или пользователя – неважно! Примечание: если опция в положении Ultra, может вызывать некоторые проблемы, особенно если файл заражён вирусом, также, эта опция может быть несовместима с платформами отличными от Windows.

Anti-dumpers. Как вы знаете, одним из самых опасных инструментов против защищённой (запакованной) программы является дампер памяти. Взломщик может скинуть в файл распакованный код и данные, а затем попытаться восстановить его в первоначальный вид (до расспаковки). SecureEngine предлагает много техник защиты от сдампливания. Эта опция включает наиболее действенные техники нацеленные против дампа памяти в файл на диск.

Resources Encryption. Шифрование ресурсов программы. Если включить эту опцию, то движок SecureEngine зашифрует все ресурсы так, чтобы взломщик не смог проанализировать и\или изменить их. Распаковка ресурсов происходит тогда, когда этого потребует ваше приложение.

VMWare / Virtual PC. Опция позволяет предотвратить запуск вашего приложения на общеизвесных эмуляторах, таких как VMWare, Virtual PC, Virtual Box или Microsoft VM.

Advance API-Wrapping. Эта опция позволяет включить упаковку API, что не позволит взломщику идентифицировать используемые в приложении функции. Можно выбирать уровень упаковки. Имейте ввиду, что чем выше уровень упаковки, тем большее процессорное время затрачивается для оной! Например, использование этой функции с уровнем “2” может в несколько раз уменьшить время запуска вашего приложения!

Anti-Patching. Предотвращает попытки запуска измененной копии программы. То есть, если например файл заражён вирусом, или его изменил взломщик, Themida это распознает и покажет окно (которое кстати тоже можно настроить), что мол файл изменён и всё такое, а затем завершит выполнение.

Metamorph Security. Эта опция позволяет изменить все инструкции защитного кода на другие, но одинаковые по действию. Это затрудняет взломщику процесс распознания устойчивых кусков кода защиты.

Delphi/BCB form protection. Защита форм приложений, которые скомпилированы в Делфи или Билдере. Взломщик не сможет извлечь информацию о формах с помощью специальных инструментов.

 

Themida поддерживает ещё достаточное количество приёмов и функций, о которых можно узнать обратившись к справочной системе. Themida по праву считается одним из самых сильных протекторов, который способен помочь вам защитить ваши продукты от взлома. К сожалению, на тематических форумах появляется всё больше и больше сообщений о том, что фемида взломана. Появляются статьи и видео, которые показывают нам, как ее снять. Но нужно отдать должное – продукт развивается, в отличии например от Armadillo, которая по словам крекеров, умерла.

 

Замечание: Themida не поддерживает упаковку динамических библиотек, которые статически прилинкованы к проекту. Придётся использовать динамическое связывание.

 

VMProtect

Отечественная разработка от компании VMPSoft. Как видно из названия, главной (но далеко не единственной) фишкой данного протектора является выполнение кусков кода на виртуальной машине. Как утверждает описание продукта, архитектура виртуальной машины кардинально отличается от обычных процессоров, что делает использование большинства крэкерских инструментов совершенно бессмысленным.

Хорошей особенностью является то, что в VMProtect встроена своя система лицензирования, которая позволяет генерировать и проверять серийные номера.

VMProtect можно совместно использовать с другим протектором или упаковщиком. Эта возможность помогает ещё сильнее защитить Ваше приложение.

Некоторые возможности VMProtect

Виртуализация кода. В отличии от большинства защит, которые шифруют исполняемый код программы, а потом, перед исполнением основного кода расшифровывают его, VMProtect никогда не расшифровывает код программы. VMProtect переводит исполняемый код программы в код, который работает только на виртуальной машине. Набор команд этого процессора не имеет ничего общего с системой команд x86 & x64 и может меняться с каждой защитой программы.

Форматы файлов. Данный протектор позволяет защищать как исполняемые модули, так и динамические библиотеки (DLL, OCX, BPL), а также драйверы (SYS).

Поддержка 64-битных платформ.

Система лицензирования. Как я говорил, VMProtect позволяет генерировать и проверять серийные номера. Серийные номера могут ограничиваться по сроку действия, могут привязываться к железу. Также интересной особенностью VMProtect является то, что он может сделать физически невозможным запуск программы в отсутствии серийного номера.

К сожалению, уже даже к последней версии этого протектора китайцы написали автораспаковщик (в лице скрипта для олли). Но кто сказал что это идеальная защита? Протектор реально помогает только тогда, когда и код программной защиты (Ваш) написан грамотно.

Вердикт: Достаточно хороший протектор исполняемых файлов, который в состоянии дать отпор взломщику начального и среднего уровня.

Приложение 1

Статья, которая обьясняет некоторые приёмы использования VMProtect для защиты делфи-приложения. Тыц.

 

Ещё парочку приличных протекторов мы рассмотрим в следующей части.

Защита Delphi-программ от взлома. Часть II – Защитно-обзорная (№1).

9 комментариев:

greciya greek2

Итак, в прошлой статье (ссылка) мы рассмотрели, какие инструменты может использовать крэкер для взлома нашего программного обеспечения. В этой статье давайте поговорим о том, какие методы защиты  мы можем предложить на пробу взломщику.

Все они достаточно разные. У каждой есть свои сильные и слабые стороны. Какие-то отламываются быстрее быстрого, а над какими-то нужно посидеть несколько больше. А какие-то в принципе не отламываются (да, есть такая).

Итак, давайте рассмотрим самые распространённые из них и поговорим об их сильных и слабых сторонах. Но для начала, чтобы развеять все ваши грёзы, запомните одно очень сильное и основное правило: