Сейчас на форуме: (+6 невидимых)

 eXeL@B —› Протекторы —› Свой протектор
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 08 января 2017 22:53 · Поправил: Boostyq
· Личное сообщение · #1

Всем привет
Хочу немного автоматизировать защиту строк в своем приложении
Раньше я самостоятельно шифровала строки и просто вписывала как массив байт и подавала в функцию, но читаемость такого кода намнооого хуже и поменять даже символ стоит диких усилий
Вообщем хочется, что-то типо ProtectString("string") с автоматической обработкой

1) Вариант через .pdb, парсить после компиляции, я надеюсь, можно настроить чтобы после билда запускалась хотя бы программа...
Это просто жесть: все что нашла это - https://github.com/Microsoft/microsoft-pdb, ни один сорс даже нельзя скомпилить, по причине отсутствия таковых... Я даже нашла недостающие файлы на каком-то китайском сервере но таки, некоторых все равно не хватает...
Кроме того, документации по pdb файлу на русском не нашла...
2) Вариант через препроцессор, я слышала, что можно прикруть такое - опять же инфы на русском нет... Знаю только о boost.wave, из-за отсутствия инфы, не могу применить... Да и слабовато это, для шифрования строк может и хватит, а для бОльших целей вряд ли.
3) Вариант через метки, например: AA BB CC DD строка DD CC BB AA, для этой задачи может хватить, но опять же глуповато, учитывая, что вся информация есть в .pdb. Нужно искать где используется и патчить, так что слабый вариант...

Следующей задачей хотелось бы сделать рандомизацию имен классов из rtti, так как ?AVAvLicenseController уж сильно палится

Если у кого-то есть идеи, прошу написать
Спасибо

P.S. Я не собираюсь как dermatolog писать целый Vmprotect просто интересно попробовать себя с другой стороны ... как то двусмысленно звучит
Ибо говорят, что защитить хорошо можно лишь когда знаешь от чего защищаться...

-----
В облачке многоточия




Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 08 января 2017 23:00 · Поправил: dosprog
· Личное сообщение · #2

Вот не надо этого делать. Ну пожалуйста

Boostyq пишет:
Вы, извините меня, конечно


Нет. Извинения не принимаются.

Boostyq пишет:
Я спросила как приблизиться к задаче, если не знаете - не нужно писать


А кто тогда напишет? Кто наставит на путь истены?

Boostyq пишет:
Надо это мне или нет уже установлено


Это распространённое заблуждение.






Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 08 января 2017 23:06 · Поправил: Boostyq
· Личное сообщение · #3

dosprog пишет:
Вот не надо этого делать. Ну пожалуйста

Вы, извините меня, конечно, но что это сейчас было?
Вы сообщения набиваете? Я спросила как приблизиться к задаче, если не знаете - не нужно писать >.<
Надо это мне или нет уже установлено

-----
В облачке многоточия





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 января 2017 23:11
· Личное сообщение · #4

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




Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 08 января 2017 23:19 · Поправил: Boostyq
· Личное сообщение · #5

reversecode пишет:
вы пришли на форум где ломают защиты, что бы вам помогли разобраться как писать защиту - вы в своем уме?

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

п.с. dosprog, ты прямо такой уникальный: ты все процитировал, на все ответил, жаль, что ни слова по делу. фикция наличия сверх-интеллекта.

-----
В облачке многоточия





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 января 2017 23:24
· Личное сообщение · #6

я читать умею, прочитал дальше чем первое предложение о желаниях типа стать вторым дерматологом написать свой аля вмпрот итд
вот на этот вопрос я и ответил

а как шифровать строки в гугле на каждом шагу написано
несколько раз обсуждалось с примерами на стероверфлов
пару раз показывалось в презентациях(pdf которые можете найти там же в гугле)на всяких секьюрити конферециях

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



Ранг: 53.9 (постоянный), 33thx
Активность: 0.050
Статус: Участник

Создано: 08 января 2017 23:24
· Личное сообщение · #7

Если вам банально нужно скрыть строки и вы пишете на сях, то используйте спецификатор constexpr и С++11, compile time xor для строк пишется за пару минут, расшифровываться они будут по месту использования, если не осилите сами, в гугле есть примеры.

| Сообщение посчитали полезным: Boostyq


Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 08 января 2017 23:44
· Личное сообщение · #8

deniskore пишет:
Если вам банально нужно скрыть строки и вы пишете на сях, то используйте спецификатор constexpr и С++11, compile time xor для строк пишется за пару минут, расшифровываться они будут по месту использования, если не осилите сами, в гугле есть примеры.

Спасибо за ответ, действительно, полезная информация, но, к сожалению не подходит в моем случае
1) Мой алгоритм гораздо сложнее чем xor... Это возможно сделать, но приоритет в работе с pdb файлом, о формате которого я не нашла вообще ничего на русском языке...
2) Это не будет работать с функциями printf и т.п. и придется писать контейнер для каждой такой функции

п.с. reversecode, оно и видно, умеете.

-----
В облачке многоточия




Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 08 января 2017 23:49 · Поправил: dosprog
· Личное сообщение · #9

Boostyq пишет:
придется писать контейнер для каждой такой функции

)) а как вы хотела?

Красота требует жэртв.
Зато потом блеск






Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 января 2017 23:51
· Личное сообщение · #10

а че за вас вбить в гугл и поискать ? у вас руки прямые только строчить на форумах ?
ок
ищу за вас
спрашиваем у гугла
strings encode c++ obfuscate
сразу дока с конфы
https://www.blackhat.com/docs/eu-14/materials/eu-14-Andrivet-C-plus-plus11-Metaprogramming-Applied-To-software-Obfuscation-wp.pdf
дальше тема второй вас где тоже хотят быть вторым дерматологами
http://reverseengineering.stackexchange.com/questions/118/what-kinds-of-steps-can-i-take-to-make-my-c-application-harder-to-reverse-engi
дальше и дальше гугл забит!
http://stackoverflow.com/questions/1356896/how-to-hide-a-string-in-binary-code

сами справитесь ? или только болтать умеете ?




Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 09 января 2017 00:01 · Поправил: Boostyq
· Личное сообщение · #11

reversecode пишет:
а че за вас вбить в гугл и поискать ? у вас руки прямые только строчить на форумах ?

Поищи чели, я и не сомневалась, что не найдешь ответа
Господи, вы серьезно? Спрашиваю, как использовать pdb файл при протекте, он мне отвечает как шифровать строку Написала уже дважды, алгоритм я уже реализовала.
Цель не в шифровании строки, и вообще не в защите, а том как мне связать контекст приложения с протектором, используя .pdb файл...

-----
В облачке многоточия




Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 09 января 2017 00:04 · Поправил: dosprog
· Личное сообщение · #12

Вывод. Кому надо, тот пыхтит, но делает. Зачем-то.
А кому не надо, те приходят на exel@b, чтоб им рассказали, что это просто.

На самом деле, это прошлый век. Такими вещами серьёзные люди не заморачиваются, по наблюдениям.

Boostyq пишет:
как мне связать контекст приложения с протектором, используя .pdb файл...

) А никак. PDB-файл то не для тебя, а для компилятора/линкера. Чо ты от него хотите? Вообще






Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 09 января 2017 01:26 · Поправил: script_kidis
· Личное сообщение · #13

а простой хор и шифровка секции по константе ?
прошлый век но работает




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 09 января 2017 01:39 · Поправил: unknownproject
· Личное сообщение · #14

Зачем вообще что-то от кого-то прятать, если это не быдлокод ? А пдб, он как мап файл в дельфе, т.е. по сути содержит отладочную инфу.Зачем что-то в нем шифровать - непонятно, если конечный юзер его и в глаза видеть не должен.Путь к нему надо затирать в бинарнике, да и в этом смысла нет.Без прямого доступа к пк, на котором был собран софт, .pdb не появится.Противодействовать дебагу и модификации - тоже смысла нет.Если конечный алгоритм шифрования обратим, а он в любом случае обратим, если какие-то константы после расшифровки заюзывают и являются промежуточными данными/аргументами для вызываемых функций.

-----
TEST YOUR MIGHT





Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 09 января 2017 01:42 · Поправил: Boostyq
· Личное сообщение · #15

dosprog пишет:
) А никак. PDB-файл то не для тебя, а для компилятора/линкера. Чо ты от него хотите? Вообще

Может быть для отладчика? Ну это не важно, похоже, что он не предназначен для разработчика
Что-то напутала я, просто помнится что VMProtect юзал pdb файлы для того, что бы в меню предлагать для защиты...
Все что нашла:
Code:
  1. #define VMProtectBegin \
  2.          __asm _emit 0xEB \
  3.          __asm _emit 0x10 \
  4.          __asm _emit 0x56 \
  5.          __asm _emit 0x4D \
  6.          __asm _emit 0x50 \
  7.          __asm _emit 0x72 \
  8.          __asm _emit 0x6F \
  9.          __asm _emit 0x74 \
  10.          __asm _emit 0x65 \
  11.          __asm _emit 0x63 \
  12.          __asm _emit 0x74 \
  13.          __asm _emit 0x20 \
  14.          __asm _emit 0x62 \
  15.          __asm _emit 0x65 \
  16.          __asm _emit 0x67 \
  17.          __asm _emit 0x69 \
  18.          __asm _emit 0x6E \
  19.          __asm _emit 0x00 \

Видимо когда-то VMProtect так метил регионы для защиты, а так же вызовы к своей экспортируемой дллке...
Тем не менее, это подходит для регионов, но нужно строку, а так же место под функцию расшифровки...

unknownproject пишет:
Зачем вообще что-то от кого-то прятать, если это не быдлокод ? А пдб, он как мап файл в дельфе, т.е. по сути содержит отладочную инфу.Зачем что-то в нем шифровать - непонятно, если конечный юзер его и в глаза видеть не должен.Путь к нему надо затирать в бинарнике, да и в этом смысла нет.Без прямого доступа к пк, на котором был собран софт, .pdb не появится.Противодействовать дебагу и модификации - тоже смысла нет.Если конечный алгоритм шифрования обратим, а он в любом случае обратим, если какие-то константы после расшифровки заюзывают и являются промежуточными данными/аргументами для вызываемых функций.

Спасибо за ответ,
Я не собираюсь его шифровать, я прекрасно понимаю, что все мои поделки легко вскроют те у кого больше или столько же знаний. Смысл в том, чтобы обеспечить минимальную защиту и увеличить сумму, которую реверсер возьмет с конкурента...
Всего 2 шага: затереть лишнюю информацию и защитить строки
А насчет защиты кода, я считаю - стоит, я знаю пару людей, которые тратили годы на это...

-----
В облачке многоточия





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 09 января 2017 02:23
· Личное сообщение · #16

Boostyq пишет:
Смысл в том, чтобы обеспечить минимальную защиту и увеличить сумму, которую реверсер возьмет с конкурента...

на этом форуме с этим не помогают
уже который раз пытаюсь объяснить

| Сообщение посчитали полезным: script_kidis

Ранг: 81.6 (постоянный), 102thx
Активность: 0.060.02
Статус: Участник

Создано: 09 января 2017 02:24
· Личное сообщение · #17

Потратить свои годы на то, что ненужно - особого ума как раз не требует.

| Сообщение посчитали полезным: script_kidis


Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 09 января 2017 02:36 · Поправил: script_kidis
· Личное сообщение · #18

Смысл в том, чтобы обеспечить минимальную защиту и увеличить сумму, которую реверсер возьмет с конкурента..

если всё на продажу то в чём же толк?меня терзают смутные сомнения сначала темиду ковыряли теперь это
вы случаем не чужие поделки перебиваете на свой мотив а далее ищите мат.выгоду но боитесь что риперы не дремлют?

Hellspawn уже говорил по этому поводу

--> Hellspawn <--

Добавлено спустя 13 минут
dosprog как обычно прав)
предлогаю ему денег дать а он вам протектор

Добавлено спустя 16 минут
да и давайте сюда ваши Полезные поделки на слом а то скучно)




Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 09 января 2017 04:10 · Поправил: Boostyq
· Личное сообщение · #19

Да не пишу я протектор >.< и не собираюсь продавать свой протектор
Просто у меня два увлечения:
-С одной стороны я увлекаюсь реверсингом приложений, но при этом я не наношу никому коммерческих убытков, просто интересно как устроено, проверить - смогу ли я разобрать или нет
-А с другой стороны у меня есть собственные приложения, которые я пишу сейчас, и я, как бы парадоксально не звучало не хочу чтобы кто-то их щелкал как орешки, ведь я потратила время и зрение .-.
А здесь мне понравилась атмосфера, поэтому я и сижу тут, задавая дурацкие вопросы про защиту, но я же не враг вам, чего вы так нападаете-то >.>
...особенно эта дос программа хулиганит постоянно
Но на счет поделок вы правы, я постоянно чего-то пишу, нужен мне xml-парсер - скачай с гитхаба напишу обязательно, фиговый, баганый, но чтобы начинался с моих инициалов
Но ничего не дам q.q вам только дай, тут же разберете и останусь я с ножками да рожками

-----
В облачке многоточия





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 09 января 2017 04:17
· Личное сообщение · #20

для второго увлечения нужно найти другой форум и там интересоваться про защиты
но лучше конечно отдать или раздать все даром



Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 09 января 2017 04:17 · Поправил: dosprog
· Личное сообщение · #21

Boostyq пишет:
-А с другой стороны у меня есть собственные приложения, которые я пишу сейчас, и я, как бы парадоксально не звучало не хочу чтобы кто-то их щелкал как орешки, ведь я потратила время и зрение .-.


Чтоб твои поделки "не щёлкали как орешки", не тули туда всякие заморочки.
Это работает.

А если, со временем, поделка заглючит, то пипл туда полезет и, может быть, поправит косяк.
А не будет тебя ругать и нанимать хуцкеров. Зачтётся в плюс тебе же.
Выкручивания рук никто не любит.

На самом деле ничего там такого нет в этом шифровании строчек,
чего нельзя было бы сделать, при желании, без применения сторонних программ, автоматически.
2c51_10.01.2017_EXELAB.rU.tgz - strings.rar
Только это сильно загромождает программу и потенциально сулит сложности с запуском на всяких новых системах.
Поэтому и не занимается этим пипл. Вон берут протектор навешивают в частном случае, и нормально.

Не думаю, что тебе понадобится защищать какие-то там свои супер-технологии,
а если так, то не помогут эти наивные телодвижения, а только разозлят.
И тупо краденный софт станет уже не краденным, а "завоёванным в честной пиратской схватке".

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






Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 09 января 2017 05:37 · Поправил: Gideon Vi
· Личное сообщение · #22

Boostyq пишет:
не хочу чтобы кто-то их щелкал как орешки


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



так могут только фанатики.

| Сообщение посчитали полезным: Diabolic

Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 09 января 2017 06:05 · Поправил: dosprog
· Личное сообщение · #23

Gideon Vi пишет:
так могут только фанатики.


Логично.

И ещё те, у кого деньги в тумбочке не переводятся, а времени девать некуда.





Ранг: 12.0 (новичок), 17thx
Активность: 0.060
Статус: Участник

Создано: 09 января 2017 06:35
· Личное сообщение · #24

Boostyq пишет: затереть лишнюю информацию и защитить строки

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 09 января 2017 12:24
· Личное сообщение · #25

Boostyq пишет:
Хочу немного автоматизировать защиту строк в своем приложении

upx же есть! :[||||]:




Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 09 января 2017 13:43
· Личное сообщение · #26

ELF_7719116 истинно так
UPX modified/hacked/protected; take care!!! Он Всему голова,зверь а не прот мало кто умеет распаковывать
на уровне работы с аппаратными ключами,а темида так себе, на нее уже автоанпакер есть, любой дурак возмет и снимет её за пару секунд....
а если глаз падёт на коммерческие проты то, что тут говорить если есть те кто KeyMaker'ы к вмпротектам реализуют,а там если подумать хороший штат сотрудников и бюджет на разработку выделяется) но всё же если есть в сети в бесплатном доступе эти продукты,есть и те компании которые все равно купят хороший софт! исходя из этого - пишите хороший софт,вот как куранин и бабушкин а не защиту (её всёравно разломают) или перебьют копирайты и перепродадут
в двух случаях : 1. это полезная программа не имеющая аналогов или 2. это хак софт с крутой защитой который разозлит реверсера и он взломает его продукт ради собственного удовальствия например GPcH очень злился в своё время на тех кто ломал его продукты))) даже я и то ломанул два продукта DotFiх'а ради спортивного интереса)) Как говорится мы не сделаем тебе больно просто посмотрим что внутри)
поэтому скажу по собственному опыту собирая защиту в течении 3х дней и навесив её на средний кейгенми её расковыряли за 4 часа и написали кейген)) поэтому не теряйте время зря лучше потратить время на улучшение софта а если там будет очень сложно реализоаана защита по типу аппаратный ключ то купят и отломают))




Ранг: 90.1 (постоянный), 89thx
Активность: 0.290.56
Статус: Участник

Создано: 09 января 2017 14:42 · Поправил: Boostyq
· Личное сообщение · #27

Gideon Vi пишет:
определитесь, чем хотите заниматься. Если написанием софта, то на самостоятельную его защиту времени будет потрачено больше, чем на её разбор. Вы ведь не делали дверь с фурнитурой и замком для своей квартиры, я надеюсь?
Если созданием средств защиты, то и пишите их, зачем Вам прикладуха?

Я бы хотела заниматься, тем что мне нравиться, но написание защиты процесс долгий, а я голодная, так что не могу позволить себе это
За этим и пишу софт, но этот продукт очень специфичен, если поймут как он работает - мудрить не будут, скопируют на раз-два и станут продавать дешевле
Действительно, хоть я и сделала шифрование, все таки решила VMProtect третью купить, не буду заморачиваться, а потом, может сделаю что-то свое ради интереса... Конечно из-за курса дико дорого, но вроде как не обязательно покупать обновления каждый год, просто старая версия останется, можно конечно и взломанную, но наверняка туда напихали чего-нибудь...
Но систему лицензии придется самой писать, ибо еще столько же за их веб-менеджер лицензий и там уязвимости какие-то, вообщем реализую сама
Всем спасибо за ответы, извините, если кого-то напрягла своими защитами

-----
В облачке многоточия




Ранг: 3.1 (гость), 4thx
Активность: 0=0
Статус: Участник

Создано: 09 января 2017 15:53
· Личное сообщение · #28

Boostyq пишет:
не хочу чтобы кто-то их щелкал как орешки


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

| Сообщение посчитали полезным: DenCoder, Boostyq, Gideon Vi, plutos


Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 09 января 2017 18:48
· Личное сообщение · #29

Boostyq пишет:
решила VMProtect третью купить


делайте под x64, его девиртуализацию сейчас ни кто не ведет.

| Сообщение посчитали полезным: plutos, Boostyq

Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 09 января 2017 19:13 · Поправил: dosprog
· Личное сообщение · #30

Лучше под убунту.
А эта противная винда маздай.


. 1 . 2 . >>
 eXeL@B —› Протекторы —› Свой протектор
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати