Pull to refresh
0
@MacInread⁠-⁠only

User

Send message

Реверс инжиниринг для самых маленьких на практике

Reading time11 min
Views33K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments19

ChatGPT провалил тест на ручник

Level of difficultyEasy
Reading time3 min
Views101K

Сегодня мы повсеместно читаем оды т.н. «искусственному интеллекту» под которым почти неизменно и безальтернативно предлагается понимать ChatGPT. Сам ChatGPT называет себя «искусственным интеллектом» (если спросить его об этом).

Читать далее
Total votes 341: ↑301 and ↓40+261
Comments780

Сколько получают российские разработчики: наше исследование

Level of difficultyMedium
Reading time8 min
Views84K


У нас тут накопилось очень много цифр о состоянии российского IT, и мы решили их как-то оформить. Получилось 27 таблиц, но надеюсь, каждый сможет найти ту, которая ему релевантна.


Будет полезно тем, кто хочет быть в курсе рынка. Или иметь лишний повод обратиться к своему работодателю за повышением. Мы знаем, что подобные исследования проводит сам Хабр, но вряд ли дополнительная информация из других источников кому-то помешает.


Эта статья — с цифрами для разработчиков. Как до, так и после 21 сентября. Исследование по HR, менеджерам и дизайнерам выйдет позже, если этот пост вам понравится.

Читать дальше →
Total votes 144: ↑140 and ↓4+136
Comments253

Почему мужикам нужно качать орех?

Reading time3 min
Views57K

Если ты неприлично много сидишь, а после рабочего дня мечтаешь о том, чтобы отсоединить от себя свою поясницу и оставить ее на полке, пока не перестанет ныть, тогда тебе сюда.

Читать далее
Total votes 155: ↑104 and ↓51+53
Comments257

Советская школа: адресный язык программирования

Reading time7 min
Views26K
Адресный язык программирования считается одним из первых языков программирования высокого уровня. Он был создан советским разработчиком Екатериной Логвиновной Ющенко совместно с математиком Владимиром Семеновичем Королюком в 1955 г. Конструкции этого алгоритмического языка вошли в основу современных языков программирования.

Своеобразной базой для адресного языка стали разработки члена корреспондента АН СССР Алексея Андреевича Ляпунова. Этим выдающимся математиком был создан операторный метод программирования, получивший широкое распространение на практике и оказавший сильное влияние на все последующее развитие теоретического программирования.


Екатерина Логвиновна Ющенко и Владимир Семенович Королюк

Читать дальше →
Total votes 31: ↑23 and ↓8+15
Comments4

Импортозамещение, которое мы потеряли (ч.2): АСУ ТП по телеграфному кабелю, нейронные сети и РСУБД в 60-х

Reading time8 min
Views9.3K

Пилотная статья понравилась комьюнити, а значит продолжаем рассказывать о ранних советских разработках, предвосхитивших современные достижения отрасли, а порой, опередивших своё время. Наш рассказ будет не полным без упоминания проектов АН УССР, наиболее важная часть которых была реализована в процессе разработки и использования ЭВМ “Киев”. Под катом речь пойдет о проектах управления технологическими процессами на расстоянии 500 км, разработке и применении прообраза современных реляционных систем управления базами данных, а также первых советских опытах по машинному обучению и созданию искусственного интеллекта в 1950-х - 1960-х.

Читать далее
Total votes 48: ↑45 and ↓3+42
Comments64

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views373K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 357: ↑350 and ↓7+343
Comments283

Самый простой способ редактировать PDF

Reading time3 min
Views96K


История сложилась так, что в 80-е годы именно PostScript стал стандартом для цифровых документов, а из него появился «портативный» PDF. Вероятно, нам ещё долго придётся жить с этим наследием типографской индустрии 20 века.

Быстро поставить подпись/печать на полученный PDF и отправить его адресату — самый типичный сценарий в современном документообороте. Практика показывает, что некоторые офисные сотрудники предпочитают распечатать PDF, расписаться от руки — и отсканировать распечатку с подписью, сводя к нулю логику электронного документооборота. Если бумажная копия нужно только для сканирования, то это совершенно бесполезная трата бумаги и времени.

Посмотрим, какие есть варианты для быстрого редактирования PDF с сохранением правок в цифровом виде.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments157

Что не так с ChatGPT?

Level of difficultyEasy
Reading time6 min
Views49K

ChatGPT (и примкнувший к нему New Bing) сейчас у всех на слуху. Пользовательская база первого перевалила за 100 млн за пару месяцев. В сети о нём циркулирует широчайший спектр мнений: от полного восторга надвигающейся технологической сингулярности, до панических предсказаний скорого порабощения человечества роботами. А многие занимают и жестко скептическую позицию. Вновь активизировались неолуддиты, их мишенью стали Copilot (побратим ChatGPT), и семейства AI тулзов для генерации графики (Stable Diffusion, Midjourney).

Я получил доступ к ChatGPT в первую неделю его запуска ("повезло" с наличием иностранного мобильного номера), и с тех пор пользуюсь им, если и не каждый день, то уж 4-5 раз в неделю точно. В данной статье хочу высказать свои личные наблюдения, подкрепленные мнениями из сети.

Про достоинства ChatGPT сказано уже очень многое, поэтому предлагаю более пристально посмотреть на обратную сторону монеты.

Посмотреть пристально
Total votes 82: ↑73 and ↓9+64
Comments191

Старый лазерный «друг» лучше новых двух или сокращение срока службы новых картриджей и принтеров

Level of difficultyEasy
Reading time4 min
Views23K
В этой статье поделюсь своими мыслями, почему «вечные» принтеры не делают. А так же опытом использования двух моделей принтеров, которые верой и правдой служат мне долгие годы.


Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments209

Старая математика ломает постквантовые шифры

Reading time4 min
Views18K
Старая математика ломает постквантовые шифры



Мир криптографии постепенно готовится к приходу квантовых вычислений, где вместо двоичной логики используются кубиты. Предполагается, что именно криптография станет одним из первых применений квантовых компьютеров.

Проблема в том, что современные алгоритмы вроде RSA и Диффи-Хеллмана (в том числе на эллиптических кривых) не способны противостоять квантовым атакам. Поэтому в июле 2022 года Национальный институт стандартов и технологий США (NIST) опубликовал набор алгоритмов шифрования, потенциально способных противостоять взлому на квантовых компьютерах — так называемые «постквантовые шифры».

Один из «постквантовых» шифров сразу взломали. Но самое интересное — метод, который применили исследователи.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments50

Что скрывают программы от отладчика?

Reading time2 min
Views5.2K

Здорово, когда программы разрешают себя отлаживать: какие бы тайны ни скрывали, выдадут. Честным программам скрывать нечего, но встречаются и вредные: такие программы мешают себя изучать, а то и вовсе отказываются работать.

Отладчик поможет изучить зашифрованный код. Программа расшифровывает код перед выполнением: проще остановить программу отладчиком и исследовать, чем расшифровывать код самостоятельно. Программа сопротивляется отладке, когда хочет этому помешать.

Посмотрим, как справиться с противодействием отладке на примере 1337ReverseEngineer's The Junkrat https://crackmes.one/crackme/62dc0ecd33c5d44a934e9922 .

Посмотрим, что там
Total votes 20: ↑19 and ↓1+18
Comments5

Boson — разработка СУБД «с нуля» (часть II)

Reading time6 min
Views4.6K

В первой части статьи мы обсуждали разработку самого нижнего слоя СУБД Boson - CachedFileIO. Как упоминалось, статистика такого явления как Locality of Reference говорит о том, что в реальных приложениях ~95% запросов к данным локализованы в 10-15% базы данных. При этом среднее соотношение чтения/записи - 70%/30%. Это делает эффективным использование кэша (cache) работающего на основе алгоритма Least Recently Used (LRU). Реализовав его, мы получили 260%-600% прироста скорости чтения при 87%-97% cache hits.

Следующим после кэша слоем СУБД Boson является хранилище записей RecordFileIO. Это уже первый прообраз базы данных, который начинает приносить прикладную пользу. Сформулируем верхнеуровневую спецификацию требований:

Читать далее
Total votes 29: ↑28 and ↓1+27
Comments30

Boson — разработка СУБД «с нуля» (часть I)

Reading time9 min
Views18K

После разработки виртуальной машины и компилятора в рамках хобби прошел год и захотелось попробовать реализовать ёмкий по алгоритмам проект по системному программированию.

Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искренне интересовало как они устроены в самом сердце, на самом низком уровне. Почитав документацию и исходный код SQLite и MongoDB, про используемые в индексах и интерпретаторах запросов алгоритмы, осознал, что несмотря на широкую распространенность и некую привычность, системы управления базами данных (СУБД) - это сложные программные продукты, реализация которых не всем под силу. Отлично - как раз то, что мне надо. С мотивацией разобрались, перейдем к делу.

Итак, для начала хорошо бы сформулировать высокоуровневую спецификацию требований. Boson - это легкая, встраиваемая документоориентированная база данных на С/С++

Читать далее
Total votes 88: ↑85 and ↓3+82
Comments60

Как отрефакторить 2.5 млн строк кода

Reading time18 min
Views5.6K

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

Читать далее
Total votes 25: ↑24 and ↓1+23
Comments21

Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus

Level of difficultyEasy
Reading time3 min
Views8.2K

Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments23

Как я написал свой язык и онлайн IDE

Reading time7 min
Views11K

Здесь онлайн интерпретатор, здесь документация.

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

Чуть позже я выяснил, что такие программы называют процедурными генераторами. Я увлекся этим, сделал ещё парочку (1, 2).

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

Читать далее
Total votes 57: ↑56 and ↓1+55
Comments16

О том, как я прошёл курсы по программированию и остался «выжившим» в IT. Советы тем, кто хочет начать учиться в 2023

Reading time5 min
Views99K

Всем привет! Прочитав недавно пост "Невыжившие в IT", который попался в моей ленте, решил поделиться своим опытом прохождения курсов, вхождением в сферу и советами для тех, кто думает "Войти в АйТи в 2023 году", устраивайтесь поудобнее, приятного чтения!

Читать далее
Total votes 50: ↑39 and ↓11+28
Comments142

Обновляем платформу 1С на сервере под управлением Linux

Reading time6 min
Views37K

Данная статья является, по сути, моей методичкой о том как перевести сервер 1С и прилегающие сервисы, работающие под Linux на новую версию платформы.

Действуя по этой методичке вы сможете пройти короткий путь по переводу своей инфраструктуры на новую версию платформы в конце 2022 года.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments19

Военное вычислительное мышление. Тактический искусcтвенный интеллект. Часть I

Reading time5 min
Views14K

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

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments11

Information

Rating
Does not participate
Registered
Activity