Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/43: Рейтинг темы: голосов - 43, средняя оценка - 4.58
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6284 / 3008 / 1051
Регистрация: 01.06.2021
Сообщений: 11,274

Поиск секретного слова (для хакеров форума)

25.07.2024, 22:34. Показов 9111. Ответов 72
Метки нет (Все метки)

Написал консольную программу на несколько строк.
Прога просит ввести пароль. Если пароль верный, то выводится одно секретное слово. Если нет, то выводится уведомление, что пароль не верный.
Нужно найти это секретное слово. Пароль неизвестен.
Побеждает тот хакер, который публикует секретное слово раньше других.
Победителю поставлю отзыв.
Вложения
Тип файла: 7z CrackMe.7z (659.5 Кб, 72 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2024, 22:34
Ответы с готовыми решениями:

Для передачи секретного сообщения используется код, состоящий из
Для передачи секретного сообщения используется код, состоящий из 16 знаков. При этом каждый знак кодируется одним и тем же количеством бит....

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

Определить максимальное время, требующееся курьеру для доставки секретного пакета
У предприятия существует большая сеть филиалов в разных городах. Требуется написать программу, определяющую максимальное время,...

72
28.07.2024, 12:33

Не по теме:

Цитата Сообщение от sporta1982 Посмотреть сообщение
кстати , у вас структура форума странная какая-то , у вас есть отдельная страничка для "c++ для начинающих"
а просто "c++" как будто скрыто... странно как-то....
Более того, есть ещё и ветка С/С++ ;)

0
 Аватар для sporta1982
215 / 61 / 7
Регистрация: 05.10.2023
Сообщений: 522
30.07.2024, 23:13
Ну так то данные эти удалённые видны..
0
Модератор
Эксперт Java
 Аватар для alecss131
2892 / 1398 / 412
Регистрация: 11.08.2017
Сообщений: 4,466
Записей в блоге: 2
04.08.2024, 16:52
Royal_X, Я вот думаю, стоит немного изменить задачу, вытаскивать не слово/данные, а создать программу с активацией по ключу. И цель на активировать программу, чтобы принимала любые данные или создать генератор ключей или просто ключ.
А с другой стороны цель максимально спрятать нужный функционал программы от доступа без ключа. Мне тут интересна сторона защиты. Хотя как можно сделать проверку условий без инструкций в виде jmp, в голову приходит только аресная арифметика и указатели на функции...
Как идея? Только не использовать библиотеки и спец утилиты по типу upx или vmprotect для защиты.
0
04.08.2024, 17:01

Не по теме:

upx вам вряд ли чем то поможет. P.s да тут наверное в математике шарить нужно, вроде код понятный и там кстати лишнее есть... А так хз...

0
Software Engineer
 Аватар для Custos
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
08.08.2024, 22:10
Цитата Сообщение от alecss131 Посмотреть сообщение
не использовать спец утилиты по типу vmprotect
VM-based obfuscation сейчас является отраслевым стандартом в плане решения для затруднения реверс-инжиниринга ПО.
Что бы вы не изобретали для защиты приложений от реверса - все равно в конечном итоге придете к вышеупомянутому подходу.

А на рынке VM-based obfuscation сейчас два основных решения: Oreans Technologies (WinLicense/Themida/Code Virtualizer) и VMProtect. Возьмите любой античит/DRM систему/etc и с вероятность процентов 90 там будет присутствовать одно из этих решений. Остальные решения типа Enigma/Obsidium/ASProtect/etc доедают крохи с их "стола".
0
Модератор
Эксперт Java
 Аватар для alecss131
2892 / 1398 / 412
Регистрация: 11.08.2017
Сообщений: 4,466
Записей в блоге: 2
08.08.2024, 22:23
Цитата Сообщение от Custos Посмотреть сообщение
все равно в конечном итоге придете к вышеупомянутому подходу
Как по мне будет полезнее, пойму заодно и их, это в случае если приду, а не заглохну где-то по пути.
0
Software Engineer
 Аватар для Custos
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
08.08.2024, 23:11
Цитата Сообщение от alecss131 Посмотреть сообщение
Как по мне будет полезнее, пойму заодно и их, это в случае если приду, а не заглохну где-то по пути.
Если только в образовательных целях, то да, это будет достаточно полезным
Можно даже подглядывать в слитые исходники VMProtect: https://github.com/jmpoep/vmprotect-3.5.1

Добавлено через 45 минут
Цитата Сообщение от alecss131 Посмотреть сообщение
Я вот думаю, стоит немного изменить задачу, вытаскивать не слово/данные, а создать программу с активацией по ключу.
Если Вам будет интересно в таком поковыряться, то я могу воскресить свою старую CrackMe задачку
Там как раз требовалось "отучить" приложение от активации по ключу
0
Модератор
Эксперт Java
 Аватар для alecss131
2892 / 1398 / 412
Регистрация: 11.08.2017
Сообщений: 4,466
Записей в блоге: 2
08.08.2024, 23:28
Цитата Сообщение от Custos Посмотреть сообщение
Если Вам будет интересно в таком поковыряться
К этому форуму это все же мало относится. Взлом как таковой мне мало интересен. Мне куда интересней извлечение ресурсов из игр.
А эта тема мне интересна в плане защиты своего софта. Моих познаний взлома почти нету и хватает только на защиты уровня как в стартовом сообщении. Да и для ковырялок нужны получше знания ассемблера и софта получше x96dbg, для чего нету ни желания ни времени.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6284 / 3008 / 1051
Регистрация: 01.06.2021
Сообщений: 11,274
09.08.2024, 00:35  [ТС]
alecss131, какую-то базовую защиту реализовать можно. Она даже включается средствами самих движков. Даже в Godot она есть: https://docs.godotengine.org/e... n_key.html. Там шифруется PCK файл игры (именно в этом файле находятся все игровые ресурсы) посредством 256-bit AES ключа. Однако, сам ключ будет в бинарнике, поэтому я называю это базовой защитой. Для серьезных целей она не годится.
И вообще, никакая защита не спасет от кражи игровых ресурсов. Например, рассмотрим музыку в игре. Какую бы защиту ты не реализовал, я могу записать эту музыку во время выполнения игры.
Лучше просто защитить ресурсы авторскими правами. А потом, если кто-то их украдет, то можно подать в суд.
0
Модератор
Эксперт Java
 Аватар для alecss131
2892 / 1398 / 412
Регистрация: 11.08.2017
Сообщений: 4,466
Записей в блоге: 2
09.08.2024, 00:55
Royal_X, Я не про защите ресурсов, а про функционал активации, хотя такое крайне редко может понадобится. Кстати, в UE тоже есть шифрование игровых архивов, его вроде тоже надо включать, а так ключ тоже в ехе игры. Но если на движке сторонняя защита по типу vmprotect/denuvo, то ключ фиг достанешь. Еще пусть такая базовая защита и обходится легко, но зато в UE, когда ресурсы игры можно распаковать при помощи утилит из самого движка, с зашифрованными архивами уже нужны сторонние утилиты.
У нас и про суд... грубо говоря больше нервов и времени потратишь и больше мороки с правами и доказательствами будет.

Я про ресурсы упомянул в ключе что не хочу их защитить, а в плане что из темы взлома/реверса единственно чем занимаюсь, так это извлечением ресурсов. Но это полезно при создании модов и переводов к играм.
Кликните здесь для просмотра всего текста
Хотя для себя я хотел создать ремейк старой игры с пс2, но пока меня затормозил непонятный формат хранения скелетых анимаций, точнее не могу расшифровать (хотя скорее понять что и как хранится) данные к каждой кости. В итоге выходит 12 байт на кость на 1 кадр, а что там загадка и пока не решенная. Хотя движок и поддерживает сжатие float и прочие компактные типы хранения, но еще усложняет жизнь что игра с пс2 и поддерживает дополнения, с текстурами пришлось попотеть, так как порядок пикселей в нативном формате каша для пк. Надо понять что искать, точнее формат анимации кадра, а именно кватернионы, вектора, матрица, вращение/скейл/перемещение и тд. Движок очень распространенный, но при этом и легко модифицируемый, можно взять 2 игры на этом движке и все будет по разному. Повезло еще найти исходники утилит переводчиков, так как разрабы хитро зашифровали игровую карту. С коллизиями я уже решил не трогать, нашел упрощенные модельки где можно ходить, хватит и этого. В идеале еще бы извлечь места источников освещения, точки спавна врагов, места предметов, позиции камер и тригеры, но боюсь это зашито в код игры. Могут быть еще сюрпризы от катсцен. Но главная загвоздка это анимации, точнее их отсутствие. После придется взяться за движок (UE) и конкретно его изучить, больше визуальную часть, а не код. Предвидятся проблемы с морф анимациями лица.
0
09.08.2024, 09:04  [ТС]

Не по теме:

Цитата Сообщение от alecss131 Посмотреть сообщение
придется взяться за движок (UE) и конкретно его изучить
А мне вот не нравится этот движок. Если с другими движками ты наслаждаешься от процесса разработки игры, то с данным движком я только прокрастинирую. Блюпринты мне категорически не нравятся, а сам движок не адаптирован к тому, чтобы полностью писать на С++. Сразу уточню, что создавать полностью всю игру без блюпринтов можно. Но есть отдельные вещи, которые на С++ будут очень времязатратными и сам движок проектирован так, что склоняет к использованию в такие случаях к использованию блюпринтов. Я же предпочитаю движки, которые полностью адаптированы под код (Unity, Godot).
Еще, у каждого движка есть своя специализация. Для UE, грубо говоря, это игры с огромными реалистичными мирами. Однако, в одиночку делать такие игры будет сложно, ведь эти огромные миры нужно заполнить ассетами. Такие игры делаются огромными студиями. Собственно, поэтому на рынке лидирует Unity со значительным перевесом.

0
09.08.2024, 11:17

Не по теме:

Цитата Сообщение от Royal_X Посмотреть сообщение
Для UE, грубо говоря, это игры с огромными реалистичными мирами
Откуда такие выводы? Советую обратиться к истории, к происхождению движка, да и даже сама структура движка с уже имеющимися в нем классами, говорить о жанре к которому движок склоняется. Ведь истоки движка это игра Unreal Tournament и жанрово движок от него не ушел. То есть fps (first person shooter). Упор у движка на реалистичную графику, не спорю, но никто не мешает делать даже рисованную стилизацию. Огромные локации (открытый мир) грубо говоря завезли нормальную поддержку только в 5 версии (динамическая загрузка). Да и если взглянуть на проекты движка, то это почти все игры от 1/3 лица по сути shooter/action/rpg жанры. Использование бплюпринтов это больше разделение на программистов и дизайнеров и это довольно удобно, а вообще если копнуть глубже то можно сделать выводы что в движке главные BP, а на С++ пишется некое подобие расширения функционала к ним. Мне нравится подход движка, когда код главный, в отличии от того же юнити, где главные префабы, а код и прочее прицепляется к этим префабам.
А юнити лидирует по другим причинам. Юнити для 2д и мобилок подходит куда лучше чем UE, это факт спорить не буду, а еще куча всякого рода мануалов и видео туториалов на русском по движку. Мобильная разработка своей рекламой приносит доход и больше чем индюшатина продающаяся в стиме за единократные платежи.
На сколько помню/знаю оригинальная игра Lineage 2 (которую тут один пользователь пытаестся сделать сам) была сделана на ue, правда вроде 3 версии движка.
Единственное что мне не нравится в движке, так это наличие GC, от которого плюсовый код ведет себя иначе от ожидаемого поведения в ванильном языке.
Да и других движков на плюсах того же уровня просто нет. Использовать другие языки не хочу, шарп и питон не вызывают приятных эмоций.

0
09.08.2024, 11:44  [ТС]

Не по теме:

Цитата Сообщение от alecss131 Посмотреть сообщение
Юнити для 2д и мобилок подходит куда лучше чем UE
Unity для 3d в одиночной разработке тоже лучше подходит, чем UE. По инди 3d играм лидирует снова Unity. Пока люди в UE прокрастинируют, в Unity можно целую игру сделать.
Цитата Сообщение от alecss131 Посмотреть сообщение
Использовать другие языки не хочу, шарп и питон не вызывают приятных эмоций.
C# безопасный язык, со сборщиком мусора, стандартизирован и очень популярен. А вот С++ для разработки игр хоть и мощный инструмент, но легко превращается в причину тормозов и утечек памяти, особенно у новичков. Ирония в том, что многие выбирают С++, понаслышке зная, что это самый быстрый язык, предполагая, что если игра будет на С++, а не на других языках, то fps взлетит во много раз. Но это АБСОЛЮТНО не так, и даже наоборот. Во-первых, на практике выстрелы в ногу при написании на С++ очень замедляют игру. Во-вторых, выбор С++ не дает почти никакого буста для fps. Лучше заниматься оптимизацией графики, выбором лучших алгоритмов и подходов, нежели надеяться на С++.
Например, я написал игру-симуляцию на Godot, которая выдавала у одного человека всего 22 fps. Поменял подход в игре, теперь игра начала выдавать 145 fps, хотя, визуально ничего не поменялось. А вот смена на С++ мало чем бы помогла. Имею в виду, что неважно на каком языке писать, главное, чтобы руки не были кривыми. Тогда зачем мучать себя этим С++?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.08.2024, 11:44

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

Pronobozo...Музыка для хакеров, геймеров,ninja:)(так сказано в Вики)
Кто слушал?как вам? вот песни которые мне больше всего понравились: Pronobozo - Sniper.mp3 pronobozo - Hackwave.mp3 Pronobozo -...

Бинарный поиск для слова очищает вектор
В коде участвует проверка, что is_used == -1, но при этом у меня размер вектора равен 0, хотя я его меняю, добавляя элементы пушбеком ...

Результаты секретного эксперимента
ПОМОГИТЕ, ПОЖАЛУЙСТА, РЕШИТЬ Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt ...

Результаты секретного эксперимента
Помогите пожалуйста решить! Вот условия задачи: Ваши друзья провели совершенно секретный эксперимент и начали анализировать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
73
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 10.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 08.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 06.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru