Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Теоретически можно брать байты из файла и выполнять как код?   Найти похожие ветки 

 
AV ©   (2012-10-02 12:40) [0]

Вот что подумал, можно так написать (пусть в win, любом), что бы exe брал несколько байт(кило/мега) с диска, другого файла, подставлял в область кода и передавал туда управление?


 
Ega23 ©   (2012-10-02 12:42) [1]

Это ты про, типа, dll?  :))


 
Игорь Шевченко ©   (2012-10-02 12:50) [2]

Слава Ивана Кулибина покоя не дает ?


 
AV ©   (2012-10-02 12:54) [3]

>> Это ты про, типа, dll?  :))
не.. :)

>>Слава Ивана Кулибина покоя не дает ?
да нет, просто интересуюсь :)

Тут как то ЮЗ сказал, что придумал принципиально не взламываемую защиту.
Я все думаю, как :)
Понятно, что я не смогу так сделать, но понять принцип, наверное ,смогу.
Если считывать куски инструкций из разных файлов и компоновать custom в памяти..


 
alexdn ©   (2012-10-02 13:00) [4]

> AV ©   (02.10.12 12:54) [3]
> Если считывать куски инструкций из разных файлов и компоновать
> custom в памяти..
так вирусы делают


 
Игорь Шевченко ©   (2012-10-02 13:03) [5]

Так как это очевидный путь, то раз он не используется, значит, обладает недостатками, перевешивающими достоинства (впрочем, достоинств не видно, так как это заново изобретенная DLL только с пятью квадратными колесами)


 
Германн ©   (2012-10-02 13:05) [6]


> AV ©   (02.10.12 12:40)
>
> Вот что подумал, можно так написать (пусть в win, любом),
>  что бы exe брал несколько байт(кило/мега) с диска, другого
> файла, подставлял в область кода и передавал туда управление?
>

Бери из ключа Guardant - станешь Розычем :)


 
Rouse_ ©   (2012-10-02 13:20) [7]

Можно, только не нужно, прокатит в основном только с базонезависимым кодом (есть и исключения, но гемороя больше)


 
Юрий Зотов ©   (2012-10-02 13:39) [8]


> Тут как то ЮЗ сказал, что придумал принципиально не взламываемую
> защиту.

Оба-на!


 
AV ©   (2012-10-02 13:47) [9]


> Юрий Зотов ©   (02.10.12 13:39) [8]
>
>

Было-было!


 
AV ©   (2012-10-02 13:58) [10]

Не нахожу..
Очень длинная ветка, начали за здравие, чем закончилось - не знаю.
д.Юра сказал, что ничего он не скажет, и будет делать инструмент.
или это тонкий троллинг был?


 
Rouse_ ©   (2012-10-02 14:11) [11]


> AV ©   (02.10.12 13:58) [10]

Я ж тебе там-же и ответил, принципиально не взламываемая защита - это отсутствие её :)


 
AV ©   (2012-10-02 14:42) [12]


> Rouse_ ©   (02.10.12 14:11) [11]

я помню :)
Но какой инструмент тогда для этого нужен?! :))


 
Юрий Зотов ©   (2012-10-02 14:43) [13]

Вот что бывает, если нет смайлика...

Нобелевку дадут?


 
AV ©   (2012-10-02 14:47) [14]

Блин, я ж человек туповатый, мне ж нужно отмашку давать. Для верности :)


 
Rouse_ ©   (2012-10-02 14:48) [15]


>  AV ©   (02.10.12 14:42) [12]
> Но какой инструмент тогда для этого нужен?! :))

Для отсутствия защиты?!! Эмм... голова? ;)


 
Rouse_ ©   (2012-10-02 14:49) [16]


> AV ©   (02.10.12 14:47) [14]
> Блин, я ж человек туповатый, мне ж нужно отмашку давать.

Забей короче, чтоб наверняка - машу весь :)))


 
Pavia ©   (2012-10-02 15:21) [17]


>  Теоретически можно брать байты из файла и выполнять как
> код?

Можно.
Даже практически. Делаешь секцию данных исполняемой и записываешь туда. А после jmp а лучше call. или вызов через функциональный тип.
Для примера можно глянуть статю на wasm.ru pe-лоадер. Там вам из статьи 10% понадобится не больше.


 
boriskb ©   (2012-10-02 18:55) [18]


> AV ©   (02.10.12 14:47) [14]
> Блин, я ж человек туповатый, мне ж нужно отмашку давать


"Я человек военный. Поэтому мне нужно говорить громче и два разА" (с)


 
Дмитрий С ©   (2012-10-02 19:00) [19]

Могу пример выложить.
Только я не из файла загружал, а сам генерил. Чтобы подставлять методы объекта в winapi функции вроде EnumWindows.


 
Rouse_ ©   (2012-10-02 20:42) [20]


> Дмитрий С ©   (02.10.12 19:00) [19]
> Могу пример выложить.
> Только я не из файла загружал, а сам генерил

Давай, генерация кода в динамике - это кошерно. Байткод генерил или через асмпрепроцессор?


 
Юрий Зотов ©   (2012-10-02 20:59) [21]

> можно брать байты из файла и выполнять как код?

Именно это ОС и делает.
:o)


 
Rouse_ ©   (2012-10-02 22:06) [22]


> Именно это ОС и делает.
> :o)

Берет байты из файла и выполняет как код? :)))
Я тоже так сестре объяснял как работает машина - она крутит колеса вперед и иногда назад, а если колеса не крутятся то нужно отпустить педальку. Ключ трогать не нужно, он для взрослых...


 
Юрий Зотов ©   (2012-10-02 22:11) [23]


> Ключ трогать не нужно, он для взрослых

Вот видишь - ты сам на все вопросы и ответил...
:o)


 
Rouse_ ©   (2012-10-02 22:39) [24]


> Юрий Зотов ©   (02.10.12 22:11) [23]
>
> > Ключ трогать не нужно, он для взрослых
>
> Вот видишь - ты сам на все вопросы и ответил...

Оть за что я тебя Юрч всегда уважал и уважать буду - так это за педогагичность :)))


 
oxffff ©   (2012-10-03 00:39) [25]


> AV ©   (02.10.12 12:40) 
> Вот что подумал, можно так написать (пусть в win, любом),
>  что бы exe брал несколько байт(кило/мега) с диска, другого
> файла, подставлял в область кода и передавал туда управление?
>


makeobjectintance генерирует функции на ходу


 
antonn ©   (2012-10-03 00:48) [26]


> Rouse_ ©   (02.10.12 13:20) [7]
>
> Можно, только не нужно, прокатит в основном только с базонезависимым
> кодом (есть и исключения, но гемороя больше)

например хеширующая функция без глобальных переменных, почему бы нет?


 
Германн ©   (2012-10-03 04:38) [27]


> antonn ©   (03.10.12 00:48) [26]
>
>
> > Rouse_ ©   (02.10.12 13:20) [7]
> >
> > Можно, только не нужно, прокатит в основном только с базонезависимым
> > кодом (есть и исключения, но гемороя больше)
>
> например хеширующая функция без глобальных переменных, почему
> бы нет?

Конечно прокатит. Если код "базонезависимый". А переменные - это уже следующий этап. Если до них, до "глобальных" дело всё-таки дойдёт. Что грозит гораздо большим геморроем!


 
Студент   (2012-10-03 08:13) [28]

Я тоже придумал не взламываю в принципе защиту, в ресурсы программы надо поместить портрет Чака Норриса с Автоматом!


 
AV ©   (2012-10-03 09:03) [29]

На самом деле, я знал на 99%, что можно :) Хотелось уточнить.

Тогда такой вариант:
Программа есть только сборщик кусков, которые лежат в доп файле, в блоках, перемешанных установщиком по правилу сложной секретной функции и сгенеренному значению для этой установки. Блоки можно выровнять где надо бесполезными командами, можно разрезать как угодно(хоть посредине оператора x:=0;)

Программа при запуске просит ввести ответ на сгенеренное и по нему + по обратному правилу от той самой сложной секретной функции эти куски строит в памяти собственно в саму программу.


 
Студент   (2012-10-03 09:23) [30]

AV ©   (03.10.12 09:03) [29]
Конечная цель всего это какая? Что на выходе должно получится?


 
AV ©   (2012-10-03 09:25) [31]


>  Что на выходе должно получится?

трудно ломаемая программа


 
Студент   (2012-10-03 09:30) [32]

AV ©   (03.10.12 09:25) [31]
Если программа целиком у клиента ее взлом дело времени, хоть на brainf*ck ее пиши со вставками на erlang"е. Может просто часть функционала вывести в инет на сервак? Без сервака не работает прога и не надо придумывать "камасутра новое прочтение: с поддержкой ПО таки можно иметь секс".


 
Inovet ©   (2012-10-03 10:19) [33]

> [31] AV ©   (03.10.12 09:25)
> трудно ломаемая программа

Секретную функцию разобрать.


 
AV ©   (2012-10-03 10:32) [34]


> Секретную функцию разобрать.

Хакеры - не математики :)
+ там же еще и продолжение -  ключ рандомный сгенерен, который участвует в вычислениях положения куска

Например, функция вычисляет откуда брать, а ключ - сколько именно в байтах


 
AV ©   (2012-10-03 10:32) [35]


> Студент   (03.10.12 09:30) [32]

облака что-то не прижились


 
Студент   (2012-10-03 11:12) [36]

AV ©   (03.10.12 10:32) [34]

>> Секретную функцию разобрать.

>Хакеры - не математики :)

Ты видимо про страшных хакеров только из кино узнаешь. Ты таки не поверишь, но ломать тебя будут не мифические хаксепы, а точно такие же программисты. И все твои ухищрения прекрасно видно в асме. Если программа целиком у пользователя, взлом это вопрос времени.


 
AV ©   (2012-10-03 11:21) [37]


> все твои ухищрения прекрасно видно в асме.

н-да?
ну посмотри крякмисы. Я после взломов вида "свой-чужой", в одном - трех местах, обычно плюю разбирать это "прекрасно видно "


 
Студент   (2012-10-03 11:30) [38]

AV ©   (03.10.12 11:21) [37]
Потому что ты для себя, а если за деньги то все найдешь.


 
Rouse_ ©   (2012-10-03 12:49) [39]


> AV ©   (03.10.12 11:21) [37]
>
>
> > все твои ухищрения прекрасно видно в асме.
>
> н-да?
> ну посмотри крякмисы.

Влад, Студент полностью прав, помнишь я для тебя полгода назад реверсил какое-то крипто с хитрой математикой на строках и в результате выдал код на дельфе который делает то-же? Ну так вот вспомни сколько времени у меня на это ушло (в районе трех что-ли часов). Так что все там хорошо читается, нужна просто практика не более того...


 
AV ©   (2012-10-03 13:01) [40]


> Rouse_ ©   (03.10.12 12:49) [39]

Конечно, помню. И еще раз, спасибо

Ну ты, еще кто-то - таких немного :)

К Студенту я придрался, к словам "прекрасно видно". Не прекрасно. Нужен опыт, который у единиц.
В целом, и я сам это говорю, сломать можно все. Я про
Да, ладно, уже ни про что, проехали :) Показалось, что -то немного новое придумал (за несколько минут :))



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.069 c
2-1340098118
leklerk
2012-06-19 13:28
2013.03.22
Как сделать, чтобы приложение висело?


2-1335086959
leklerk
2012-04-22 13:29
2013.03.22
Событие OnResize формы


2-1340949433
Виктор
2012-06-29 09:57
2013.03.22
Delphi - Excel, автоматическое создание гиперссылки


15-1340213921
Kerk
2012-06-20 21:38
2013.03.22
30 лет спустя


15-1338582602
Юрий
2012-06-02 00:30
2013.03.22
С днем рождения ! 2 июня 2012 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский