Что такое "Reverse Engineering" и "Cyber Security". Показываю как ломают софт.
Стань “Белым” хакером в SkillFactory: go.skillfactory.ru/sFk0KQ
Скидка 45% по промокоду WINDERTON до 25.04.2023 г.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
- Что такое Reverse Engineering(Обратная Инженерия)?
- Как это используются в программировании и в частности в Cyber Security?
- Что нужно знать про Assembler и почему он все еще актуален.
- Как ломают любой софт из бинарников, не зная исходников?
- Пример взлома программы и подбор ключа, чтобы войти
Это, и куча всего остального я упаковал в 15-ти минутный рассказ-пример.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Технологии в видео:
- IDA
- C++
- Assembly(NASM)
- VS code
Я wndtn, мне 20 c чем-то лет, и я изучаю computer science и программирую ~10 лет.
Я into С++, и всякие low-level штуки.
У меня есть небольшой проект, xplatform, который вы сможете найти на github, и через него практиковаться в изучении всей базы программирования, и если вам повезет(если вы упорный), вы станете хорошим программистом %)
Если нужна помощь в программировании 1 на 1, чекайте ссылки .
всем добра
Телега - t.me/wndtn
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда:
Telega и чатик - t.me/wndtn
Boosty(менторинг для РФ) - boosty.to/wndtn
Instagram - / winderton
Github проекта(код с канала) - github.com/winderton
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Оборудование:
Камера - Sony a7ii
Объектив - SIgma F1.4 DG
Микрофон - AudioTechnica at2035
Звуковая карта - Scarlett Solo
Петличка - Rode smartlav+
Клавиатура - HyperX Alloy
Вторая клавиатура - apple magic keyboard(black edition)
Монитор DELL 25'
Монитор Asus mg248q
Iphone 11 pro(зеленый)
CAMLINK elgato - для стриминга
JBL headset
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Музыка:
technica - Unviverse
KASPA- Not long now
SAHARA ULTRA - NO OTHER
Inteus w BACKWHEN - Planetarium
Пікірлер: 490
Что скажете?
@ph1lophobe
Жыл бұрын
Ультрамегахорош
@mrkmrksh
Жыл бұрын
Кликбейтное название, ничего не скажешь)
@alexanderdell2623
Жыл бұрын
Про киберсек вплане лоулевела классно.Про фаззеры можно там рассказать вроде afl,libfuzzer и проч если хватит компетенции
@TTT-gg2sv
Жыл бұрын
Баян, я с пеленок через регистры кодил
@sc2zxc104
Жыл бұрын
Привет!
Обожаю такие моменты, когда из видео понимаешь ровным счётом 0%. И это при том, что видео, очевидно, для полных "нубасов" в этой теме. Это просто просто показывает, сколько всего интересного и полезного ещё можно выучить
@xman_rt
4 ай бұрын
Да забей это Ассембел, по-факту ты уже не далеко до бога программирования. После такого можешь делать свои алгоритмы хоть на тостер. Правда информации про это мало, а все программирование это списывание, поэтому потребуется ебической выдержки. Да и это точно не для «нубасов», а уже более-менее прошареных, чтобы знать терминологию в видосе, уже нужно иметь знания. Да в этой терминологии ничего такого нет, но если углубляться серьёзно в эту тему, то привет матан, ну или пока программирование
@tata47best32
3 ай бұрын
хороший вывод главное
@kniazew_daniil
3 ай бұрын
Короче есть такая штука как дебаггер, который все умеют использовать. Но в данном случае к дебаггеру подключается инструмент для реверс инжиниринга ида про (современный аналог олли). Программа превращает машинный код чужого исполняемого файла в ассемблер или в кривой си, а затем позволяет ставить точки останова и все как обычно. Цель - понять как работает программа, чтобы найти в ней уязвимости. Ассемблер на самом деле линейный и простой как 3 копейки, но сложность создаёт то что его много. Все что у вас есть это инструкции которые работают с регистрами процессора и памятью. Для простоты буду юзать слово переменная. Самая база: MOV позволяет данные одной переменной в другую присвоить ADD сложить SUB вычесть CMP сравнить JMP перейти в любое другое место JE, JNE, JG, JL, JNZ это наши if else. Короче как JMP только при условиях разных. NOP ничего не делает. CALL позволяет взывать функцию например из винды чтобы показать окно программы или из твоего кода RET это return Мои навыки в этом всем на уровне заменить JNZ на JMP, чтобы обойти проверку лицензии (т.е. близки к нулю).
что-то на низкоуровневом)
@l--1998
Жыл бұрын
На заниженном
@onethegogd5783
Жыл бұрын
На отрицательном
@yarburart7242
Жыл бұрын
На синтетическом
@the_stanley5
Жыл бұрын
На донышке
@UseUsers
Жыл бұрын
На подземном
Ждем видео по плюсам "С нуля до ассемблера"
@pavelk2667
Жыл бұрын
...за 21 час
@samav99
Жыл бұрын
У Alek OS есть пару хороших видео про Assembler как раз с начала
@YaShoom
Жыл бұрын
Я прочёл это как "Си нуля" xD
@MSaidu-sj6vx
Жыл бұрын
@@YaShoom ага... с Си в обратную сторону😂😂😂 это северный лис😂😂😂
@onethegogd5783
Жыл бұрын
@@YaShoom то же самое)
Крайне интересное и полезное видео, расширяющее представление о компьютерном мире
@b213videoz
Жыл бұрын
Ага, но хотелось бы несколько больше чем 12 минут "в клиповом темпе"
@lvn5609
Жыл бұрын
Крайне информативный и доброжелательный комментарий, хорошо влияющий на здоровье комьюнити
@MaxVoid-yc9fn
Жыл бұрын
@@b213videoz Для этого есть другие авторы, разбирающие в данной теме
@ayooo454
5 ай бұрын
@@MaxVoid-yc9fn если не секрет, подскажи какие и желательно как их вообще искать?
Какой же кайф смотреть это, когда буквально пол года назад во всём этом разбирался и был погружён с головой. Лайк
@alexbork4250
Жыл бұрын
А я помню, как у нас на первой же лабе было задание ломануть WinRAR, как я помню. А если ломанёшь IDA Pro в течение семестра, то автомат. Но автомат конкретно тогда вроде никто не решился сделать)
@romankornilov274
Жыл бұрын
@@alexbork4250 где учился?)
@alexbork4250
Жыл бұрын
@@romankornilov274 МИФИ
@Jarion
Жыл бұрын
@@alexbork4250 хорошо преподают?
@alexbork4250
Жыл бұрын
@@Jarion я тогда учился на Б факультете (информационная безопасность), и как раз при мне он стал частью КиБ. Преподавали хорошо, плюс были лицензии от Microsoft на Visual Studio и прочее, сейчас не знаю что там. Если ты не понимал программирование до универа, ничего не писал - будет тяжело, возможно тебе это будет просто неинтересено. Но сложность там всё-таки будет с матаном и физикой, я лично на информатику с огромным кайфом ходил, потому что это было единственное, где я прям был одним из лучших. В остальном - я скорее троечником был)
Одно из самых интересных видео, что я смотрел в этой области)) Спасибо тебе большое за работу, вышло как всегда, просто невероятно!!!!
"pdf 770мб" это чтобы на вирустотал не залили, потому что там ограничение 650мб. И весит он столько после распаковки на рабочий стол, в запароленом архиве он сжат до 1мб, потому что раздут пустыми однотипными данными которые легко сжимаются.
@clownlox
Жыл бұрын
> "Огромная PDFка с размером под гиг" > Type of file: .scr Ну да, интересный pdf. Этот разводняк отсталого уровня типа *.pdf.scr уже широко известен. Работает исключительно на бабушек и школьников.
@igorpupkinable
Жыл бұрын
Напоминает идею Zip bombы
Очень познавательное видео даже просто для кругозора. Мне всегда было интересно, как люди создают утилиты с кейгенами. Теперь все встало на свои места. Спасибо! Лучший канал по программированию
респект, что копнул в сторону реверса) имхо есть полезные инструкции новичкам, например как remote debugger завести. и ход мышления (с брейкпоинтами) хороший
за минуту до интеграции уже почувствовал что идёт подвод под интеграцию, кодовое слово "требуется спецы", значит надо перематывать
Человек, я все детство искал подобный гайд порога вхождения. А я уже давно дядя ... Спасибо, было реально очень интересно! :)
Очень интересно смотреть хоть и сложно выглядит, продолжай в том же духе.
круто, в первый раз вижу чтоб так понятно объяснили про это
Круто было узнать про ресурс с задачами. Классно раскрывается тема на практическом примере🎉
я глупый фронтендер, но зашло) спс
Вот это я понимаю хардкор времён журнала ХАКЕР. Раньше хакера все такими суровыми были.
это было круто) очень полезно конкретно для меня, так как хочу в иб глубже уйти спасибо за видос) когда 10 часов?
@wndtn
Жыл бұрын
Скоро скоро
@mihman-jf3ig
Жыл бұрын
@@wndtn пацан, это был топовый видик.
@onethegogd5783
Жыл бұрын
@@mihman-jf3ig 🤯
Сильно. Не думал, что ты так крут).
Я хоть и не шарю в программировании, но смотреть было интересно, определённую часть информации я всё же понял )
Winderton спасибо за видео, как раз ревёрс изучаю) Пару прог уже крякнул, как базовый реверсер крякнул zip который по кд предлагает подписку
@bicepsINpiceps
Жыл бұрын
привет, скинь, пожалуйста, материалы по которым изучаешь.
Топчик🔥🔥 Хотел полезть в пентест самоучкой, не знал где начать, теперь знаю))
Красавец, так держать, можешь больше видео сделать про эти задачи?
Здорово! В свое время изучал ассемблер на Z-80 (Электроника КР-05) и посредством обратного инженеринга смотрел как люди писали игры и программы)))). Теперь смотрю на это видео и понимаю как я отстал от жизни, но все эти add, xor и т.д. до боли знакомы))).
Очень круто, спасибо за ролик!
Здорово что щас Ида есть =) И здорово что она уже версии 4++ =) Или с какой там можно было плагины писать свои на IDA C ? =)) Самое главное, товарищи, которые хотят этим заниматься - если вам не интересно через пару недель занятий, то лучше и не начинать! Успехов =)
Лайк, подписка и уважуха! Ещё такого же контента
Очень позновательно🔥🔥🔥
видос хорош))) сам щас учусь на иб, хотелось бы еще видосов подобного плана)
Офигительно! Порадовал видосом! ) Спасибо!
отличное видео, хоть и не учу реверс но зашло очень
Ох. Помниться раньше в 90-х сидел с подобными задачами, в те времена открытие для меня программы IDA в конце 90-х было нечто. Сейчас конечно вижу она прям очень сильно преобразовалась. Возможностей много стало. Давно я этим не занимался, но тогда меня было сложно вытащить с этого) Сейчас сижу, смотрю на это все и настольгирую)
@MrKeiyaku
Жыл бұрын
А чем сейчас занимаетесь?
@Dmitrii.Pakhtinov
Жыл бұрын
@@MrKeiyaku Программированием
@user-fr5mm1xk7z
7 ай бұрын
яп какой, область какая? @@Dmitrii.Pakhtinov
@senpai_san777
Ай бұрын
@@Dmitrii.Pakhtinovа какая у вас зп если не секрет
Классный монтаж и супер подача!
Молодец, отличное видео! Дай тебе здоровье.
Кайф, побольше бы таких видео
Хороший ролик, спасибо! (дальше шепотом) Думаю, что превью - это замаскированный крик о помощи. Виндертон, если тебя похитили кодеры на чём-то высокоуровневом и жестоко запрещают в ассемблер, кашляни в следующем ролике три раза. Мы тебя спасём
Крутяк, спасибо!
как человеку который не шарит очень интерсно, чутка сложно но очень интересно, хотелось бы больше такого контента
свежий воздух на ютюбе..., спасибо! очень интересно!
Ждём следующие видео с решением тасок по реверсу)
Кайфанул с разбора на примере как можно разобрать простенькую программу, но ОСОБЕННО, с того как автор на 10:20 честно указал на свой косяк в мышлении вместо того чтобы перемонтировать весь видос. Это очень хорошо показывает что все мы люди иногда заблуждаемся и ошибаемся, но главное что учимся)
Круто! Если бы я сам этим занялся, разобрался может через месяцок. Но видео так понятно записать смог бы через лет 10)))
Браво! Я будто фильм посмотрел с закрученным сюжетом и твистами
1 курс ИБ. Что ты делаешь для меня пока загадка 😅. Спасибо за видео, очень интересно
@silenceghoul
11 ай бұрын
аналогично, но не загадка
Как всегда, ничего не понятно, но очень интересно
Очень интересно 😊
Выпускай побольше видео с реверс инжениригом!)
ОЧЕНЬ КРУТО !
классное видео, спасибо
Озвучиваешь идеально
Это интересно давай еще.
Хотелось бы видео о том, как на этом же ассемблере написать такую программу для проверки ключа)
хоть я не изучал ассемблер, но видос максимально понятный =) мне понравилось.
Круто. Хочу еще
0:34-0:35 вставочка топ, убило с первого попадания.
Никогда в жизни скорее всего не встречусь с таким. Но рад что не возникло желания переключить, и что хоть часть понял :).
Очень интересно!
Круто, вчера ночью увидел видео на эту совершенно новую тему для меня, утром на работе коллега сам начал говорить про reverse engineering, а сейчас твоё видео вышло. В один момент неизвестная тема выстрелила у меня, как работает этот мир?
@mihman-jf3ig
Жыл бұрын
у меня тоже подобное случалось
@ElicMagus
Жыл бұрын
Микрофон в мобиле следит за тобой)
@13626
Жыл бұрын
Это все алгоритмы из кремниевой долины.
@Jarion
Жыл бұрын
Жиза бро
@svts9308
Жыл бұрын
Подобное притягивает подобное
Недавно начал смотреть курс от SpbCTF по реверсу, через неделю у ChilliTomato выходит ролик, где он реверсит старую игру с сеги, еще через две выходит ролик от виндертона. Знаки повсюду :)
Не пожалел, что посмотрел. Вспомнил молодость :)
Крутой видос. Теперь понятно как keygen делают.
Классное видео, спасибо! Я вообще учусь на сис админа. В программировании слаб. Но очень нравится. Хочу заняться и этим. Но всех знаний в голову не запихнуть, хочется и в КБ поработать. Изучал немножко Си и sql . наверное питончик надо? С чего начать друзья? Или довести Си до нужного уровня? Проблемы начались когда поменялся доцент и потом еще заболел и выбыл. Т.е. с циклов уже не углублялся. 😅
@satoshi5659
3 ай бұрын
много не бери а то сгоришь
Изучал лет 20 назад ассемблер совместно с Си и Си++. На тот момент мне очень нравился FASM. Это *крутейший* опыт. Я научился взламывать софт, понял насколько сильно может прибавить к производительности программы нехитрая оптимизация участков (высоконагруженного) кода. Также можно было делать вставки с кодом ассемблера в Си++ код. Делал трейнер к игрушке Carmageddon TDR2000, помог бате с активацей какой-то проги, писал 3d заставки на fasm + winapi + opengl. А теперь прикиньте насколько это было круто для 15-летнего парня 😁 Но потом я осознал что ассемблер толком и не нужен в общей массе. Оптимизируется только специализированный софт, да и делается это редко на таком низком уровне как asm. Про геймдев я промолчу - вы сами видите насколько "оптимизированные" выходят проекты. Оптимизация - время и трудозатратное удовольствие, стоимость которого сильно возрастает с погружением на более низкие уровни программирования. На самом деле базовый ассемблер очень простой, сложней даются более узконаправленные инструкции процессора SSE, AVX и так далее. Изучайте ассемблер - это капец как расширит ваше понимание того как процессор исполняет ваши программы. Узнаете много нового о регистрах, памяти, выравнивании данных, инструкциях SSE, AVX и так далее. Я изучал ассемблер ради спортивного интереса но крутым программистом я так и не стал 😀
@henryperulia65
5 ай бұрын
При помощи утилит написанных на ассемблере можно настройки на Андроид смартфонах менять, и на технике Apple😊, возможности безграничные)
Wow, вот это ум 🔥
Просто топ!!!
Как-то сложно у тебя. В свое время я делал кейгены еще проще: брал куски ассемблерного кода с алгоритмом проверки серийника и инлайнил в прогу на Си. В итоге не зная самого алгоритма генерации, мог генерировать серийники к прогам.
Блестяще!
круто!
оч крутая подача
Лайк и подписка. Создаёшь хацкеров :) За сайтик с задачками и сам ролик спасибо
Эх детство мое голожопое. IDA, SoftIce и wasm. прям на ностальгию пробил) Но человек пошел по наименьшему трудному пути - взял программу на asm и под linux. Взял бы windows и что-то на c++ mfc и там бы миллион ресурсов и вызовов win api) Но вот подключение к декомптлятору по локальной сети и получение результата декомпиляции на си - вот это новое для меня. Ну и то что кейген - это тоже уровень. В моем детстве я бы просто поменял условие после валидации. И все бы неверные ключи подходили бы) А тут по хардкору.
@ivd0s
Жыл бұрын
Обычно там в заданиях одно из главных правил никак не модернизировать оригинальный бинарник. Плюс в доп требованиях часто ставят не использовать деббагер, хотя если быть точнее там антидебаддинг который можно обойти, но если хочешь по правилам играть, только статический анализ. Я нашел этот сайт и прям кайфую. Кстати параметр сложности тоже нихрена не очевидный. Есть где сложность указана 4 и щелкается как орешек, а есть 3 которые я пару суток разбирал.
@borismor1
Жыл бұрын
@@ivd0s меня мучает вопрос "для чего это сейчас надо?". Я раньше занимался этим потому что был бедным студентом, а большинство используемых приложений были шароварными (30 дней бесплатно, а потом за бабло). Сейчас же это больше из "любви к искусству" так как знания ассемблера никуда не применить по сути.
@ivd0s
Жыл бұрын
@@borismor1 да нихрена себе никуда. Во первых ты лучше понимаешь как работает пк изнутри, работу программ. К примеру вот нужно тебе захерачить перевод какой-нибудь игры. А там нахрен стоит неизвестное шифрование на игровых архивах, что делать? Правильно реверсить бинарник на предмет того как архив расшифровывается. Или вот была одна игра в которой русский текст переносился на новую строку по буквам, а не по словам. Взял, нашел функцию вывода текста, пропатчил. И это просто варианты обычного применения. А можно реверсить прошивки микроконтроллеров, для отучивания лицензии. Вот это вообще ооочень прибыльно, если знать где свои услуги рекламировать. Ну и просто стандартное ИБ, для реверса всякой малвари.
@user-rd3lo7vo3o
Жыл бұрын
@@borismor1 согласен, в плюсах тоже непонятки (карбон, Раст)
@freeeng01
Жыл бұрын
@@ivd0s добавлю еще к этому реверс ядра для смартфонов.
Видос не реально крутой. Спасибо!
реверс инжиниринг это круто. го еще
Как частный случай(для себя на разок) - пойдет, но вобще-то, нужно было бы разобраться и "перевернуть" условие, и генерировать ключ с использованием рандома. Было бы и интереснее и правильнее. А если засунуть в ядовый гуй, накинуть яйцеразрывной 8-битный музон, то было бы и зрелищно, прям готовый кейген...
Было интересно
Если вы хотите знать что такое reverse engineering, то этот момент отлично его описывает: 5:06
Пушка ❤
Очень понравилось! Благодарю. Такая ностальгия накатила ... Эх, молодёж, не бегите за быстрой деньгой - оставайтесь верными своим юношеским идеалам.
@zeroQuantumNull
Жыл бұрын
кушать тоже хочется)
Вспомнились школьные времена, когда кракмиксы были на дисках (что то типо пака для "хакеров"), и сидели тогда в softice..
кайф, прям кайф
кайф, больше низкоуровневого. Очень интересно
Привет. Почему на wsl используешь Ubuntu, а не обычный Debian, например?
вспомнил как писал диплом под асутп нефтеустановки на микроконтроллере, любопытно работает ли это на микропроцессорных системах
@MsMaksim666
Жыл бұрын
Работает, для многих МК, но этот софт стоит уже немалых денег. Даже предлагают влиться в проект по мк которые не поддерживаются, совместными усилиями расковырять.
Это пока что никто не дошел тут до вулн-ресерча, сплойт дева, раскуривания виртуализированного кода, деобфускации и прочих прелестей реверса, хех. Потом люди начинают плакать от реверса. По ролику - тут весьма очевидный алгос генерации ключа/серийника, который можно и не дебажить даже
Как джуну было нифига не понятно но очень интересно Лайк
Интересно,научиться бы,с чего начать главное?
А в этой самой программе нельзя изменить сам exe? Ну чтоб пустить сразу по нужной ветке.
Не сказать чтобы это шибко сложно, в видео прозвучала правильная фраза - про время дебага На таком простом примере это "ни о чём", не поймите меня неправильно, я не обесцениваю Я как-то ковырялся в отладчике с определённой целью - искал в игре значение таймера, нашёл только структуры вывода, заниматься обратной трассировкой было лень и "сложно" в силу отсутствия навыков, что ли, да и других дел хватает А в трейнерах таймеры не ломают уже больше пяти лет, почему-то
Сделай видос про ресурсы питон как ты сделал с c++
Больше видео про Ассемблер и реверс инженеринг
Как то сложно, надо бы тоже разобраться и попробовать
К слову, сейчас задачу себе можно сильно облегчить (это касается native файлов) плагином HexRays (да, он платный, о на торренте можно найти кряк). HexRays позволяет генерировать псевдокод из ассемблерного кода, т.е. он преобразовывает все эти байты в понятный человеку C.
Интересно, можно ли было переполнить ввод и поломать стек, записав в него адрес возврата сразу на вывод "Valid".
Тебе как на таких скоростях, нормально? Предметы вокруг от трения воздуха не воспламеняются?) Без негатива. Ролик понравился очень. Сложно, но основные мысли я уловил
Круто, что за симпотная тема для win terminal?
@wndtn
Жыл бұрын
Powerlevel10k
Забавно. Но брутфорсом перебирать подходящие символы наверно не очень. Видимо задача предполагала выстраивание обратных операций от проверки символа там где cmp стоит в конце. И уже смотреть какие символы проходят под условие.
@nikolay1405
Жыл бұрын
Проще говоря там где четные. Просто берется входящее 16ти ричное число и xorится с DEAD - что влияет только на младшие 4 бита. В итоге D^n+E либо даст перенос в старший бит либо нет. Поскольку там результат смещается на 4 бита вправо - результат до сложения с вводимым числом может быть либо 0x1995 либо 0x1996. А надо получить 1998. Либо 3 либо 2 разницы. 3 неподходит так как нечетное. Ответ 2.
Так и знал, что без XOR не обойдется.. xor ax,ax - сама простая шифруюцая команда, когда надо было скрыть DATA сегмент в бинарнике. Как это было давно)) Сейчас так какчественно не пишут! (
Интересно, но возник вопрос после просмотра. Если IDA умеет неплохо декомпилить асм в плюсы, почему бы тогда не лазить по плюсовому коду, чем продолжать ломать именно асм? В чем тут подводный камень?
@zaratustra88
5 ай бұрын
Плюсы слишком высокоуровневые всё таки. Асм ближе к бинарнику, значит дизасемблинг значительно надёжнее декомпиляции, хотя в Ghidra код можно смотреть и в С.
Когда то по молодости занимался подобным. Была программа SoftICE ставилась ниже Windows и на ней можно было дебажить все включая ядро. Сейчас есть такое?
@schtainhardt
Жыл бұрын
windbg
Реверс весело ровно до того момента, как встретишься с с обфускацией - виртуалками, шифрованой арифметикой и прочим неприятным. Но такова работа. Алсо, на гитхабе полно ресурсов по реверсу, рекомндую поискать по awesome reverse engineering. Ну и зарубежные конференции тоже дело полезное
@erondondon3341
Жыл бұрын
да хорош, не отпугивай людей) если ремесло в кайф, то и разобраться с обфускацией будет интересно.