Форум: "Прочее";
Текущий архив: 2014.12.07;
Скачать: [xml.tar.bz2];
ВнизПредвариловка по статье. Найти похожие ветки
← →
Rouse_ © (2014-04-30 18:25) [0]Хочу посоветоваться с народом, начал писать очередной "шаг" из цикла статей про защиту ПО, который будет описывать методику защиты через самоотладку (грубо реализация VM через штатные механизмы работы ПО + защита от исследования хост приложения).
Для меня будет гораздо проще писать в примерах к статье виртуализируемые куски кода в виде ассемблерных инструкций, но это будет наверное немного не понятно для читателя, поэтому есть второй вариант, к примеру попробовать их разбить на подпроцедуры (stepOne, stepTwo)... Эмм, ща попробую по другому:asm
call MyFunc
test eax, eax
jnz stepOne
// stepTwo
...
jmp @finalize
@stepOne
...
@finalize:
end
вот то что выше, проще потом подогнать под матаппарат и дизассемблер длин.
Либо можно написать вот так, более понятно дельфистам:if MyFunc then
stepOne
else
stepTwo;
Но для второго варианта придется учитывать то, что компилер для вызова функций и процедур будет вставлять свои эпилоги и прологи, которые нужно будет держать в уме и при реализации "наномитов" каким-то образом учитывать эти данные.
Код во втором варианте будет более сложен для анализа, т.к. большинство прикладников скорее всего именно от меня и услышат о том что есть вообще пролог и эпилог.
Вопрос: как писать статью? Ограничиваемся ассемблером с максимальными пояснениями или все-же пытаемся натянуть понятный дельфи программисту код на движок защиты (который и будет описываться в статье)?
← →
Rouse_ © (2014-04-30 18:34) [1]Зы, ну и если второй вариант, то требуется помошник, которому я буду разжевывать все досконально, а он будет это переводить на понятный прикладным программистам язык :)
← →
Германн © (2014-04-30 18:42) [2]
> Ограничиваемся ассемблером с максимальными пояснениями
← →
Rouse_ © (2014-04-30 19:04) [3]
> Германн © (30.04.14 18:42) [2]
А не закроет ли читатель статью, встретившись с асмом? :)
Хотя вон тут подсказывают - если рисовать красивые графики со стрелочками (как тут http://alexander-bagel.blogspot.ru/2014/04/vm.html), то может и заинтересуется в дальнейшем прочтении (народ любит картинки :)
← →
MBo © (2014-04-30 20:30) [4]Думаю, тех, кого тема привлечёт, ассемблер не напугает. В случаях неочевидного кода, возможно, пояснение псевдокодом понадобится.
← →
Германн © (2014-04-30 20:33) [5]
> Rouse_ © (30.04.14 19:04) [3]
>
>
> > Германн © (30.04.14 18:42) [2]
>
> А не закроет ли читатель статью, встретившись с асмом?
Такой читатель всё-равно её закроет как бы она ни была написана. Разве что вставка картинок и анекдотов в тему (и не совсем в тему) спасут. :)
Где-то то ли в "Физики шутят" или в "... продолжают шутить" были подобные рекомендации. Правда если мне не изменяет мой склероз речь шла не о статьях, а о докладах на научных конференциях. Но это почти одно и то же.
← →
Inovet © (2014-04-30 20:39) [6]асм
← →
Rouse_ © (2014-04-30 20:42) [7]Ок, идея понята - пасип, буду работать в этом направлении :)
← →
Rouse_ © (2014-04-30 21:33) [8]
> Inovet © (30.04.14 20:39) [6]
Кстати, Андрюх, можно я тебя буду периодически отвлекать на вычитку новой статьи? Бо мне сильно не понравилась твоя реакция на мою предыдущую статью (мол переборщил с точкой применения и ушел в отрыв) а я наоборот хочу писать так, чтобы было понятно для среднестатистического программера.
Скажем, чтоб ты побыл некоей "лакмусовой бумагой" :)
← →
Rouse_ © (2014-04-30 21:38) [9]А стоп, пардон, я тебя в Владом Ошиным перепутал :)))
Но всеравно предложение в силе - а его я и так по асе запинаю :)))
← →
Inovet © (2014-04-30 22:02) [10]> [9] Rouse_ © (30.04.14 21:38)
А я уже начал усиленно вспоминать, что я там такое говорил.:) Не вспомнил, стал читать следующий пост.
Ну, почему нет - почитаю, а если ещё и скажу чего полезного, так и ещё больше пользы будет. Что там Влад говорил, надо глянуть.
На Аську я что-то забил, даже клиента уже год как нет на машине. Можно Скайп или на почту.
← →
Rouse_ © (2014-04-30 22:17) [11]
> Inovet © (30.04.14 22:02) [10]
Ок, принято - буду стучать в скайп через пару тройку денькоф (ес после операции оклемаюсь) :)
← →
Пит (2014-05-01 01:51) [12]
> ес после операции оклемаюсь
ты таки решился на лазерную коррекцию?!
← →
Германн © (2014-05-01 02:45) [13]
> Rouse_ © (30.04.14 22:17) [11]
>
>
> > Inovet © (30.04.14 22:02) [10]
>
> Ок, принято - буду стучать в скайп
Можешь и мне стучать в личку на сырцах, если что. По крайней мере будешь получать мнение Пофигиста Широкого Профиля. Знающего ассемблер со словарём без различия платформ.
Ну и по скайпу готов отвечать. По скайпу даже лучше.
← →
Inovet © (2014-05-01 11:13) [14]> [11] Rouse_ © (30.04.14 22:17)
> после операции
Это что за операция?
← →
Rouse_ © (2014-05-01 12:12) [15]
> Пит (01.05.14 01:51) [12]
Не, очков мне хватает, еще под лазер лезть...
> Inovet © (01.05.14 11:13) [14]
Да там ерунда, кисту с локтя уберут, правда потом дня четыре рука не рабочая будет...
← →
junglecat (2014-05-01 12:21) [16]Удалено модератором
← →
Inovet © (2014-05-01 13:35) [17]> [15] Rouse_ © (01.05.14 12:12)
Удачной операции и реабилитации.
← →
Германн © (2014-05-02 03:16) [18]
> Rouse_ © (01.05.14 12:12) [15]
> еще под лазер лезть...
Больно слышать :)
(с)
← →
KSergey © (2014-05-06 12:42) [19]А по факту-то как делается?
как делается на самом деле - так и рассказывать.
← →
Rouse_ © (2014-05-06 19:44) [20]
> KSergey © (06.05.14 12:42) [19]
> А по факту-то как делается?
По факту там очень сложный механизм, до которого не хочется опускаться.
Я хочу дать только азы, чтоб остальное по необходимости каждый сам додумывал. Впрочем посмотрим, кое чего пока не клеится в изложении...
← →
KSergey © (2014-05-07 09:22) [21]> Rouse_ © (06.05.14 19:44) [20]
> По факту там очень сложный механизм, до которого не хочется опускаться.
Какая разница сложный или нет? Исходный вопрос разве был про "как рассказать: сложно или просто"?
Нет, вопрос был "вам на дельфи или ассемблере?"
Вот это и должно быть "как по факту" хотя бы только потому, что приводимые примеры должны быть повторяемы пытливым читателем хотя бы впринципе.
← →
Rouse_ © (2014-05-07 11:57) [22]
> хотя бы только потому, что приводимые примеры должны быть
> повторяемы пытливым читателем хотя бы впринципе
Там получится как - будет один пример который можно будет воспроизвести любой (покажу шесть вариантов использования наномитов, на прерывании распаковка, на генерации исключения и т.п.).
А вот второй пример - это наверное будет результат работы навесняка, ибо его ручками уже будет очень сложно воспроизвести и все затруднение в том, как обьяснить логику работу навесного кода, чтоб читатель его понял.
Ну короче, как выйдет что-то читабельное, так сразу покажу.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2014.12.07;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.002 c