КАК УСТРОЕН EXE ФАЙЛ?
HTML-код
- Опубликовано: 5 май 2024
- Помоги достичь цели и собрать 150 инсталлов ➤➤➤➤
Качай Raid: Shadow Legends бесплатно ✅ clik.cc/d22H3 и получи специальный стартовый пакет💥 доступный только следующие 30 дней!
Как устроен exe файл?
Формат исполняемого файла в windows имеет название portable executable.
Как он устроен и как его собрать с нуля - смотри в данном видео.
✔️ Полезные ссылки:
Основы программирования - • КАК РАБОТАЕТ ПАМЯТЬ КО...
Полезно знать - • ЯЗЫКИ ПРОГРАММИРОВАНИЯ...
❤️ Поддержка канала:
Патреон - / alekos1
Юмани - yoomoney.ru/to/410011179144828
Телеграм - t.me/Alek_OS
ВК - alekos1
00:00 Введение
00:38 Как появляется[1]
02:12 Формат исполняемых файлов
03:32 Реклама
05:20 Как появляется[2]
06:04 Секции программы
07:56 Dos_header
10:23 Dos_stub
12:06 Nt_header
12:37 File_header
14:10 Optional_header
19:36 Data_directory
21:16 Section_header
23:00 Секция импортов
25:03 Завершение
Помоги достичь цели и собрать 150 инсталлов ➤➤➤➤
Качай Raid: Shadow Legends бесплатно ✅ clik.cc/d22H3 и получи специальный стартовый пакет💥 доступный только следующие 30 дней!
Поставил лайк и написал комент. Не хочу качать игру ... ;)
Иногда можно и поиграть... Сам играть не буду, но почему бы и нет...
Автор делает для нас топ контент бесплатно. мы можем поддержать его через донат или активностью в рекламе, которую ему заказывают. Чтобы в следующем Автор был более привлекателен для более качественных рекламотадетелей.
Но мы то все знаем, какие ру подписчики неблагодарные токсики ;)
вопрос, там даже не нужно достичь определенного уровня для плюшек Каналу, ток установка?
@@ivanalaskevich4736 Ты хоть представляешь, как сложно и как долго такие ролики делать? Тут за тебя мало того, что всю информацию собрали, проанализировали, структурировали, так ещё и оформили в современном красивом стиле. И это всё бесплатно. Тебе остаётся только кликнуть на видео, и обучиться. И реклама нужно для того чтобы такой контент и дальше выходил. Некоторые продают платные курсы, полезность информации в которых в 1000 раз меньше.
А если ты против рекламы, так поддержи канал донатом. А то как бы не получилось, что ты и не донатишь и против рекламы, но зато претензий выше крыши. К тому же мы не знаем, какие там жизненные ситуации у автора, всякое бывает
Она запускается не через ехе?))))
когда впервые увидел твои видео -- подумал, что Зоракс снова с нами. Рад, что в области программирования снова появился достойный контент, доносимый привычным монотонным, загробным голосом
Да я тож подумываю мож он и есть Зоракс. А то у него чёт канал не наполняется.
Ты не первый, кто это заметил ;-)
Подскажите а где ещё можно посмотреть достойный контент про программирование?
@@denruslife9845 S0ER как вариант
@@denruslife9845 хауди хо
«каждому когда то было интересно , как работает Экзешник» - моя бабка ловящая инфаркт при слове браузер)
.
ㅤ
@@Davidonch1k NBSP?
Я искренне рад, что есть такие ютуберы, как ты, которые грамотно и доступно могут рассказать о чем-то сложном, с чем постоянно мы сталкиваемся
Когда я разбирался, как устроен исполняемый файл, что на Линуксе, что на Винде, в Ютубе я не мог найти вразумительной информации, да и в книгах по операционным системам такое трудно было найти, в конечном счёте, я нашел, разобрался, но очень много времени потратил
Твой видос более чем достойный, говорю, как программист программисту)
Иногда сидишь и думаешь, как только люди смогли всё это придумать и написать, это проста гениально.
это самый качественный контент, который я в принципе смотрел, надеюсь будет выходить еще что-то. я в принципе не пишу комментариев, но это серьезно шедаврально, я бы даже сказал богоподобно...
Когда еще был студентом техникума интересовался как устроен exe. Нашел книги с описанием, ничего не понял. И в один прекрасный день ко мне попал MASM32 и туториалы на русском, в то время тяжко было с и-нетом, только dial-up. Чего-то по кодил по примерам, научился малость машинным кодам. А потом еще один прекрасный день настал, мне подарили книги Юрова "Assebler для ВУЗов" (там еще дискеты 3,5" с примерами прилагались). Конкретно узнал про язык ассемблера я тогда. Но вот интерес как устроен exe уже пропал, нужно было разбираться с форматами данных которые используются у нас в работе. Спасибо Алексей, что разобрал все по кирпичикам.
Чел, твои видосы просто божественны! Не только младшим полезны, но и старперам в кодинге помогают вспомнить молодость и освежить знания!
Ахахаххахаха 512 лайков)))
А на самом деле спасибо большое за все эти видео - ТАКИМ простым и понятным языком объяснять не умеет НИКТО, кроме тебя. Спасибо большое) Очень жду продолжения ассемблера)))
Мистер Как Вас Там-с, в отличии от Мистеров Каких-то Там-с, Вы делаете сложную работу, просвещаете людей. Спасибо
Канал - находка. Отличная подача и монтаж. Тему подробней раскрыть можно только в учебнике на несколько глав, но материал, конечно, не из лёгких - видео смотреть только с тетрадью и ручкой, по-другому ничего не запомнить и не понять. Спасибо автору за то, что он есть на русском ютубе.
Без сомнения лучший канал на Ютубе. Сейчас читаю книгу Андрея Столярова и Ваши видео прекрасно объясняют все непонятное там.
что за книга?
@@misha11081998 Трёхтомник Программирование.Введение в профессию.
Огромный труд! Анимация и структура! БОЛЬШОЕ СПАСИБО за такие лекции!
Отличное видео, визуальная подача великолепна, материал в крайне доступной форме в отличие от статей на Хабре и т.п, которые мне встретились. Никак не мог понять, в чем разница двух таблиц в дескрипторе dll. Жаль этого видео не было, когда защищал лабы по инъекции dll в exe. Спасибо!
Дружище, твои ролики настолько мотивируют, что хочется лезть в дебри и разбираться во всём этом хозяйстве. Спасибо за отличный контент.
@You Tube Может быть) А ты? %)
Мне тебя посоветовал друг и я очень удивился качеству видосов и подаче. Я как раз сейчас нахожусь в процессе обучения программированию и такие видео очень помогают. Спасибо тебе за контент и не забрасывай его ты делаешь качественно, желаю тебе миллион подписчиков)))
Не бросай снимать, снимай чаще, ты очень лютый чел прям вообще топчик. А самое главное где ты всё это узнал? В нашем унике или в зарубежном или вообще по книгам? Какие книги мб можешь посоветовать?
В любом университете это всё изучают…
@@ifilipovichif действительно, почти всё, но примерно в 2 раза уже (имхо). Остальное студент может изучить самостоятельно, после отсидки пар и выполнения "ДЗ"
@@solomongame а ты где-то учился?
@@ifilipovichif большинство программистов самоучки
Ты мне мозг взорвал, в хорошем смысле слова, это то что искал, всё начиная с основ, успехов тебе, буду дальше смотреть ролики все подряд =D
Топ контент, спасибо большое, я хоть не программист, но посмотрел для общего развития!
экзешник можно открыть через 7-Zip. можно посмотреть эти файлы .data, .rdata, и даже иконки. а в некоторых случаях, если exe - дистрибутив, то можно прям из архиватора достать то, что нужно. может быть полезно, если не хочется забивать комп всякими новыми пунктами в меню пуск и прочим.
Да, кстати, сам недавно узнал об этом, случайно ради любопытства открыв exe файл 7зипом. И это мне даже пригодилось. Когда на работе надо было поставть драйвер на принтер, не хотелось чтобы на комп вместе с драйвером поставился еще и всякий мусор от производителя, и всякий рекламный софт. Вытащил чистый драйвер, и указав к нему путь установщику драйвера в диспетчере устройств, драйвер встал и все печатает, даже без "вспомогательного" софта от производителя принтера.
@@danil_jiucehok На самом деле, установщику можно было указать и сам экзешник. Он умеет их парсить, проще говоря, найдет и распакует драйвер самостоятельно.
@@user-vm1hi7bo5sпомоему в моем случае у меня это не срабатывало. Наверно не со всеми дистрибутивами драйверов работает.
@@user-vm1hi7bo5s чёт не понял, указать ексешник стандартному виндовому установщику драйвера? чёт я сомневаюсь, что он умеет парсить lzma sfx-архив например, максимум deflate архивы он сможет так прочесть
Исполнительный ехешник не откроешь архиватором, только самораспоковывающийся архив открывается. Хотя для них спец проги куда получше. Для открытия исполняемого ехешника нужен дизасемблер, тогда получишь код. А если нужны ресурсы, то есть граберы для ресурсов РЕ редакторы.
Когда скачал у своего друга ярлык игры, и не понимаешь, почему она не хочет работать 🤷🏻♂️
даблклик это не просто, тренируйся
А размер, при этом, не удивил? :)
@@MaxB4 не я же скачивал, это образно сказано) Я кстати игры разрабатываю, только начал, снял видео на канал))
Перезагружать пробовали?
Это точно... Мне один чудик на дискете 1.44 Мб принес кучу игр. Точнее, кучу ярлыков. И обвинил меня, что я плохо разбираюсь в компьютерах, у меня плохой компьютер, потому что игры не запускаются. А вот на том компьютере, откуда он их скачал, с дискеты всё работает...
все четко представлено и объяснено. просто приятно слушать и смотреть. Автору огромное спасибо!
Один из лучших каналов по computer science для новичков. и старичков. Однозначно лайк
Очень ждём продолжение уроков по ассемблерам, не торопим, понятно, что это очень трудоёмкая работа, но, надеюсь ты продолжишь развивать эту тему!
почему твои видео такие крутые? Откуда такое вдохновение и понимание как необходимо создавать такие крутые ролики. Видео бьет прямо в суть.
Зачем ты лайкнул? я тебе вопрос задал. Ответь, научи также делать ролики. Подскажи курсы!
@@vladelecpavladurova Какие курсы?)
Просто делаю так, как вижу.
Пишешь текст, рисуешь графику в фотошопе, монтируешь все это в premiere pro и получаешь ролик.
Если не умеешь пользоваться этими программами, то в ютубе сотни бесплатных уроков.
@@AlekOS спасибо! Красавчик
Поначалу думал будет просто, а потом пошло, поехало.
Прекрасное видео! Перелазил кучу сайтов, все написано сложным образом и сумбурно. А здесь все четко и понятно! Не первое видео, которое спасает)))
Огромнейшее Спасибо за видео! Очень подробно и интересно.
Нужно продвигать такой контент. Слишком мало людей интересуются айти. На hh всего 1500 откликов на вакансию фронтенд разработчика
Не вижу логики. Про фронтенд за последние полгода на канале ни слова, к чему этот пример
это такая шутка?)
@@user-gh3bs7xk1h да это рофлы. На вакансию фронтендера в среднем 6к откликов, а не 1.5к)
Понаберут по объявлению, а потом обычный мессенджер "весит" как полноценная ОСь:D
это жестокий рофл(
Отличное видео!)
Как-то игрался с кастомным мапингом своих библиотек в другие процессы(инъекция) и было нелегко найти информацию по заголовкам, как там и что.
Теперь есть хороший ресурс.
В смысле не легко? Все структуры доступны в сети, даже из ядра винды...
@@user-bw6dt5im3x может он этим занимался 15 лет назад и писал сами семплы на асм. А даже если нет, вряд-ли человек сможет быстро в этом разобраться, прочитав только доку майкрософта
@@lollopin3362 я говорю не про доки мелкософта, а про сторонние рессурсы которым уже как раз лет по 15) привет васму
@@user-bw6dt5im3x даже раньше, ты прав
@@user-bw6dt5im3x более того, лет 15 назад это было даже проще изучать, потому что было меньше информационного шума и новых абстрагирующих фреймворков.
Очень полезную инфу предоставляешь! Спасибо большое!
Я нигде и никогда не видел такой подачи как у тебя. Информация максимально сконцентрирована, объясняется простым, но при это профессиональным языком, +выразительность и интонация с которой ты рассказываешь и о боже этот визуал👍🏿👏👏👏🤝
Ты че
Классные видео у тебя! Спасибо за такой контент.
Можешь поделиться, какими инструментами ты пользуешься для создания анимаций в видео?
Очень крутой видос. Можно точно такой же видео, только про исполняемые файлы в Linux? Было бы очень круто)
Сложно, но интересно. Благодарю за такой годный контент!
я искал долго такой видос, спасибо
Топовый контент! Такого негде нету.
Удивлён что у него так мало подписчиков.
2 процента людей - думает, 3 процента - думает, что они думают, а 95 процентов людей лучше умрут, чем будут думать. - Бернард Шоу
Аудитория ещё не созрела... Я, например, не понимаю ни хрена, но, тем не менее, дослушал из уважения к профессионализму. Всегда было интересно заглянуть вовнутрь .exe - файла, но теперь я, наконец-то, понял, почему мне этого не понять :)
@@serjoberst6322 конкретно в этом видосе ничего сложного нет. Тебе не нужно это запоминать, достаточно просто понять как оно работает. Так же есть множество статей про исполняемые файлы на хабре(гугли habr pe), может там понятнее будет
@@serjoberst6322 тогда зачем ты его смотришь?
@@serjoberst6322 но ты же смотрел ещё месяц назад видос про кэш, или там тебе подача понравилась?
Очень рад, что наткнулся на этот канал! Большое спасибо автору
Урррра! Новый видос! Спасибо огромное! Наливаю чай, беру печенюхи, врубаю)
Простыми словами о сложном, классный контент)
Я решил начать вникать в дебри низкоуровневого программирования, ОС, аппаратного взаимодействия и пр. и первое время мне было очень сложно (я был словно слепым-глухим котенком в лабиринте). Но теперь я нашел твой канал и прозрел - спасибо тебе огромное от лица всех истинных программистов (не хелллоуволдеров и млг школьников-питонистов, а таких профессионалов, как ты). Поставлю иконку твоего канала в рамочку и каждый день буду молиться на Бога программирования.
Это называется "системное программирование", вещь интересная, но платят за нее немного, если сравнивать с тем, что платят млг-питонистам :)
Очень доходчиво и подробно! Супер! Ждём разбора установочных файлов для Linux и MacOS
Хотеть!
Deb
Надеюсь, что автор прочитает этот комментарий.
Судя по отзывам к твоим видеороликам, для многих людей существует барьер, в виде графического интерфейса.
Мне кажется, что многие мысленно усложняют картину, о которой ты рассказываешь, и виной всему современные удобные интерфейсы. Кажется, что это огромный слой между кодом и чем-то обыденным.
В общем, было бы очень круто, если бы ты сделал видео про устройство пользовательских интерфейсов, с историей и эволюцией. Про GUI, CLI, про то как работают пайпы, как интерпретатор командной строки умеет перенаправлять потоки ввода/вывода, и что это вообще такое. И так же развёрнуто про работу окон.
Понимаю, что это будет тяжёлый ролик, но мне кажется, что он должен быть где-то в начале пути, чтобы снять эту маску непонимания современными пользователями, которые не видели DOS, и всю жизнь лишь нажимали на кнопки.
В конце концов, с этого начинаются все уроки по api операционных систем (работа с консолью или графическими элементами), потому что все примеры демонстрируются через вывод на экран.
Для начала люди должны открыть себе глаза, что абсолютно любой файл это тупо сборище байтиков, которые можно посмотреть текстовым редактором
@@Dmytro-Tsymbaliuk Примерно к этому я и склоняюсь. Чем больше внедрялся графический интерфейс, тем меньше люди стали понимать компьютеры. Всё пришло к тому, что для людей банальные вещи стали сложными, хотя раньше всё было всем понятно: написал код, вычислил что-то или запросил у ОС, напечатал результат на экран. Разве что-то изменилось? Почему люди начали себе внушать, что это так сложно? Я не вижу иных причин, кроме как появление графики, которая действительно сложна для восприятия (изучения).
@@--..--..---.--.-. есть эволюция а есть наоборот. Это слово не писал за него забанят. В общем раньше люди играли в футбол а сейчас всю ночь играют в доту и смотрят папича и ему подобных. И еще многие b2 англ осилить почему-о не могут или не хотят. Хотя это в 10 раз увеличит их зарплату и в разы упростить поиск работы. Ну и уберет привязанность к "родине"
Хай, когда будет продолжение по assembler? Твоя подача материала и монтаж топ - некст лвл рунета. Спасибо!
Да ты реальный "Тру", как в стрые добрые, когда программист дружил с паяльником, электроникой и ассемблером.
Очень понравилось, подача отличная. Можешь сделать про то, как работают файлы elf?
Было интересно посмотреть. Помню будучи ребенком открывал досовские файлы и пытался понять как пишут программы этими закорючками))))
Автор молодец, отличная подача. Лайк.
Блин, какие классные ролики на этом канале! Спасибо, Alek OS!!!
Поздравляю с первой рекламой. Такой контент должен оплачиваться
Не, для простого человека это все-таки сложновато! А есть ещё BAT-файлы! Это как стартовый ключ в замке зажигания! Они запускают любые исполняемые файлы! И их может написать любой человек, т.к это обычный текстовой файл! В любом текстовом редакторе! В BAT-файле можно написать название исполняемого файла и он запустится. А если знаешь немного больше, то можно написать и более сложную команду!
Спасибо за такой разбор! Да, четко понимая что к чему, в HEX редакторе таких дел можно наворотить
Материал отличный и подача просто потрясающая, всё очень доступно
Продолжай в том же духе!
25 минут жеванины вместо описания формата заголовка??? Эникейщики совсем отупели.
@@mrmichalis дед, пей таблетки, а то получишь по жопе
@@KillerRiffsAndMore Ага. Щас пойду блохеров смотреть чтобы таблетки получше выбрать.
Однозначно подписка! автору огромный респект за проделанную работу
Как классно, что такие видео есть)
Я не программист, но видос очень интересный и я его досмотрел до конца) спасибо за такой контент
приятно осознавать, что мы в том обществе - где программист знает как работает программа и математику)
Как хорошо что есть люди которым интересно это создавать и в этом разбираться.
Прекрасный материал, спасибо!
Спасибо за видео,очень много полезной информации.
Спасибо за видео. Так хочется выучить программирования самому, но тут мозг клиент и не можеш понять что к чему и как, а от поисков в инети только хуже стало. Зато с каждым таким видео и автодром данных каналов становится легче. Спасибо
Дядька, ты крут. Спасибо!
В Вашем исполнении я даже рекламу RAID с удовольствием посмотрел))
Только поправочка, поле e_magic это не 5a4d, а 4d5a я это точно знаю, так как с hex-редакторами колдовал над exe-шниками и видел первые 2 байта
Автор! Огонь! Давай исчо! )
Серьезно, очень круто!
Ура, реклама! Значит выпуск твоих видео продолжается!)
Благодарю за проделанную роботу!
Опа, появилась интеграция
Мои поздравления
Ты явно заслуживаешь получать за контента вознаграждение
Отлично! Ждем видос о распаковке Армадилло!!!
Сударь спасибо вам за ваш видео контент❤❤❤
Спасибо что делитесь, отличная информация
Четко! Отличный контент
Ничего не понятно, но очень интересно в моё случае. Но инфу ты доносишь внятно и пробуждает интерес. Уверен тебе надо делится своими знаниями в формате преподавателя или наставничевства. Короче Институт твоё будущее. А, если нет, то спасибо большое за подачу информации и любви к делу.
Спасибо за видео. Было интересно и полезно
Позддравляю с первой рекламой и желаю дальнейшего процветания!
Это прекрасно! Спасибо.
спасибо большое за контент! настолько все предельно ясно объясняете. просто супер!
Спасибо за видео.Коммент в поддержку!
Спасибо за труд! )
Хороший контент, я потом досмотрю, я не бросил на 8ой минуте :D
Очень крутое видео, капец так много узнал!
Отличный материал. Даже и добавить нечего. Коммент чисто для поддержки видео
Круто. Какие дальнейшие планы на канал? На какую тематику будут дальшейшие видео? Если можно, то ответь расширенно
Давай теперь про unix формат исполняемых файлов ELF. Ролик просто супер.
Какая-то дискриминация по признаку операционной системы. Даешь сравнение с dmg и линуксовыми форматами.
P.S. Автор красава, топ контент, а учитывая что он бесплатный - вообще ппц
Не путайте формат исполняемых файлов с форматом пакетов. У мака это Mach-O, у линукса ELF
@@AlekseySamoilov век живи - век учись. Спасибо
@You Tube смешно
@@unheilbar Было бы смешно, если бы не было правдой, десктоп на линуксе это боль
@@roxxel8167 если не говорить обычному юзверю, что линукс сложный и страшный, то ему без разницы в чем не разбираться
В детстве часто блокнотом открывал всевозможные файлы и смотрел что там, а у исполняемых файлов всегда замечал вначале две буквы - MZ и надпись о невозможности запуска из под доса вскоре после них)))
18:25 - просто интересный факт.
Если взять любое GUI-приложение, и "подправить" это поле, установив флажок консольной подсистемы, то загрузчик образов автоматически заспавнит окно консоли, сразу при запуске приложения. Поведение приложения от этого никак не изменится. :)
а если наоборт?
@@alex1505prog если наоборот, то Вы не сможете видеть консольный вывод и совершать ввод (если приложение требует того).
Вывод можно увидеть, если перенаправить поток в файл.
Либо обратно на консоль, используя какой-нибудь инструмент. Например:
test.exe | more
Или использовать PowerShell, где есть Tee-Object.
@@LOL-nq3ky вывод stdin и stdout и любой другой stderr можно легко перенапрявлять в cmd/bash. Так же это делается легко в С#, там есть классы, отвечающие за эти стимы, можно запустить процесс или подключиться к существующему и перенаправить его куда угодно. Например к себе в приложение.
@@serhiis_ ну, это очевидно. Можно и свою консоль заспавнить, в обход той, которую создаёт система из-за флажка. И даже ввод таким образом, конечно же, будет работать.
Но суть-то в том, что берётся обычное консольное приложение, в котором заменяется флаг подсистемы.
В таком случае, можно вмешаться в процесс снаружи, что позволяет WinApi.
Чтобы не заморачиваться, проще воспользоваться штатными возможностями консольных шеллов (cmd, PowerShell).
Грубо говоря, использовать их для вызова WinApi. Выше я уже привёл пример для cmd, аналогично будет работать и в PowerShell.
Короче, я об этом и написал выше. Тот же интерпретатор cmd уже содержит в себе удобный механизм, который вызывает нужные Api, так что, велосипед придумывать не приходится.
И инструменты для приёма и печати перенаправленных потоков уже существуют (more, findstr, tee ...).
@@LOL-nq3ky ну галочка полезна для начинающих разработчиков. Ее можно поставить в компиляторе и писать туда логи. А перед релизом снять галочку а логи оставить. Так много где делают в некоммерческих и даже коммерческих простых приложениях. Вручную создавать же консольное окно не так и просто и много кода может занять, а тут просто галочка и исполняемый файл от этого не вырастет ни как
00:57 - в современном мире код программы можно исполнять на лету и он не совсем безжизненный. Спасибо за познавательный контент!
Видео то про скомпонованный файл -_-
Сумасшедшая визуализация. Оч круто
Просто огромное спасибо тебе мне это очень было нужно просто огроменное спасибо !!!!!! ☺️☺️☺️☺️
Чувак супер! Ждал видоса как сериальчика! Редко от кого жду конт вот так вот! Супер! Большое спасибо! Я ещё не смотрел, но уверен будет топчик!
Про релокейшины это либо перевод не правильный, либо "что-то пошло не так". Это сегмент адресов в коде которыми требуется ссылка прямая ссылка на участок в памяти. При загрузке в память, на адреса релокейшенов "накатывается" смещение с которым они загрузились в память. Этот механизм практически неизменным притащили в PE из MZ.
Ну было такое, запускал я приложение. Очень интересный у вас контент
Потрясающая детализация. Спасибо. Вселенная EXE начала открывать свои тайны.
Отлично! Мне зашло!
Нормальный ты чел, и видео годные делаешь!
делаешь очень красивые ролики. Респект
Очень доходчиво, наглядно!
Без занудства и коротких мало что объясняющих моментов
Коммент в поддержку качественного контента
Браво! прекрасное объяснение!