Программирование

Ответить в тред Ответить в тред
Check this out!
ASM & Reverse engineering №14 /asm/ Аноним # OP 24/06/21 Чтв 17:14:13 20791951
1624544039066.png 281Кб, 400x600
400x600
В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).

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

Попрошайки с "решите лабу по асме за меня" идут в общий тред, а лучше нахуй.

Книги по RE:
Денис Юричев: "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
Прямая ссылка - https://yurichev.org/b564f46f1c207b2dbc84a2bd4a41ed4c/
Рикардо Нарваха: Введение в реверсинг с нуля, используя IDA PRO https://yutewiyof.gitbook.io/intro-rev-ida-pro/
Введение в крэкинг с помощью OllyDbg https://backoftut.gitbook.io/intro-cracking-with-ollydbg/

https://mega.nz/#!Bc9VVAYC!Vk6CFlW6VIoskLNgDKXbsL6FacDQeOKe6LX92wNicKY Нарваха практический курс по дебагингу
https://www.goodreads.com/shelf/show/reverse-engineering - список книг

Сайты по RE:
http://wiki.yobi.be/wiki/Reverse-Engineering
https://www.reddit.com/r/ReverseEngineering/comments/hg0fx/a_modest_proposal_absolutely_no_babies_involved/
http://www.program-transformation.org/Transform/ReengineeringWiki
http://blog.livedoor.jp/blackwingcat/
https://yurichev.com/blog/
http://wiki.xentax.com/index.php/DGTEFF
https://exelab.ru/

Инструменты для RE:
Дизассемблеры:
1) IDA Pro Torrent Edition 7.2 | 7.0 | 6.8 на выбор. Иногда ограничения версий x86/x64, патчинг, вылеты прилагаются
2) IDA Freeware 7.0 - бесплатная для некоммерческого использования Важные функции/процы/форматы не завезли, саппорт все обращения ксорит побайтово.
3) IDA Home - тем, кто реверсит для хобби 365$ в год, ага. Умеет на выбор PC|ARM|MIPS, обычные и х64. Завезли IDAPython, но забыли Decompiler.
4) Ghidra - главный конкурент IDA Pro, разработка NSA под свободной лицензией. Тормозной Java UI, гипотетические звездно-полосатые анальные зонды в комплекте.
5) Radare 2 | Cutter - консольный + гуй на Qt дизассемблер. Умеет в Ghidra decompiler. Предположительно нужен только клиническим, не умеющим в скачивания торрентов, пользователям альтернативных ОС.
6) Hiew - Hex-редактор и легкий x86|64|arm дизассемблер за копейки. AV-ресечеры текут, вирьмейкеры боятся, поклонники st. Криса грят малаца.
7) Остальное

Отладчики:
1) x64dbg - х86/64 юзерспейс виндовый отладчик с открытым кодом не Olly же в 2020, верно?;
2) WinDbg - родной виндовый дебаггер от MS 32/64 битные приложения, драйвера, анализа аварийных дампов - это все к нему;

Все книги и статьи Криса Касперски (R.I.P.)
https://yadi.sk/d/CxzdM1wyea4WP
https://rutracker.org/forum/viewtopic.php?t=5375505
https://rutracker.org/forum/viewtopic.php?t=272818

Книги по ассемблеру:
"Архитектура компьютера" Э. Таненбаум - https://www.libgen.is
Юров В.И: Assembler http://booksdescr.org/item/index.php?md5=73957AEFEADCB7F0C112DCAED165FEB6
С.В. Зубков: Assembler. Язык неограниченных возможностей.
Randall Hyde: The Art of Assembly Language http://booksdescr.org/item/index.php?md5=9C0F88DC623FCE96A4F5B901ADCE95D3

Сайты по ассемблеру:
Замена почившему wasm.ru- https://wasm.in/ , архив старого сайта https://rutracker.org/forum/viewtopic.php?t=407571 или восстановленный https://vxlab.info/wasm/index.php.htm
https://www.unknowncheats.me/wiki/Assembly
http://asmworld.ru/
https://software.intel.com/en-us/articles/intel-sdm
http://www.nasm.us/doc/
https://sourceware.org/binutils/docs/as/index.html#Top
https://msdn.microsoft.com/en-us/library/afzk3475.aspx
https://conspectuses.blogspot.com/2019/03/fasmg.html

Дизассемблер онлайн:
https://onlinedisassembler.com/

Сборник компиляторов онлайн:
https://godbolt.org/

Для ковыряющих винду и софт под неё, сайты с описанием структур со смещениями и разными версиями оных:
http://msdn.mirt.net/
http://terminus.rewolf.pl/terminus/
http://geoffchappell.com/
«Внутреннее устройство Windows» интересующего издания.

Документация Intel:
https://software.intel.com/en-us/articles/intel-sdm
Документация AMD:
https://developer.amd.com/resources/developer-guides-manuals/
Документация Arm:
https://developer.arm.com/documentation/

Разное:
Michael Abrash's Graphics Programming Black Book Special Edition http://www.phatcode.net/res/224/files/html/index.html
http://www.phatcode.net/res/224/files/html/index.html
https://www.agner.org/optimize/
http://booksdescr.org/item/index.php?md5=5D0F6DBC1410E10BC489167AFE8192DF
https://www.cs.cmu.edu/~ralf/files.html
https://www.sandpile.org/
http://ref.x86asm.net/index.html
https://pnx.tf/files/x86_opcode_structure_and_instruction_overview.png
http://www.jegerlehner.ch/intel/

Предыдущие:
№9 https://2ch.hk/pr/arch/2019-11-11/res/1439555.html
№10 https://2ch.hk/pr/arch/2020-03-11/res/1499956.html
№11 https://arhivach.net/thread/560997/
№12 https://2ch.hk/pr/res/1748635.html https://arhivach.net/thread/594187/
№13 https://2ch.pm/pr/res/1837856.html
Аноним 24/06/21 Чтв 17:45:49 20792342
Ну хоть нормальный перекат запилили в этот раз, уже прогресс
24/06/21 Чтв 19:54:53 20793473
>>2079234
Да вы охуели. Предыдущий недотред никому не нужен, а вы еще и второй сделали!
Аноним 25/06/21 Птн 04:12:24 20795864
>>2079347
> недотред никому не нужен
Именно. Из-за отсутствия нормального треда засирается весь /pr/. Сейчас на борде, так-то, две #asm нити, помимо этой, и тьма вопросов в нюфаг-треде
Аноним 26/06/21 Суб 10:22:01 20807645
Msdos-icon.png 1Кб, 600x600
600x600
Рейтаните идею накатить ДОС на виртуалку и учится асму по старым книгам. Взлетит?
Аноним 26/06/21 Суб 10:41:52 20807686
>>2080764
По моему дилетантскому мнению, я не программист и вообще не касался ассемблера для ПК, идея крайне сомнительная. Если хочешь что попроще, то можешь изучать на примере AVR или чего-нибудь аналогичного. Оно хотя бы относительное современное и при этом совсем простое.
Аноним 26/06/21 Суб 11:51:24 20808037
Аноним 26/06/21 Суб 13:06:12 20808298
>>2080803
А смысл? Идея в том чтобы учиться по старым 16-битным книгам, а это все уже новое.
Аноним 26/06/21 Суб 13:07:22 20808309
>>2080768
>изучать на примере AVR
А где его взять? Это же для микроконтроллеров, на виртуалке не взлетит
Аноним 26/06/21 Суб 13:18:05 208083610
Аноны, вкатился немного в nasm, хочеца идти дальше в сторону reverse engineering. Что почитать/посмотреть о c++ reverse engineering? То есть о сопоставлении c++-шного сахара с конструкциями на asm.
Аноним 26/06/21 Суб 13:37:45 208084311
>>2080836
Ну дебажишь свой код и сопоставляешь. В чем проблема?
Читать тут все то же самое имхо.
Аноним 26/06/21 Суб 13:40:03 208084412
>>2080830
Самое тупое это взять https://ru.wikipedia.org/wiki/Proteus_(система_автоматизированного_проектирования) Будет предельно наглядно, но может быть не очень удобно. Или в Atmel Studio симулятор уже встроен. Можно и любой другой симулятор использовать совместно с gdb. Для других микроконтроллеров аналогично.
Аноним 26/06/21 Суб 14:35:36 208087713
>>2080829
Зачем учиться мёртвому? Это современные системы с хорошими условиями для программирования на асме.
Аноним 26/06/21 Суб 14:39:10 208087914
>>2080843
Ну мало ли есть каноничный материал
Аноним 26/06/21 Суб 15:35:32 208090115
15784211653770.mp4 307Кб, 1272x776, 00:00:14
1272x776
Вкатился
Аноним 26/06/21 Суб 17:52:59 208098716
>>2080877
>Зачем учиться мёртвому
Под мертвое есть куча годного контента: книги, туториалы, справочники, исходники и т.д. Причем некоторые из них признанная классика, типа старой книги Хайда.
Под фридос же вряд ли что-то лучше найдется чем унылые доки.
Аноним 26/06/21 Суб 19:53:54 208109617
Книга за paywall. Денис, сцука, дай книгу!
Аноним 26/06/21 Суб 20:05:37 208111718
>>2080764
В досе будешь работать в 16битном режиме
Аноним 26/06/21 Суб 20:21:59 208114419
>>2080844
Спасибо, попробую вкатиться. Правда пока не очень понятно какие именно программы на этом нужно писать.
Аноним 26/06/21 Суб 20:24:24 208114620
>>2081096
1 доллар, епта. Не разоришься.
Аноним 27/06/21 Вск 18:18:24 208212221
>>2080901
Вкатывай сразу исходники, чего уж там
Аноним 28/06/21 Пнд 10:22:19 208255722
Аноним 28/06/21 Пнд 10:32:27 208256423
Может глупый вопрос: хочу асмом веб освоить. Что почитать? Ну там редактирование пакетов TCP и далее. Какие фунцкии надо использовать, с примерами.
Аноним 28/06/21 Пнд 12:24:18 208262824
>>2082564
Читай то, что читают когда хотят освоить веб без асма. Тебе придется использовать апи для доступа к сети, и неважно на каком языке ты к нему будешь обращаться
Аноним 28/06/21 Пнд 13:39:51 208266625
ExtremeWays.mp4 10592Кб, 640x360, 00:04:03
640x360
>>2082628
Это какое-то табу? Вся мяготка асма в сети. Просто везде стандартные - как работает память и push ax. А тут обсуждения как написать свою ОС на асме. Серьёзно? Теперь надо бояться того что ты умный или как?
Аноним 28/06/21 Пнд 13:59:15 208269126
Просто представьте, вот мой код>>2080901 и исходник. Я в асме дно(не смогу написать ОС). У меня задача - сделать печаталку клавиатуры. И как по логике должно работать, оно не работает. Но мне стоило поменять, чтобы функция чтения клавиатуры вызывалась до того как инициализируется окно программы, и вот результат.
Высокоуровневые не смогут так сделать, проверил.
А вы тут обсуждаете всякие ос, хуету. Никто вам не заплатит за это, заплатят только за то когда ты поменяешь байтик на нужный.

Аноним 28/06/21 Пнд 17:26:43 208290327
>>2082666
Что этот поток сознания значит?
Аноним 28/06/21 Пнд 17:28:40 208290828
>>2082691
Если оно работает не так как должно по логике значит это ошибка в твоей логике а не в компьютере
Аноним 28/06/21 Пнд 18:25:35 208297029
>>2082903
Ты правда не понимаешь? Поясняю. Асм это инструмент для работы с информацией, при помощи асма с информацией можно делать любые манипуляции, вообще любые то есть. Но это конечно же никому не интересно пока это происходит на твоём локальном пк. При всём этом существуют миллионы языков для веба, но они не могут делать любые манипуляции с информацией, как это может делать асм. И вот я вижу что на яве всё расписано для веба, а на асме ничего нет вообще, глушняк. Конечно же юнные вкатывальщики будут вкатываться в яву например, чем в асм.
Ну и поэтому у меня вопрос: а не искусственно ли это табу?
Аноним 28/06/21 Пнд 18:58:10 208300630
>>2082970
Ты на ассемблере писал хоть раз? У тебя в голове о нем какие-то маняпредставления, поясняю: в асм ты можешь делать все угодно только в режиме ядра, в режиме пользователя ОС будет игнорировать команды вроде in, out, и прочие
Т. е. у тебя есть два варианта работы:
1. Пишешь все в пространстве пользователя, но тут увы придется использовать апи, а условный win32 одинаков и для асма и для си и для джавы и для питона. Уже на этом уровне весь функционал для твоего хацкерства или как ты это в голове считаешь доступен - можешь дрочить пакеты вплоть до сетевого уровня.
На асме никто веб не пишет потому-что это долго, тяжело, много багов и лучше условные кресты какие-то
2. Ты можешь высрать драйвер для работы с канальным/физическим уровнем, драйвер работает в режиме ядра и все команды будут доступны. Но тут созревает вопрос нахуя это нужно, вся задача этих уровней просто передать поток битов и все.
Аноним 28/06/21 Пнд 19:06:59 208301631
Аноним 28/06/21 Пнд 19:26:52 208305032
>>2083006
Возможно он имеет ввиду реверс сетевых протоколов или что-то подобное
мимо
Аноним 28/06/21 Пнд 19:32:06 208306133
>>2083050
Пишет про то что можно делать любые манипуляции с помощью ассемблера, следовательно пишет не про реверс а про программирование на нем. Но вот ведь незадача - другие языки вполне себе могут менять байты в потоке байт, вот и любые манипуляции
Аноним 28/06/21 Пнд 20:18:04 208312734
>>2083061
Ну вот я не хочу чтобы >>2080901 это печаталось. Хочу чтобы это вот посылалось сразу в сеть. Чёто нет такого на других языках.
Абстракции я понимаю и рассчитываю на то, что и ты тоже их понимаешь.
Аноним 28/06/21 Пнд 20:23:47 208313235
Например, как мне написать программу так, чтобы я написал сообщение в блокноте, а после запуска проги моё сообщение из блокнота отправилось в этот тред? Не перепечатывалось, а именно чтобы вот отправилось как будто я его написал и нажал кнопку отправить.
Аноним 28/06/21 Пнд 20:26:00 208313636
А зачем асм то нужен тогда?
Аноним 28/06/21 Пнд 20:52:34 208315637
И вообще, мне не нравиться как работает веб. Я знаю как работают программы на асме(даже игры). Но веб работает крайне убого.
Аноним 28/06/21 Пнд 20:59:39 208316238
>>2083127
Сохранение в буфер текста -> Отправка в сокет, эта хуйня есть во всех ЯП
Ты знаешь что такое API?
Аноним 29/06/21 Втр 07:13:29 208340039
>>2083162
Примеров бы.
Постоянно получается какой-то непродуктивный диалог.
Аноним 29/06/21 Втр 07:19:11 208340240
Анон просто придумал какие-то фантастические свойства асму и удивляется, что это не так.
Тот же спп компиляется в такой же машкод. Всё что ты можешь сделать на асме, можно сделать и на спп.
Аноним 29/06/21 Втр 07:44:48 208340741
>>2083402
Ладно, примем по умолчанию что я долбоёб. Как например добавить тэг к тсп пакету, инкапсуляцию там и такие вот всякие штуки. Примеры нужны. Возможно у меня каша в голове, но я не знаю с чего начать её разгребать.
Аноним 29/06/21 Втр 07:57:45 208340842
>>2083407
Насколько можно понять твои посты, то что ты хочешь называется драйвер фильтр в шинде.
Аноним 29/06/21 Втр 09:01:42 208344343
Короче, я сформулировал задачу, мне нужно написать прогу которая просто пульнёт созданный мной пакет на указанный адрес. Думаю надо с этого начать.
Я наверно заебал уже, но надеюсь прийти к общему знаменателю.
Аноним 29/06/21 Втр 15:38:10 208377444
>>2080764
Зачем на виртуалку, тогда уж на флешку и учиться не по книгам, а как Крис Касперски, по хардкорному - смотреть воздействие каждой инструкции на процессор и память, через DEBUG.COM ;)
Аноним 29/06/21 Втр 15:52:56 208379745
>>2083774
Bochs умеет эмулировать практически полноценный процессор, там можно и через debug.com смотреть
Аноним 29/06/21 Втр 17:18:40 208390546
>>2079195 (OP)
>IDA Freeware 7.0
Уже IDA v7.6
>>2081146
>1 доллар, епта
Я бы ему сраный аналог бакса в битке/эфире намайнил, но на пулах обычно вывод от $20-30((
Сори, но кэш не стану переводить.
Аноним 29/06/21 Втр 19:45:54 208408847
>>2083774
>
>Зачем на виртуалку, тогда уж на флешку и учиться не по книгам, а как Крис Касперски, по хардкорному - смотреть воздействие каждой инструкции на процессор и память, через DEBUG.COM ;)
Современные компы не умеют в ДОС.
Аноним 30/06/21 Срд 09:14:57 208446648
>>2084088
Обоснование? Реальный режим с 16 битной сегментной адресацией поддерживается..
Аноним 30/06/21 Срд 09:16:51 208446949
>>2083797
Можно и так, так даже удобнее, кстати QEMU насколько мне известно, тоже?
Аноним 30/06/21 Срд 09:35:43 208447850
>>2084469
Насчет Qemu н знаю, но на bochs успешно заводил оригинальную Windows 95 и там прям четенько второй пень себя ведет, можно любые древние тулзы использовать.
Аноним 30/06/21 Срд 10:00:22 208448951
>>2084478
Я на qemu, win 2000 когда то устанавливал, чтобы воспользоваться утилитой для "прошивки" старых Nokia успешно прошил 2100 :)
Аноним 30/06/21 Срд 21:33:34 208505052
>>2079195 (OP)
Аноны, поясните за порядок префиксов в инструкциях х86. Я в курсе что процу похуй на порядок, но меня больше интересует как обстоит дело с компиляторами. У них соблюдается порядок по группам или у всех по разному?
30/06/21 Срд 21:34:17 208505253
>>2084469
Если сравнивать QEMU и bochs, то последний гораздо лучше поддерживает все тонкости, особенно если это касается реального режима. Т.е., условный бутлоадер с переходом в защищенный режим может отлично работать в QEMU, но падать в bochs и на реальной машине.
Аноним 01/07/21 Чтв 13:58:46 208542754
01/07/21 Чтв 22:47:12 208570255
>>2085427
А интерфейс нормальный уже завезли?
Аноним 03/07/21 Суб 07:52:33 208659956
MOV SI,0[SI]
Что делает эта команда?
Аноним 03/07/21 Суб 08:10:18 208660457
picrlll.jpg 151Кб, 668x616
668x616
>>2080764
Короч, я все-таки решил вкатываться, хоть анон и не одобрил,
читаю пикрелейтед. Земля мне пухом, братишки.
Аноним 03/07/21 Суб 12:13:18 208670258
04.png 50Кб, 704x541
704x541
>>2086599
Копирует в регистр si слово по адресу который хранится в si
Аноним 03/07/21 Суб 13:39:54 208676559
>>2086604
Тоже учился по этой книжке в нулевых.
Аноним 03/07/21 Суб 21:28:02 208713060
>>2085427
>Good night, sweet Ilfak
1. Делаем фри тулзу
2. Разоряем коммерческого конкурента
3. Прекращаем поддержку фритулзы
4.?????
5. PROFIT
Аноним 04/07/21 Вск 13:31:52 208741761
>>2087130
Проблема:
Она не просто фри, а фри и опен сорс.
Аноним 05/07/21 Пнд 09:30:56 208796862
image.png 89Кб, 1599x851
1599x851
Аноним 05/07/21 Пнд 09:33:15 208797063
image.png 47Кб, 730x481
730x481
>>2079195 (OP)
>включите компуктер
как же я люблю методички ебаных вузиков
Аноним 05/07/21 Пнд 10:07:56 208800564
Аноним 05/07/21 Пнд 12:06:02 208809265
>>2087970
1.Включите компьютер, опишите в тетради те процессы которые наблюдаете на экране
Аноним 05/07/21 Пнд 13:40:58 208812866
Аноним 06/07/21 Втр 21:36:17 208923367
Все прерывашки из ITV 0x00-0x0F относятся только к бивусу, а всё что выше - к дос и шиндус кернел, правильно?
возможно я очень слеп, но не могу нагуглить подтверждение или опровержение
Аноним 06/07/21 Втр 22:55:09 208927368
>>2087968
>8085
>8 бит
Зачем тебе какой-то симулятор аутистов, когда есть DOSbox и божественные 16 бит?
06/07/21 Втр 23:23:14 208930369
>>2089233
> 0x00-0x0F относятся только к бивусу
Исключения процессора обрабатывает каждая уважающая себя ось. Ремапнуть их нельзя. А вот все остальное можно ремапить как угодно.
Аноним 07/07/21 Срд 00:13:46 208933470
>>2089273
практика на нём, я вообще не ебу, что такое ассемблер, пока что как обезьянка выполняю, че мне говоритметодчика
Аноним 07/07/21 Срд 06:32:59 208940271
>>2089273
Вагную, что учебная программа не менялась как раз с конца семидесятых. А вообще начинать с любого хуй-86 это такое себе, студенты ведь потом будут думать, как утята, что так и должно быть. Блядь, брали бы хотя бы 6502, если такие ретрограды ебаные, там хотя бы архитектура вменяемая да и досконально разобраться можно как сам чип устроен http://www.visual6502.org/JSSim/ Сука, как же я ненавижу рашкинское образование: прогрессивное человечество дало им RISC-V, всё под опен сорс, нахуй, - нет, хочу жрать говно. Пиздец.
Аноним 07/07/21 Срд 13:34:13 208961372
А можно ли работать с процессором на уровне битов? Даже не байтов, как в машинном коде, а именно потока битов?
Аноним 07/07/21 Срд 14:41:07 208965273
>>2089613
Что ты высрал? Ты и так с ним работаешь на уровне битов
Аноним 07/07/21 Срд 14:56:03 208967474
>>2089652
Напрямую. Бит отправил, бит получил.
Аноним 07/07/21 Срд 15:08:28 208968775
>>2089674
Ну так ты и получаешь их так, поток битов. Если взять за некий промежуток то получаешь по одному биту
Аноним 07/07/21 Срд 15:29:48 208971076
>>2089687
Я немного не об этом. Даже байт это уже абстракция над битами. Можно ли обойтись даже без байтов?
Аноним 07/07/21 Срд 15:37:37 208971377
>>2089710
Бит это абстракция над электрическим сигналом.
Чтобы обойтись без всего - покупаешь процессор, изучаешь его цоколёвку, для интеловских есть в документации. Потом или покупаешь или сам делаешь сокет который будет соединятся с выходами процессора. Вот и все, можешь дрочить процессор электрическими сигналами, разумеется нужно знать элеткротехнические спецификации которые используют процессоры, но и они указаны в интеловских документах
Аноним 07/07/21 Срд 15:50:57 208972278
>>2089713
> Бит это абстракция над электрическим сигналом.
Это уже ненужное усложнение. Минимально возможная программная абстракция это бит. А то что электрон это абстракция над какими-нибудь кварками, с точки зрения софта практического применения не имеет.
Аноним 07/07/21 Срд 15:52:58 208972579
>>2089233
>0x00-0x1F
позднефикс

>>2089674
ты про

and al, 0x01
mov bl, al

?
тогда сколько угодно
так или иначе адресация побайтовая
Аноним 07/07/21 Срд 16:20:09 208975080
>>2089725
> and al, 0x01
> mov bl, al
Это байты + ассемблерные инструкции. Бит имеет два значения - ноль и целковый 1. Так вот, вопрос в том, можно ли с процессором работать на уровне битов, или байт (машинный код) это минимум?
Аноним 07/07/21 Срд 18:40:19 208990581
>>2089402
а у нас ебланы просто говорят, что мол им не идут современные программы на комп, поэтому дали этуй хуйню, преподша ещё говорила, что мол даже на виндовс 98 пойдёт
Аноним 07/07/21 Срд 18:43:42 208991082
>>2089402
>RISC-V
Ну вообще-то набор инструкций в ранних x86 был гораздо проще и он лучше подходит для обучения.
Аноним 07/07/21 Срд 19:47:58 208996083
>>2080764
Hy смотря какие цели. Я вообще изучаю асм в эмуляторе спектрума
Аноним 07/07/21 Срд 19:49:58 208996184
>>2089750
Не совсем понятно твоё "на уровне". И это байт с машинными командами. Таким образм можно копировать маскировать, устанавливать биты.
Аноним 07/07/21 Срд 21:05:15 209001285
>>2089750
Можно, разрешаю.

Гугли команды сдвига, логические и перехода. Все они работают с битами.
В зависимости от ассемблера можно использовать биты и в обычной записи, заменяя префикс на 0b или ставя b в конец константы:
>an al, 01b ; добавить второй по порядку бит
>mov bl, al
Аноним 07/07/21 Срд 21:48:20 209003586
>>2089722
Минимально возможная программная абстракция данных - это минимально адресуемая ячейка памяти в данной архитектуре. Примем за минимально адресуемую ячейку памяти байт.
Минимально возможная программная абстракция кода - машинная инструкция, которая храниться как массив байтов некой длины.
С памятью можешь работать как с массивом бит изменяя байты трогая при этом отдельные биты. С процессором только через машинные инструкции, большего на программном уровне ты добиться не сможешь. Можно отправить несуществующие инструкции или недоступные инструкции но он их вроде обычно игнорирует как будто там nop'ом все засрано
08/07/21 Чтв 11:11:51 209030187
>>2089402
> прогрессивное человечество дало им RISC-V,
Это не прогресс. Из-за того, что в RISC-V целиком и полностью состоит из необязательных фич, и из-за того, что он открытый - получится линукс. Куда ни ткни в линуксе: у одного альса, у другого пульса. Хочешь под это писать - страдают все. У третьего пайпвайр - у одного пердит, у второго микрофон не работает, у третьего вообще звука нет.
Аноним 08/07/21 Чтв 19:48:14 209081088
ass.PNG 32Кб, 768x732
768x732
Есть шансы долго и упорно перечитывая вкурить это с уровнем математики пятого класса?
Аноним 08/07/21 Чтв 20:05:30 209082989
>>2090810
Ну там же прмеры приведены. По примерам все понятно, даже если в определение тяжело въехать. что за книжка?
Аноним 08/07/21 Чтв 20:46:42 209085690
>>2090810
Но ведь это и есть математика пятого класса...
Аноним 10/07/21 Суб 02:34:49 209183491
>>2083132
Да вабщем та все просто. Для этой задачи подойдет даже питон, что тут думать та? Открываешь файл на чтение, считываешь сообщение в буфер, дальше содержимое буфера отправляешь post запросом в дивы хуивы сосача.
Аноним 11/07/21 Вск 18:28:24 209321992
1607261185500-b[...].png 52Кб, 323x227
323x227
Если архитектура та же (х86_64), то ISA не могут различаться у amd и intel? В то время как у AMD64 и IA64 они различны. Всё пральна?
Аноним 11/07/21 Вск 18:39:42 209323193
>>2093219
> не могут различаться у amd и intel
Могут отличаться дополнения.
А так да, Интел обосрался с итаниумом и перешёл на 64 от амд.
Аноним 12/07/21 Пнд 00:05:36 209348194
>>2079195 (OP)
Антуаны, есть ли среди вас те, кто зарабатывает себе на хлеб с помощью реверса? Если да, то, пожалуйста, поделитесь своей историей и опытом. Как вкатились? Чем обычно приходится заниматься на работе? Как с реверсом обстоит ситуация у нас в СНГ? Есть ли работа на черном рынке? Есть ли перспективы для вката новичкам? Заранее спасибо.
Аноним 12/07/21 Пнд 08:34:50 209355695
>>2093219
X86-64 = AMD64 ≠ IA64 - это и есть ISA (архитектура набора инструкций дословно, система машинных команд по-русски). У разных моделей процессоров и у разных микроархитектур могут быть разные расширения одной ISA. Например в моделях от AMD (пока) нет векторного расширения AVX-512. У Intel-ских микроархитектур до Хасвелла не было битовых расширений BMI.
Аноним 27/07/21 Втр 00:04:31 210799296
Что нужно для изучения реверсинга? Типа там программирования или математика углубленно?.
Аноним 27/07/21 Втр 00:26:29 210799997
>>2107992
Чугунная жопа и терпение.
Аноним 27/07/21 Втр 00:32:28 210800298
Аноним 27/07/21 Втр 20:15:18 210875999
>>2108002
Чтобы стать куколдом набивать практику
29/07/21 Чтв 03:16:29 2110347100
>>2107992
Знания в предметной области. Грубо говоря, если собираешься реверсить игру, тебе будет гораздо проще жить, если ты сам что-то писал и можешь заранее представить себе вероятную архитектуру.
Аноним 29/07/21 Чтв 12:09:35 2110500101
>>2110347
ДваЧую. Этот реверсер смыслит в деле. Первый раз вижу.
Аноним 03/08/21 Втр 23:21:57 2116307102
image.png 1186Кб, 800x600
800x600
Граждане байтоебы, помогите пожалуйста советом.
Есть одна мертвая игра - Квейк ЛутбоксЧемпион, в которой я хотел бы вкурить режим работы спектатора. В этом режиме внизу экрана отрисовывается панелька с ником игрока / советами спектатору, а при определенных событиях в игре или нажатом самим спектатором TAB-e она скрывается.
Предпологаю, что для самой панели есть некий объект с нужным свойством видимости/отрисовки, но как по быстрому это свойство найти в памяти я не представляю - это же не условные ХПшки или XYZ позиция энеми, которые можно просто менять и насканить чит энжином((
Или тут только курить в статике километровые простыни статических анализаторов и иначе никак?
Аноним 05/08/21 Чтв 01:51:33 2117389103
image.png 24Кб, 907x607
907x607
>>2116307
Присмотрите пожалуйста пока за моими табличками указателей, спасибо
Там лежит имя игорька, если что
Аноним 08/08/21 Вск 12:11:41 2120832104
>>2116307
Непонятно написал. В чём твой вопрос?
Аноним 09/08/21 Пнд 01:02:59 2121522105
>>2120832
>В чём твой вопрос?
Как сделать так, чтоб эта панелька не отрисовывалась.
Как по фасту найти условный метод Visibility условного класса BottomPanel не вкуривая несколько десятков мегабайт машинного кода/данных
Аноним 09/08/21 Пнд 01:06:29 2121527106
>>2121522
Найти исходный код игры либо sdk
Аноним 10/08/21 Втр 14:37:31 2123441107
image.png 52Кб, 674x285
674x285
Кек, все откладывают и откладывают..
Аноним 10/08/21 Втр 22:44:28 2123953108
image.png 9Кб, 700x159
700x159
image.png 187Кб, 1652x659
1652x659
image.png 7Кб, 317x95
317x95
Почему в 16-битной программе для dos возможны операции над 32-битными регистрами? При этом с 64-битными регистрами это не работает. Разве префикс 66 не должен работать только в 32-битных программах при w=1 (см. пик 2)?
10/08/21 Втр 23:52:16 2124018109
>>2123953
> Разве префикс 66 не должен работать только в 32-битных программах при w=1 (см. пик 2)?
Да, его для этого сделали. Но этот префикс меняет дефолтный для текущего режима operand size на противоположный (без REX 16/32, с REX 16/64). Для инструкций, не работающих со словами (в том числе для w=0), он игнорируется (если он не переиспользован, как часть инструкции, конечно).

> При этом с 64-битными регистрами это не работает.
use64 не забыл? Работает. В 64-битном режиме:
48 83 с0 03 - add rax, 3 ; REX
48 66 83 с0 03 - add ax, 3 ; REX, size override
83 c0 03 - add eax,3 ; нихуя
66 83 c0 03 - add ax,3 ; size override
Найдти сходства и отличия сам. А в 16/32 битных режимах REX в принципе не существует, поэтому никаких тебе 64-битных регистров.
Аноним 11/08/21 Срд 00:09:18 2124035110
>>2124018
>use64 не забыл? Работает. В 64-битном режиме:
Я к тому, что если у меня use16, почему я вообще могу пользоваться 32-битными регистрами? 64-битными не могу, это понятно, но 32-битные - пожалуйста. Если бы было use32, я бы аналогично мог пользоваться 64-битными регистрами?

>48 83 с0 03 - add rax, 3 ; REX
>83 c0 03 - add eax,3 ; нихуя
>66 83 c0 03 - add ax,3 ; size override
Получается в 64-битном режиме по умолчанию команда ADD работает с 32-битными регистрами, а для уменьшения/увеличения размера операнда используются разные префиксы?
Аноним 11/08/21 Срд 00:29:28 2124055111
>>2124018
>>2124035
Если я правильно понял, 16-битная программа, содержащая, например, команду
6683C003 = add eax,3
может быть запущена только на 32-битном процессоре, потому что этой фичи с префиксом изменения размера не было в 16-битных процессорах, как и extended-регистров? Хотя казалось бы, 16-битная программка же.
11/08/21 Срд 00:38:29 2124058112
>>2124055
386+, да. Если это имеет значение, можно детектить проц и делать фолбек какой-то.
11/08/21 Срд 03:29:17 2124114113
>>2124035
> Если бы было use32, я бы аналогично мог пользоваться 64-битными регистрами?
Вот этот вопрос пропустил. Нет. 32-битные фичи - это расширение системы команд 16-битных процев с практически полным сохранением набора инструкций (выкинули две с половиной инструкции, притом недокументированные - гугли loadall). 16-битного кода тогда уже было написано дохуя, а памяти еще мало, поэтому существует 16-битный защищенный режим и прочие извращения. И так как по большей части разница между 16-битным и 32-битным режимами всего в одном бите дескриптора сегмента, то интелу ничего не стоило сделать так, чтобы 66/67 работали в обе стороны. От этого ничего не сломалось.

Для 64-битного расширения набора команд AMD поступила по-другому: взяла и выкинула сразу пачку разных однобайтовых инструкций, в том числе и inc/dec reg (40-47/48-4f соответственно), сделав из них новый префикс (REX). Точнее, так как у REX 16 возможных значений, то это по идее семейство из 16 REX-префиксов, ну да и похуй. И вот тут уже надо было как-то отличать, декодировать ли байты по-старому или это префикс. И поэтому только в 64-битном (long mode) режиме декодер считает, что это REX или нихуя (PUSHA, например, не декодируется), а в остальных (legacy modes) он работает по-старому и декодирует в привычные инструкции.

> Получается в 64-битном режиме по умолчанию команда ADD работает с 32-битными регистрами,
Да. А чтобы указать 64-битный регистр вместо 32-битного, используется бит REX.W (вот это самое 8 в 48). Чтобы указать один из новых регистров (всякие там dil, r9d или r11) в разных частях инструкции, используются остальные три доступных бита REX. Но REX доступен только в лонгмоде, поэтому без лонгмода ты никак до 64-битных регистров не доберешься.
Аноним 11/08/21 Срд 08:08:56 2124143114
>>2124114
Вроде стало немного понятнее, спасибо
Аноним 12/08/21 Чтв 22:20:42 2126030115
Сап, реверсаны. Есть одна дико обфусцированная китайская вариация AES. Основной алгоритм разобрал, S-боксы и прочую хуйню вычленил, короче сам алгоритм вроде отреверсил нормально. А вот key scheduling не выходит. На руках есть только один набор раундовых ключей.

Все очевидные вещи уже перепробовал, с раундовыми константами поиграл, сдвиги и S-боксы поперебирал - нихуя, не выходит каменный цветочек. Надо нырять в математику, но не очень хочется.

Может, посоветуете чего? inb4 глаза разуй
Аноним 14/08/21 Суб 01:28:48 2127259116
В 2021 асм это только RE, или на нем еще что-то разрабатывают?
Аноним 14/08/21 Суб 10:23:23 2127385117
>>2127259
Ассемблер - это сверхбыстрые вставки C/C++ при разработке значимых от железа прог. Это ОС, драйвера и прочее.
Аноним 14/08/21 Суб 10:24:20 2127386118
>>2127259
И конечно же это ракеты и самолёты. Баллистические вычислители онли АСМ
Аноним 14/08/21 Суб 11:20:54 2127415119
>>2127259
Как хобби разве что. Зарабатывать не выйдет.
Но асм всегда будет, он необходимая основа любого компилятора.
Аноним 14/08/21 Суб 12:52:34 2127499120
Как выбрать язык? Они сильно отличаются?
14/08/21 Суб 13:05:01 2127515121
Аноним 14/08/21 Суб 14:58:07 2127644122
>>2127499
Выбирай FASM и всё.
Ещё научись юзать Olly, функции CreateFile, CreateFileMapping.
Ты считай бог в асме. Остальное приложится.
Аноним 14/08/21 Суб 15:15:05 2127663123
>>2127644
> Ещё научись юзать Olly, функции CreateFile, CreateFileMapping.
Я пока только 16-битные досовские программы пишу)
Аноним 14/08/21 Суб 15:38:36 2127696124
>>2127663
Да ладна. Add ax,bx понимаешь, add eax,ebx тоже самое. Джамп, проц, push одинаковые. Делай заготовку для 32битного приложения и вперёд. Функцией CreateFile создаёшь файл, функцией CreateFileMapping отображаешь файл в память, своей прогой делаешь с этими данными всё что угодно и выгружай через новый CreateFile результат. Вперерывах написания кода, загружаешь его в olly, проверяешь как он работает, писать весь код сразу не обязательно, просто поставь брэкпойнт где закончил и проверяй этот написанный участок кода, чтобы делал точно то что ты хочешь.
Аноним 14/08/21 Суб 15:43:53 2127709125
Можешь попробовать написать в блокноте Вася и асмом изменить на Петя.
Аноним 14/08/21 Суб 16:47:21 2127783126
DarkwingDuck.mp4 4972Кб, 640x360, 00:01:04
640x360
Аноним 14/08/21 Суб 16:55:22 2127791127
>>2127709
Помню менял так в файле S на $.
Мимо
Аноним 14/08/21 Суб 17:51:35 2127840128
Аноним 15/08/21 Вск 02:11:37 2128203129
Где почитать подробную документацию по инструкциям x86?
Аноним 15/08/21 Вск 03:18:45 2128211130
>>2128203
Зачем вообще учить ассемблер x86, если по нему в РФ ноль вакансий?
Обычно требуется Cortex-M и прочий ARM.
Аноним 15/08/21 Вск 06:33:00 2128231131
>>2128211
> Зачем вообще учить ассемблер x86, если по нему в РФ ноль вакансий?
Блядь, с какими же довенами я сижу на одной доске. Чтобы понимать, блядь, как там все ниже сишки работает. Чтобы научиться векторизации. Чтобы реверсить. Чтобы написать свою крохотную ОС. Все это нужно для общего фундамента, блядь. Ебаные вкатыши, нихуя не умеют, нихуя не интересно, лишь бы вакансии под их говностек были. Тьфу, блядь.
Аноним 15/08/21 Вск 07:34:36 2128243132
>>2128231
>Все это нужно для общего фундамента, блядь. Ебаные вкатыши, нихуя не умеют, нихуя не интересно, лишь бы вакансии под их говностек были.
Двачую. Зачем вообще идти в программисты с таким подходом к делу? Если нужны тупо бабки пусть идут в продаваны, толку больше будет.
Аноним 15/08/21 Вск 10:04:28 2128298133
Как понимать метод сжатия LZSS+RLE. По отдельности знаю, а как они работают вместе?
Аноним 15/08/21 Вск 10:29:37 2128324134
>>2128298
Нет смысл вместе, может таки по отдельности?
Аноним 15/08/21 Вск 11:31:41 2128364135
Screenshot292.jpg 170Кб, 815x443
815x443
Сжатый.jpg 259Кб, 830x271
830x271
Несжатый.jpg 227Кб, 834x246
834x246
>>2128324
Есть slz decompressor, мне надо написать slz компрессор, чтобы запихивать изменённые буквы и ссылки на эти буквы в архив. В описании указано 2/LZSS+RLE. При slz0 в куске ничего не меняется, тупо добавляется заголовок с размером куска. При slz1 вставляется двухбайтная ссылка на строку, где первые 4 бита +3(если там 0, то размер 3 байта) размер строки, это и есть LZSS я понимаю. slz3 нету.
slz2 какая-то белиберда. На пикчах выделил заголовок, ff - оставлять как есть, ef - 1110 1111 то есть пятый байт это двухбайтная ссылка на что-то - 00 f1, в несжатом куске это - 00 00 00 00. При чём есть какие-то странные повторы 8с 00 00 00 00.
Аноним 15/08/21 Вск 14:52:42 2128546136
>>2127840
Отрываю от сердца.


macro save MemPointer{mov dword[MemPointer],eax}

format PE GUI
entry start
include 'win32wx.inc'
section '.code' code executable
start:
invoke GetOpenFileName,GeneralOpenFileName
test eax,eax
jz mExit
invoke CreateFile,\ ;
FileNameString,\ ;pointer to name of the file
GENERIC_READ+GENERIC_WRITE,\ ;access (read-write) mode
0,\ ;share mode
0,\ ;pointer to security attributes
OPEN_EXISTING,\ ;how to create
0,\ ;file attributes
0 ;handle to file with attributes to copy
save FileHandle
invoke GetFileSize,[FileHandle],0
save FileSize
invoke GlobalAlloc,GMEM_ZEROINIT+GMEM_MOVEABLE,[FileSize]
save MemoryHandle
invoke GlobalLock,[MemoryHandle]
save MemoryPointer
invoke ReadFile,[FileHandle],[MemoryPointer],[FileSize],FileSize,0


mov edi,[MemoryPointer]
mov al,'s'
mov ecx,[FileSize]
ContinueLoop:
repne scasb
jecxz EndOfFile
mov byte[edi-1],'$'
jmp ContinueLoop


EndOfFile:
invoke SetFilePointer,[FileHandle],0,0,FILE_BEGIN
invoke WriteFile,[FileHandle],[MemoryPointer],[FileSize],FileSize,0

invoke GlobalFree,[MemoryHandle]
invoke CloseHandle,[FileHandle]
mExit:
invoke ExitProcess,0

section '.data' data readable writeable
GeneralOpenFileName OPENFILENAME 76,\;--------------------------------------------------------lStructSize
0,\;--------------------------------------------------------hwndOwner
0,\;--------------------------------------------------------hInstance
0,\;--------------------------------------------------------lpstrFilter
0,\;--------------------------------------------------------lpstrCustomFilter
0,\;--------------------------------------------------------nMaxCustFilter
0,\;--------------------------------------------------------nFilterIndex
FileNameString,\;-------------------------------------------lpstrFile
512,\;------------------------------------------------------nMaxFile
0,\;--------------------------------------------------------lpstrFileTitle
0,\;--------------------------------------------------------nMaxFileTitle
InitDir,\;--------------------------------------------------lpstrInitialDir
0,\;--------------------------------------------------------lpstrTitle
OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_EXPLORER,\;---Flags
0,\;--------------------------------------------------------nFileOffset
0,\;--------------------------------------------------------nFileExtension
0,\;--------------------------------------------------------lpstrDefExt
0,\;--------------------------------------------------------lCustData
0,\;--------------------------------------------------------lpfnHook
0;----------------------------------------------------------lpTemplateName
FileNameString TCHAR 512 dup (?)
InitDir TCHAR 'C:\Trash\asm\New program'
FileHandle dd ?
FileSize dd ?
MemoryHandle dd ?
MemoryPointer dd ?
section '.idata' import data readable writeable

library kernel32,'kernel32.dll',\
comdlg32,'comdlg32.dll',\
user32,'user32.dll'

include 'api\kernel32.inc'
include 'api\comdlg32.inc'
include 'api\user32.inc'
Аноним 15/08/21 Вск 14:55:08 2128549137
Screenshot20210[...].jpg 111Кб, 720x1560
720x1560
Screenshot20210[...].jpg 83Кб, 720x1560
720x1560
Аноним 15/08/21 Вск 15:15:05 2128561138
>>2128546
Критика.
>invoke ReadFile,[FileHandle],[MemoryPointer],[FileSize],FileSize,0
ReadFile лучше не использовать, это устаревшая жопа, вместо этого юзать CreateFileMapping и MapViewOfFile. Тогда весь файл подгружается в оперативку, там меняешь что нужно. Просто я именно это советовал выше.
Аноним 15/08/21 Вск 15:17:50 2128563139
>>2128561
Ну и потому что я больше ничего не знаю, лол
Аноним 15/08/21 Вск 15:43:26 2128588140
>>2128561
Не буду врать, когда я это писал году в 2009 где-то, уже был маппинг и я осознанно от него отказался, потому что слишком сложно для школоло.
Сейчас это уже история и переделывать точно не стану
Там главное fasm установить и win32api.chm и includes скачать (некоторых констант из gdi32.dll нет в стандартном fasm), остальное по ходу дела гуглится.
Аноним 15/08/21 Вск 15:46:31 2128597141
>>2128563
Кстати, в стандартной поставке fasm есть отличный и короткий документ с полным описанием как вкатиться. Очень рекомендую для начала. Если нужно на русском, загугли, вроде переводы кто-то делал.
15/08/21 Вск 20:37:31 2128827142
>>2128561
> ReadFile лучше не использовать, это устаревшая жопа, вместо этого юзать CreateFileMapping и MapViewOfFile
ты токой MapViewOfFile, а юзер токой дерг флешку, и ты токой ой, программа допустила недопустимое, выполнила невыполнимое. хотите рассказать об этом своему психиатрумайкрософту? А вот ReadFile тебе просто ошибку вернет.

Нет, у отображений ограниченная область применения. Чаще всего Read/WriteFile подходят лучше. Особенно асинхронные.
15/08/21 Вск 20:45:22 2128841143
>>2128364
У тебя там исходник в первом скриншоте, зачем ты занимаешься художественной раскраской хексдампов?
Аноним 15/08/21 Вск 21:28:21 2128876144
>>2128231
>>2128243
Вы же просто тупые, недоразвитые кодеры.
Программист должен в первую очередь изучать алгоритмы.
Аноним 15/08/21 Вск 23:32:25 2129024145
>>2128876
Ты же тупой и необразованный грубиян.
Программист должен начинать с квантовой физики.
Аноним 16/08/21 Пнд 02:10:32 2129233146
>>2128876
Одно другому не противоречит
Аноним 16/08/21 Пнд 02:11:18 2129234147
Аноним 16/08/21 Пнд 03:11:47 2129246148
Аноним 16/08/21 Пнд 06:13:57 2129265149
За webassembly поясните. Это же нормальный полноценный ассемблер?
Аноним 16/08/21 Пнд 07:06:25 2129276150
>>2128841
Чё то мутный какой-то исходник, слишком короткий, больше похоже на то, что только один режим там.(Не знаю С)
Аноним 16/08/21 Пнд 09:33:16 2129329151
>>2129276
Я глянул мимоходом, декодер в сорцах поддерживает все заявленные режимы.
Аноним 16/08/21 Пнд 10:08:06 2129352152
>>2129329
Я пошёл трудным путём) Изучаю как игра распаковывает этот кусок, распакованные данные совпадают. Но чёто пипец сложно, а там всего 15 строк..
Аноним 16/08/21 Пнд 12:33:55 2129474153
Разобрался, сишники проверяйте). Если второй байт F1-FF, как на скрине 00F1, то это RLE, надо взять первый байт(00) 1+3 раза. Если 0820 например на скрине, то это LZSS, 2008 - 2+3 байта надо взять по смещению -080, это 3с00000000.
Аноним 16/08/21 Пнд 12:34:42 2129476154
Аноним 16/08/21 Пнд 15:46:58 2129646155
При архивации наверно лучше делать приоритет на RLE?
Аноним 16/08/21 Пнд 16:18:00 2129682156
>>2079195 (OP)
На собесе был вопрос "Что происходит на низком уровне когда вызывается винапи функция". Я начал отвечать про конвенцию вызово, стек, регистры, ленивую линковку, но всё общее для винды и линукса. Даже примеры в для линукса приводил типа гот плт таблицы. А меня спрашивали конкретно про винду. Типа стэк везде стэк. Плт таблица в винде по-другому назвается и не так работает. В итоге интервьюер заебался меня поправлять и сказал хватит. А как всё-таки надо было правильно ответить? Гугл говорит, что в винде ничего особеного для вызова винапи функций нет и они вызываются почти так же как везде
Аноним 16/08/21 Пнд 17:30:16 2129736157
>>2129682
Может, от тебя не только про асм хотели услышать, но и про оси? А ты чисто в асм ушел + поплыл.
16/08/21 Пнд 17:34:32 2129740158
>>2129682
Ну хуй их знает, что они хотели от тебя. Если конкретно про вопрос о вызове Windows API, то: call и конвенции, нахуй (не) нужны thunks (jmp IAT), API sets и форварды, wow64, трансляция A/W, вызов FuncEx из Func, нейтив апи-сисколл-KiFastSystemCallRet. Это вызов. Ну и линковка, если тебе вперлось про нее рассказать: директории импорта/экспорта (ординалы/форварды/bounds imports/delayed imports), dll search path (altered, KnownDLLs), activation contexts и манифесты, чего-нибудь про лоадер и PEB, наверное.
Аноним 16/08/21 Пнд 17:55:39 2129772159
>>2129682
Да ебланы какие-то, не переживай, скоро развалится их говноконтора рога и копыта. Меня тоже однажды спрашивали какими способами можно отформатировать винт. Короче, судьба тебя отвела от ненужных проблем. немного припекло
Аноним 18/08/21 Срд 09:02:12 2131354160
ss (2021-08-18 [...].png 7Кб, 719x222
719x222
Смотрите, что тут у меня. Кто-нибудь что-нибудь знает про это?
Аноним 18/08/21 Срд 09:44:07 2131381161
16258172586740.mp4 20395Кб, 540x960, 00:01:53
540x960
Вы как хотите, а я завтра пойду почтальоном устраиваться, 17 т. р. Ламповая работа и деньги неплохие. Не каждый может себе позволить такую работу.
Аноним 18/08/21 Срд 10:07:31 2131411162
image.png 82Кб, 909x585
909x585
>>2131354
Ошибка с уровнем исполнения проги. Ему нужно ядро, а ты видимо пытаешься запустить досом, что на 1 или 2 уровня выше. Пик прилагается.
Аноним 18/08/21 Срд 10:37:15 2131434163
https://www.youtube.com/watch?v=wHsT9a_RKtU
https://www.youtube.com/watch?v=Ei82hiqIqn0
https://www.youtube.com/watch?v=xPSEBMEw-mw
https://www.youtube.com/watch?v=H2AtpmdhLmA
https://www.youtube.com/watch?v=fDfkk6m3hjg
https://www.youtube.com/watch?v=dpPs4mj0ilw
https://www.youtube.com/watch?v=V-LMRCAFu38
https://www.youtube.com/watch?v=s3L8Nf5M2Oo
https://www.youtube.com/watch?v=M0BUvLC7zQM
https://www.youtube.com/watch?v=Th5XWf1NZfA
https://www.youtube.com/watch?v=CVs-ZYhm2v4
https://www.youtube.com/watch?v=Q3XdcukuNmw
https://www.youtube.com/watch?v=GvGho6RX5Dc

Аноним 18/08/21 Срд 11:18:41 2131451164
>>2131411
Не могу понять, ты всерьёз объясняешь или нет, но ладно. Это всё понятно. Другое дело, что гугл даёт практически нулевые результаты что по "TNT Embedded Kernel", что по "ETS Kernel", да и про утилиту DOSBOOT не знает. Это какая-то древняя RTOS. А хотелось бы узнать больше, прежде чем лезть дампить память железки (с процессором i386, ёпта), на которой это всё работает.
Аноним 18/08/21 Срд 12:25:52 2131539165
>>2131451
Мы тут в байтах ковыряемся, ты можешь это понять? А ты какие -то ошибки вбрасываешь. Спасение утопающих - дело рук самих утопающих!
Чел годно ответил, ещё и картинку хорошую прицепил.
18/08/21 Срд 21:14:15 2132183166
>>2131539
Картинка никак к досу и риалмоду не относится. В риалмоде нет защиты, а значит нет и колец. Алсо, картинка показывает влажные фантазии интела в восьмидесятых, в реальности же кольца 1 и 2 практически никем не использовались.
Аноним 18/08/21 Срд 22:37:57 2132262167
>>2132183

Тем не менее никто из-под доса не запрещал самопальный маняпротектед использовать, все экстендеры памяти это делали и было куча протектедных движков вроде dos4gw под которыми всякие думы и квейки крутились. Очень много дос софта юзало протектед.
Аноним 19/08/21 Чтв 08:04:43 2132447168
>>2132183
Так проге нужны кольца, а он под досом запускает, там вообще .exe. Про это и речь. Ему надо гуглить что-то вроде запуск PE под досом.
Аноним 19/08/21 Чтв 09:54:57 2132536169
>>2082564
Нахуя тебе асм??? с сетью работаьь лучше на Си.
Аноним 19/08/21 Чтв 10:09:07 2132565170
>>2131381
Нет вакансий. Пиздец, ещё вчера читал отзывы, там пизда удивляется - почему такую тяжёлую работу работают только женщины. Ну вот, я пришёл, но там 100% "по блату" взяли какую-то пизду.
Аноним 19/08/21 Чтв 11:27:18 2132675171
>>2127385
я думаю gcc -03 сделает это лучше твоих ебучих вставок
Аноним 19/08/21 Чтв 11:57:06 2132735172
>>2132675
Циклический сдвиг уже завезли в си?
Мимо
Аноним 19/08/21 Чтв 11:57:44 2132737173
>>2132675
Есть такая хуйня - непредсказуемость будущего. Я с асмом на вы ещё со спектрумовских времён. Так вот, в нулевых асм был посмешищем, c++ ну вроде ок. Сейчас крен сдвинулся и вроде С уже норм, а asm для реверса можно и нужно юзать. Считаю что крен этот сдвигается потому-что всё что выше это фантики, общество потихоньку начинает понимать. А суть то в том, что только asm работает с инфой непосредственно, без надстроек. А инфа уже сегодня имеет ценность, а что будет завтра?
Аноним 19/08/21 Чтв 12:06:17 2132749174
>>2132737
>всё что выше это фантики
Тоже охуеваю от того, что большинство вопросов в айти - как подключить ту или иную либу, а не об архитектуре.

>А инфа уже сегодня имеет ценность, а что будет завтра?
Многое программисты так до конца жизни и не узнают, что означает буква ай в слове айти.
Мимо
Аноним 19/08/21 Чтв 12:07:11 2132751175
Он>>2132735 не шутит, мне щас надо архиватор написать. И вот эти циклические сдвиги кручу в голове, как применить.
Аноним 19/08/21 Чтв 12:12:20 2132758176
Web 3.0 будет работать на asmе
подитожу
Аноним 19/08/21 Чтв 12:19:01 2132769177
Если кто-нибудь делал перевод биткоинов, то вот так должен работать интернет. Так должны открываться ваши видосики с тиктока.
19/08/21 Чтв 16:15:44 2133000178
Аноним 19/08/21 Чтв 16:40:33 2133046179
>>2133000
Да это какая-то хуйня))
Циклический сдвиг, ну максимум в 4 строки. Сделаю, скину.
Аноним 19/08/21 Чтв 16:45:48 2133055180
>>2132749
В асме нет девственников. Прими и умойся.
Аноним 19/08/21 Чтв 21:50:47 2133418181
>>2129772
Этот вопрос задавал директор того самого GReAT

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

Грустно
Аноним 20/08/21 Птн 00:57:37 2133605182
Асматики, видали эту хуйню?
http://www.mcst.ru/elbrus_prog

И как с такой документацией гордиться отечественной архитектурой?
Аноним 20/08/21 Птн 01:35:46 2133627183
Аноним 20/08/21 Птн 10:10:21 2133756184
image.png 76Кб, 866x363
866x363
>>2133627
Ну, тут хотя бы опкоды расписаны. ISA эльбрусов потихоньку реверсят энтузиасты, мцст то ли не хочет, то ли боится нормальные доки публиковать

Аноним 20/08/21 Птн 13:35:10 2133979185
>>2133627
И как этот документ поможет документу выше?
Аноним 20/08/21 Птн 17:28:14 2134255186
Аноны, помогите разобраться. Не могу понять, где я ошибся. Даны точки на плоскости, нужно найти все пары точек с максимальным расстоянием между ними. Ответ получается неправильный.
Это не лаба, решаю для себя, пожалуйста не бейте

https://pastebin.com/F4t4Bpfd
Аноним 20/08/21 Птн 19:43:25 2134441187
>>2134255
Можешь объяснить, как может быть несколько пар с максимальным расстоянием. Не понимаю.
20/08/21 Птн 19:56:54 2134448188
>>2134441
Для каждой точки найти пару с максимальным расстоянием может быть?
Аноним 20/08/21 Птн 20:08:02 2134455189
>>2134448
Я бы сложил x+y каждой точки, с какой точкой самая большая разница, то и есть максимальное расстояние. Но это не точно.
Аноним 20/08/21 Птн 21:00:38 2134519190
fasdfas.png 27Кб, 2304x928
2304x928
>>2134455
Надежнее было бы посчитать гипотенузу через fsqrt. Только по итогу получится, что работает весь алгоритм с перебором каждой точки к каждой другой точке даже медленнее, чем n^2
Аноним 20/08/21 Птн 21:25:20 2134545191
>>2134519
Что у тебя изображено 3 3, 4 6, 5 10?
Аноним 20/08/21 Птн 21:40:08 2134569192
>>2134441
> Можешь объяснить, как может быть несколько пар с максимальным расстоянием. Не понимаю.
Вот например даны точки:
0. (0, 0)
1. (1, 7)
2. (-1, 7)

Расстояние между 0 и 1 максимальное и равно расстоянию между 0 и 2. В ответе две пары: 0-1 и 0-2.
Аноним 20/08/21 Птн 21:40:35 2134571193
Аноним 20/08/21 Птн 21:51:56 2134583194
>>2134569
Щас в полусонном слстоянии. Если точки с корами 100,10 и 200,10. Получится тогда по гипотенузе найти?
Аноним 20/08/21 Птн 21:58:53 2134594195
>>2134583
Ну типа да, расстояние считается по формуле sqrt((x2 - x1)2 + (y2 - y1)2). Но я, естественно, сравнивал квадраты расстояний, чтобы не считать корень, и остаться в целых числах. На глаз код, вроде, правильный, но что-то не так, не могу понять.

https://pastebin.com/F4t4Bpfd
Аноним 20/08/21 Птн 22:11:11 2134613196
>>2134545
А, забыл легенду. Три точки, три операции (вызова функции для расчёта длины на самом деле) 4 точки - шесть операций и т.д.
В целом, число вызовов совпадаёт с числом рёбер
Аноним 21/08/21 Суб 06:52:41 2134849197
>>2134613
Jnb @f и после метки je @f
Это нормально? Там флаги поменяются же.
Аноним 21/08/21 Суб 07:02:39 2134852198
>>2134849
J(cond), вроде как, не должен менять флаги. Думаю, проблема не в этом.
Аноним 21/08/21 Суб 08:12:47 2134858199
>>2134852
Жоский код если честно
Аноним 21/08/21 Суб 08:19:34 2134860200
Поставь TurboDebugger из Dosbox и отлаживай.
Аноним 21/08/21 Суб 11:44:31 2134980201
Никогда не буду использовать два джампа подряд. Никогда в моём коде не будет dec ecx и лупов, залупов. Зачем они этому учат?
Аноним 21/08/21 Суб 11:47:55 2134985202
xor ecx, ecx
@@:
inc ecx
cmp ecx, нужное значение
jz @b
Что не так в этой конструкции? Зачем её усложнять?
Аноним 21/08/21 Суб 13:49:43 2135112203
>>2134985

mov ecx, нужное значение
@@:
dec ecx
jnz @b

Аноним 21/08/21 Суб 14:18:43 2135140204
>>2135112
Это плохая конструкция. Цена одна команда, а код нечитабелен - уменьшение ecx, от какого значения? Начинаешь искать этот мув, а точно это тот мув который нужен? Хорошо бы ещё убедиться что нет других mov ecx.
По какой-то причине не сработал джамп, тогда в ecx ffffebcd. Из-за этого значения дальше весь код по пизде идёт и показывает хуй знает что. А так не сработал.. и у тебя в есх вместо 10 оказалось 500, и ты видишь что весь остальной код работает правильно, просто джамп не сработал.
Аноним 21/08/21 Суб 14:44:00 2135166205
>>2135140
>Цена одна команда, а код нечитабелен
Одна команда из четырёх. Поэтому код сейчас и генерирует компилятор, чтобы читабельность не была фактором.
Аноним 21/08/21 Суб 14:56:57 2135178206
>>2135166
Это же не равно 25% кода. У тебя один, два цикла будет, зато сам не будешь теряться в своём коде. Ну если много циклов, ну оптимизируй потом под dec ecx.
Зато конструкция с inc позволит тебе творчески подходить к написанию кода, в этот цикл будешь вставлять переход на другой итд. А так, как будто сам себе рамки выставляешь этим mov ecx. Но рамки эти на самом деле написаны в учебнике.
Аноним 21/08/21 Суб 16:34:45 2135327207
>>2135140
Хороший код - оптимальный код.

Чел, ты просил не усложнять. Вот я тебе и упростил. Твои проблемы с чтением программ и поиском мувов, твои проблемы с отладкой и неработающими переходами - твои проблемы.

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

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

Не знаю кому ты там пишешь хороший код, я пишу для себя.
Аноним 21/08/21 Суб 17:41:14 2135419208
>>2134980
Блен, а как еще-то? Без цикла в цикле никак не решить
Аноним 21/08/21 Суб 17:42:07 2135421209
>>2134980
А два джампа это же просто if - else if, он разве не так работает?
Аноним 21/08/21 Суб 18:33:27 2135453210
>>2135419
>>2135421
Да оно теоретически то все будет работать, просто у самого было такое, получалось не очень.
Как-нибудь до джампа более точно описать условие, чтобы только два варианта было - да нет. Например, если получается отрицательные числа и положительные, то просто прибавить что-нибудь чтобы всегда получались положительные и проверять одно условие в положительных числах.
Аноним 21/08/21 Суб 20:14:12 2135553211
>>2134255
Короче, я понял, где ошибка. Я пытаюсь посчитать (x0 - x1)^2. x0 и x1 это signed word в диапазоне от -2^15 до 2^15-1. Вычитаю одно из другого, не проверяя, какое из них больше. По идее, должно получиться значение от -(2^16-1) до 2^16-1, но так как результат вычитания шестнадцатиричный, получается черт знает что. Значит мне нужно проследить, чтобы всегда меньшее вычиталось из большего. Тогда я получу значение от 0 до 2^16-1, и его уже необходимо воспринимать как unsigned. Дико тупая ошибка, конечно. Попробую исправить.
Аноним 21/08/21 Суб 20:45:57 2135593212
>>2135553
Сработало! Достаточно было добавить

jge @f
neg ax
@@:

сразу после вычитания. Даром пришлось еще чинить основной цикл, так как relative jump out of range. Просто заменил loop .lp1 на

dec cx
jcxz @f
jmp .lp1
@@:

Благодарю за внимание.
Аноним 24/08/21 Втр 18:46:14 2138943213
Так, такой вопрос. Вот я реверснул файл на си, все как в гайдах, но вот я ревершу файл на питоне, и там нету этого самого кода на асме, что не так с петухоном, стоит его реверсить, или нет, или там прослойка байт кода все парашит?
Аноним 24/08/21 Втр 19:04:56 2138960214
>>2138943
> прослойка байт кода
Не прослойка, а нихуя кроме байткода
Аноним 24/08/21 Втр 19:27:03 2139005215
>>2138960
И о чем это говорит, что питухон безопасный, и его реверсить бесполезно?
Аноним 24/08/21 Втр 19:28:39 2139009216
>>2139005
Питон не компилится в машинный код. Что ты там реверсить собрался?
Аноним 24/08/21 Втр 19:30:15 2139013217
>>2138943
> Вот я реверснул файл на си
Ты реверснул не файл на си, а предварительно скомпилированный исполняемый файл.
Аноним 24/08/21 Втр 19:31:58 2139014218
>>2139009
Ну хз, например прога на питоне требует реги, вот это например, но это гепотетически, просто пришло в голову.
24/08/21 Втр 19:42:42 2139023219
>>2139009
Зато компилится в байткод, и байткод можно запускать без исходника.
Аноним 24/08/21 Втр 19:43:17 2139024220
>>2139014
Программа на питоне не является исполняемым файлом. Когда ты запускаешь программу на питоне, на самом деле ты запускаешь python.exe.
Аноним 24/08/21 Втр 19:45:17 2139026221
>>2139024
Ясно, те патчить надо екзешник, да?
Аноним 24/08/21 Втр 19:45:27 2139027222
>>2139023
И? Это код для питухоновской виртуальной машины. Ты его не дизассемблируешь.
24/08/21 Втр 19:51:39 2139037223
>>2139027
Ну, во-первых, import dis, во-вторых, есть и внешние дизасмы. А для случаев, когда оно выполняется отдельным питоном, в котором опкоды поменяли местами, всегда можно написать свой.
Аноним 24/08/21 Втр 19:52:03 2139039224
Снимок экрана20[...].png 90Кб, 1112x577
1112x577
А вообще я напиздел, каттер показывает питухон код на асме.
Аноним 24/08/21 Втр 19:53:12 2139043225
>>2139026
Ты можешь, в теории, запустить программу в дебаггере, и посмотреть, что делает питон на уровне машинного кода. Но зачем?
24/08/21 Втр 19:53:51 2139045226
>>2139039
Это неправильная интерпретация байткода питона в виде x86-64 кода. Ты точно так же можешь какой-нибудь жипег ему подсунуть, и он тоже это дизассемблировать будет, только кодом оно от этого не станет.
24/08/21 Втр 19:54:40 2139046227
>>2139045
Ой бляяя, не байткода даже. Ты ему текстовый исходник скормил, лол?
Аноним 24/08/21 Втр 19:59:18 2139049228
Пиздец, что вы развели. Питон компилируется в байткод, потом этот байткод можно развернуть обратно в исходник, очевидно же.
Патчить тоже можно, но нахуя?
Аноним 24/08/21 Втр 20:00:11 2139050229
1629824410020.jpg 70Кб, 892x445
892x445
>>2139037
Байткон питона нельзя дизассемблировать в привычном смысле этого слова. Максимум, что можно сделать, это получить на выходе расшифровку байткода, что собственно и делает dis (см. пикрил).
Аноним 24/08/21 Втр 20:01:31 2139051230
>>2139049
> потом этот байткод можно развернуть обратно в исходник, очевидно же.
Чел хочет из кода на питоне получить ассемблерный код.
Аноним 24/08/21 Втр 20:02:38 2139052231
>>2139051
Он хочет реверсить, про ассемблерный код он пизданул в этом контексте.
Аноним 24/08/21 Втр 20:05:20 2139053232
>>2139052
> Он хочет реверсить, про ассемблерный код он пизданул в этом контексте.
Он прямым текстом с самого начала написал, что хочет код на асме
-->>2138943
> но вот я ревершу файл на питоне, и там нету этого самого кода на асме, что не так с петухоном
Аноним 24/08/21 Втр 20:07:05 2139057233
>>2139053
По-моему, он просто нуб и сам точно не понимает, что говорит, лол. Но смысла спорить нет, может и сам ответить.
24/08/21 Втр 21:22:52 2139137234
>>2139050
А дизасемблировать - это по-твоему что значит тогда?
24/08/21 Втр 21:34:32 2139154235
>>2139137
>в привычном смысле этого слова
Дизассемблировать, то есть преобразовать машинный код в ассемблерный код, что не понятно? Смотри на контекст обсуждения.
24/08/21 Втр 21:40:07 2139159236
>>2139154
Для виртуальной машины питона машинный код - байткод. Мы его преобразовываем в читаемое представление. Это называется дизассемблированием. Можешь плугин для радара или иды написать, чтобы то же самое смотреть там. У них уже есть, например, плагины для джавы, и у джавы тоже виртуальная машина, поэтому дизассемблер показывает байткод JVM. Если у тебя собственный мир с собственной терминологией, нужно предупреждать сразу.
24/08/21 Втр 21:54:16 2139167237
>>2139159
Я это всё понимаю. Ещё раз, смотри на контекст обсуждения. Речь шла именно про язык ассемблера (см. >>2139053). Что по-твоему значит "код на асме"?
24/08/21 Втр 22:18:48 2139185238
>>2139167
Значит, что он ожидал >>2138943 получить нативный машинный код, но дизассемблер сопротивлялся как мог, а вы, вместо того, чтобы написать ему нечто вроде >>2139159 устроили тут непонятно что. И он таки нихуя не понял, раз продолжает натравливать >>2139039 cutter на .py-файлы.
24/08/21 Втр 22:26:13 2139190239
>>2139185
>устроили тут непонятно что
Не все умеют хорошо объяснять. Особенно когда непонятно, какое у человека представление о предмете вопроса.
Аноним 25/08/21 Срд 00:11:29 2139277240
objection-18153[...].mp4 6711Кб, 960x640, 00:01:33
960x640
Аноним 25/08/21 Срд 10:35:31 2139462241
>>2138943
питон это интерпритируемый язык, он не компилируеться в исполняемый файл. если хочешь "реверсить" прогу на нем, просто открой в текстовом редакторе исходный файл .py
Аноним 25/08/21 Срд 10:38:18 2139465242
Аноним 25/08/21 Срд 11:00:40 2139512243
Аноним 25/08/21 Срд 11:05:43 2139521244
666.mp4 15535Кб, 480x360, 00:03:01
480x360
>>2138943
>но вот я ревершу файл на питоне
Аноним 25/08/21 Срд 12:17:29 2139577245
Screenshot293.jpg 136Кб, 705x344
705x344
Screenshot294.jpg 19Кб, 236x125
236x125
VP.mp4 13438Кб, 640x360, 00:00:51
640x360
Аноним 25/08/21 Срд 12:45:26 2139600246
23.mp4 17073Кб, 640x360, 00:01:05
640x360
Аноним 25/08/21 Срд 13:58:33 2139673247
Лучше выебать тян, или обсуждать как выебать тян? Что ближе к истине?
Аноним 25/08/21 Срд 15:03:01 2139756248
>>2139673
зависит от определения истины в даном контексте
Аноним 25/08/21 Срд 17:46:54 2139931249
Почему в шапке идет дискриминация радара? Чем он хуже других?
25/08/21 Срд 22:25:08 2140231250
>>2139577
Респект и уважение!
25/08/21 Срд 22:33:04 2140239251
>>2139931
Интерфейс для рептилоидов, кривые лоадеры, кривой отладчик, нет поддержки проектов в привычном смысле слова, зато есть эмодзи-хексдамп, снежинки и ванильные цитатки при старте. Но если ничего другого нет, пользоваться можно.
Аноним 26/08/21 Чтв 09:30:31 2140496252
>>2140231
Я там сжульничал немного, поставил брейкпоинт, скриптами в иде пропатчил память с буквами. Чтобы всё это закатать на диск надо написать архиватор, а это фак,фак,фак.... Или найти такой же архиватор, или я долбаёб и есть способ проще.
Аноним 26/08/21 Чтв 18:32:08 2141015253
>>2140239
Ты имеешь ввиду не пригоден для промышленных масштабов в лабораториях касперского? Но там комунити, можно писать на питоне какие-то дополнения, и в целом норм доки.
Аноним 29/08/21 Вск 13:02:51 2143610254
Такой вопрос по ре.
Только без снобизма и отсылки к тоннам книг.
При реверсе файлов на что следует обращать внимание, на аномалии, или что-то еще. Или все зависит от цели. Хочу попрактиковаться на крэксми. Скачал файл. В подобных примерах, надо типо найти пароль или нечто подобное. Есть алгоритмы или нечто подобное чтобы искать. Хз как сформулировать, но пусть пока будет так.
Аноним 29/08/21 Вск 13:16:20 2143624255
>>2143610
Суть крекми это как раз обратная разработка. А запатчить можно за пять сек.
Аноним 29/08/21 Вск 14:55:28 2143742256
каир.jpg 141Кб, 700x921
700x921
>самый низкоуровневый
> - Посоны, а как начать писать на Ассемблере?
> - Ну, короч, ставишь досбокс...

Это такой тралленк, да?
Аноним 29/08/21 Вск 15:01:04 2143752257
>>2143742
> начать писать
Ну так это самый простой способ начать учить ассемблер. Что не так?
Аноним 29/08/21 Вск 15:14:57 2143781258
>>2143624
Я хотел бы понять суп ре без умствований. Вот есть файл, с чего начать, ну пусть будет крексми. В манах того же радара просто команды. Но я хотел бы понять логику, с чего начать, некий алг что ли. Можно же смотреть в книгу и видеть фигу. Надо знать что искать к примеру.
Аноним 29/08/21 Вск 16:52:34 2143893259
>>2143752
>Что не так?
То, что он не низкоуровневый.
Аноним 29/08/21 Вск 16:54:10 2143896260
>>2143893
а ты на макроассемблере что-ли пишешь?
Аноним 29/08/21 Вск 17:00:16 2143908261
>>2143893
Что по-твоему значит низкоуровневый, лол?
Аноним 29/08/21 Вск 17:08:22 2143917262
>>2143893
Создание программ на ассемблере для доса отличается только тем, что доступен только реальный режим процессора, и плюс дос предоставляет некоторые функции, и всё. Ты по-прежнему работаешь с регистрами непосредственно, и твоя программа по-прежнему состоит из ассемблерных инструкций. Я еще понимаю, если бы речь шла о формате PE, но этого я не понимаю.
Аноним 29/08/21 Вск 17:08:58 2143919263
>>2143896
Нет, я хотел вкатиться в ассемблер, а мне сказали, что современный ассемблер теперь игрушечный и в каком-то эмуляторе запускается. Дико с этого проиграл и решил вкатиться во что-то другое.
Аноним 29/08/21 Вск 17:12:17 2143928264
>>2143919
Ты спрашиваешь как начать писать на ассемблере - тебя закономерно отправляют в лягушатник. Вопросы?
Аноним 29/08/21 Вск 17:25:37 2143936265
>>2143893
x86 ещё относительно высокоуровневый. А вот на всяких VLIW'ах с регистровым окном заебёшься писать
Аноним 29/08/21 Вск 17:44:24 2143956266
>>2143936
То, что это сложнее, еще не значит, что оно более низкоуровневое. Архитектуру можно было бы назвать более низкоуровневой, если бы x86 инструкции было возможно разложить на более элементарные команды для данной архитектуры.
Аноним 29/08/21 Вск 18:03:46 2143965267
>>2143781
Можешь начать с тестирования, там макачьих гайдов полно.
Реверсинг, пентест и тестирование это одно и то же, просто чуть под другим углом. Но всё учит как бы ебануть что плохо прикручено.
Аноним 29/08/21 Вск 18:03:51 2143966268
>>2143956
>если бы x86 инструкции было возможно разложить на более элементарные команды
Разве за тебя это не делает микрокод? Ну и вообще, по такой логике, мипсы окажутся самой лёгкой архитектурой просто потому что у них команд меньше и приходится всё расписывать вручную, что в CISC'ах уже давно делается одной инструкцией
Аноним 29/08/21 Вск 18:04:08 2143968269
>>2143781
Ищи строки- это самый простой способ
Аноним 29/08/21 Вск 19:04:21 2144019270
>>2143966
Строго говоря, нельзя, сравнивая две разные архитектуры, сказать, какая из них более низкоуровневая. Но если две архитектуры взаимозаменимы, то можно условно сказать, что более высокоуровневая та из них, инструкции которой во второй архитектуре реализуются последовательностью команд. Напимер, какая-нибудь архитектура, типа x86, но в ней, например нет инструкций, типа push, pop и т.п.
Аноним 30/08/21 Пнд 17:59:06 2144898271
А где можно брать всяких червей, бомбы, крекми и тд для учебы? Например, хочу посмотреть как выглядит переполнение буфера с точки зрения радара и понять логику. С крекми и бомбами вроде ясно, но есть очень сложные примеры, хочется по нарастающей. И еще такой вопрос. Что нужно знать, уметь, чтобы стать классным реверсером и все текли.
Аноним 30/08/21 Пнд 19:41:49 2145023272
Аноним 01/09/21 Срд 15:02:40 2146869273
Написал, нахуй блядь, архиватор этот ебучий. Теперь надо разобраться как работает cd-rom этой игре, а завтра на работу.
Аноним 01/09/21 Срд 15:19:26 2146882274
Им же, всяким англичанам, французам, испанцам. Им же проще всё это делать. Тупо меняешь глифы в тексте. А тут под глифы нужна память, и чтобы имя перса было в оригинале а сам текст на русском. У сука...
Аноним 01/09/21 Срд 15:23:12 2146884275
Ещё кто-то против русика пиздит. Да это охуеть как надо изьебнуться чтобы сделать на русском.
Аноним 01/09/21 Срд 16:04:49 2146925276
Screenshot296.jpg 75Кб, 558x105
558x105
Screenshot295.jpg 47Кб, 532x131
532x131
Короче триллер. На первом пике разжатый кусок, на втором сжатый. В кружочке 0604, к 04 надо прибавлять 3, потому что меньше трёх байт нет смысла сжимать, 06 это минус смещение от текущей позиции каретки.
Получается, надо взять 7 байт по смещению -6. КАК? Откуда должен взяться седьмой байт, он потерян при сжатии.
Но разжимается. Просто я когда писал, то сделал джамп если коретка доходит до текущей позиции, потом сравниваю полученный результат с исходным и охуеваю.
Аноним 02/09/21 Чтв 10:11:48 2147724277
Как запустить код на виртуальной машине? Я так понимаю, мне нужно как-то создать загрузочный образ, но я не особо понимаю, как это работает.
Аноним 02/09/21 Чтв 13:40:53 2147928278
>>2147724
MBR же. Надо просто разместить в правильном месте и чтобы он(mbr) указывал на твой код.
Биос читает mbr, mbr читает твой код.
Аноним 02/09/21 Чтв 14:28:39 2147949279
>>2147928
>Надо просто разместить в правильном месте
А как? Вот я ассемблировал свой код, получил code.bin на выходе. Что с ним делать? Я пробовал genisoimage -o code.iso code.bin. Загрузил этот образ в virtual box: он говорит no bootable medium found. В чём я неправ?
Аноним 02/09/21 Чтв 14:40:22 2147961280
>>2147949
В Hex-редакторе тупо скопируй.
Ты результат всё равно не увидишь.
Аноним 02/09/21 Чтв 15:02:08 2147973281
>>2147961
Можно понятнее? Что куда скопировать?
Аноним 02/09/21 Чтв 15:09:09 2147978282
>>2147973
Открой в hex-редакторе образ системы, найди там mbr. Почитай где он должен быть расположен(в образе наверно будут доп.заголовки всякие). Скопируй в свой образ, измени стартовый адрес кода на свой код.
Аноним 02/09/21 Чтв 15:17:13 2147989283
Ты осознаешь что это пук в космос? Тебе надо как минимум чтобы в коде был минимальный драйвер видеокарты, чтобы ты смог увидеть результат своего кода. Ты запустишь свой код, проц его выполнит и давай до свидания, он тебе ничего не должен.
Аноним 02/09/21 Чтв 15:20:08 2147993284
>>2147989
А что, биос мне тоже ничего не должен? Какой драйвер? Мне всего-то нужен текстовый режим 80x25.
Аноним 02/09/21 Чтв 15:25:16 2148000285
>>2147993
Возможно ты прав, не проверял. Хорошая идея у тебя, do it.
Аноним 03/09/21 Птн 11:19:34 2148808286
Аноним 03/09/21 Птн 11:22:56 2148814287
>>2147989
В свою молодость я загружал bmp файл из флешки прямо в видеопамять. Vesa режимы рулят.
К слову загрузку секторов кода я так и не осилил, так что код там совсем маленький.
Аноним 03/09/21 Птн 15:11:18 2149000288
>>2147993
>>2148814
Думаю тут 2 варианта ошибки: код исполняется, но результат не отображается(ошибка в обращении к видеопамяти). Код не исполняется, ошибка с загрузкой кода.
Аноним 03/09/21 Птн 18:49:12 2149253289
>>2149000
Поэтому нужен код и скриншот первого сектора. Остальное не поможет.

Скину то что нашел у себя в закромах. Давно уже не помню что именно делают эти int13 вызовы.
А то у нас совсем тред без кода почему-то. Так неинтересно.

;fasm boot.asm

Use16
org 0x7C00

cli
mov ax,0xb800
mov ds,ax
xor si,si
mov ax,0x0700

mov ah,41h
mov dl,80h
mov bx,55aah
int 13h
mov ax,0x0730
jc @f
mov ax,0x0731
@@:
mov [si],ax

mov ah,42h
mov dl,80h
mov si,0
mov ds,si
mov si,dap
int 13h

mov ax,0xb800
mov es,ax
jnc @f
xor si,si
mov word[es:si],0x0735
@@:
xor si,si
mov word[es:si],0x0736

mov di,cop
mov ax,[ds:di]
mov [es:si],ax
inc si
inc di
inc si
inc di
mov ax,[ds:di]
mov [es:si],ax
inc si
inc di
inc si
inc di
mov ax,[ds:di]
mov [es:si],ax
jmp $

dap:
db 10h
db 0
dw 1
dw cop
dw 0
dq 1

cop:
dw 0x0700,0x0730,0x0731
Аноним 03/09/21 Птн 18:52:44 2149256290
>>2149253
Вот была же любовь к табам раньше.


boot.asm

Use16
org 0x7C00

cli
mov ax,0xb800
mov ds,ax
xor si,si
mov ax,0x0700

mov ah,41h
mov dl,80h
mov bx,55aah
int 13h
mov ax,0x0730
jc @f
mov ax,0x0731
@@:
mov [si],ax

mov ah,42h
mov dl,80h
mov si,0
mov ds,si
mov si,dap
int 13h

mov ax,0xb800
mov es,ax
jnc @f
xor si,si
mov word[es:si],0x0735
@@:
xor si,si
mov word[es:si],0x0736

mov di,cop
mov ax,[ds:di]
mov [es:si],ax
inc si
inc di
inc si
inc di
mov ax,[ds:di]
mov [es:si],ax
inc si
inc di
inc si
inc di
mov ax,[ds:di]
mov [es:si],ax
jmp $

dap:
db 10h
db 0
dw 1
dw cop
dw 0
dq 1

cop:
dw 0x0700,0x0730,0x0731
Аноним 04/09/21 Суб 11:28:24 2149718291
Сап, /pr/, просьба не пиздить за нейминг, я скрипткидди. Тулза - ida, очевидно.
Есть бинарь (.dll), ижектится в другой, вешает разные хуки. Какие-то я нашел, но подозреваю что не все
в .text есть портянка кода, я нашел место где уже .dll получила данные из основного бинаря, немного их обработала, после места еще один обработчик, и вызов хука чтобы положить обратно измененные. Т.е.:

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

Как функцию ида то место не распознает, подозреваю что там jmp по рантайм адресу. (а может и статике, я хуй знает как понять).
Собственно вопрос - как найти откуда вызов, блядь?
Помогите нубасу, молю.
Аноним 04/09/21 Суб 13:44:35 2149884292
>>2149718
В иде graph view есть же, показывает все вызовы.
Аноним 04/09/21 Суб 14:00:00 2149894293
>>2149884
В этом коде ида не распарсила функции, соответсвенно без рантайма не знает что туда jmp прилетит.
Аноним 04/09/21 Суб 14:10:17 2149902294
>>2149894
После того как распарсит, options - general - analysis - reanalize program
Аноним 04/09/21 Суб 16:09:05 2150022295
Палю годноту реверсачерам. Вчера первый день на почте. Суть: приходишь на почту(она рядом с домом) к 11. Ждёшь когда приедет машина с почтой. Потом берёшь почту на свой участок, сортируешь и составляешь маршрут, так чтобы было удобно разносить и ничего не перепутать. Составляешь маршрут так, чтобы последним был самый дальний дом. После того как всё разнёс берёшь бутылочку пива и пиздуешь на остановку. В 5 уже дома. 20к зарплата. Не ебу зачем дауны яндекс-еду разносят.
Аноним 06/09/21 Пнд 00:15:16 2151152296
Знаете ли вы ресурсы на которых можно найти описание деталей процесса кряка современного софта (текстом/видео/как угодно)?
Речь не про поправить условный переход в какой-нибудь древней шароваре, а именно что разбор потрохов алгоритма активации шиндоуз/адобов и т.п. монструозных вещей
Аноним 06/09/21 Пнд 05:31:12 2151211297
Аноним 06/09/21 Пнд 12:48:07 2151445298
>>2151211
Там одно говно уровня crackme для вкатывалщиков
Аноним 06/09/21 Пнд 12:56:14 2151459299
>>2151445
Странно.
А чё exelab накрылся? Или туда вход особый нужен? Раньше нормально заходил, хотя я там не сидел никогда.
Аноним 06/09/21 Пнд 17:12:39 2151687300
06/09/21 Пнд 17:34:13 2151715301
Аноним 06/09/21 Пнд 17:58:29 2151747302
>>2151152
>современного софта
А современный софт весь в веб ушел. Есть конечно игрули да какие-нибудь кады-хуяды, но и этого становится ничтожно мало.
Аноним 08/09/21 Срд 11:42:50 2152899303
У меня такой нескромный вопрос.
Как я понимаю ре - это когда ты колупаешься в по без сырцов, так? То есть имея сырцы можно понять, логику, архитектуру по и прочее. А вот только по исполняемым файлам можно восстановить все что задумывал автор? Ну вот в руки конкурентов попали исполняемые фалы, без сорцов. Возможно ли понять и восстановить и монетизировать то что попало в руки?
Аноним 08/09/21 Срд 11:48:28 2152902304
>>2152899
Возможно понять, как оно работает. Для рандомного говна смысла не имеет, но для каких-то узких ниш вполне, где оно и ценится.
Аноним 08/09/21 Срд 13:27:40 2152964305
>>2152902
Я так полагаю что тема с ре не паблик, а есть кейсы, мб у местных. Тема то такая. Ладно я выучу что-то, а где найти работу? И есть roadmapы по ре? По тип питона или явы. Ну типа чеклистов, роудмэпов, читшитов или мастридов?
Аноним 08/09/21 Срд 13:41:45 2152971306
>>2152964
Нигде. Это не выучу и вкачусь.
Если ты выбираешь как один из вариантов, то сразу вычеркивай.
09/09/21 Чтв 12:00:32 2153581307
09/09/21 Чтв 14:07:37 2153719308
>>2146925
> Получается, надо взять 7 байт по смещению -6. КАК?
Звучит как типичный LZ77 с окном. Копируешь по одному, из -6 скопировал байт в конец, вот уже и седьмой байт.
но ты уже давно разобрался
Аноним 09/09/21 Чтв 14:31:33 2153746309
>>2153719
Не разбирался, это получается на место седьмого байта вставляешь первый в окне, на место восьмого второй и т.д.
Как бы сжимается и разжимается без этой тонкости. Но если понадобится, добавлю в код, спасибо.
Аноним 11/09/21 Суб 01:12:42 2154824310
Хочу изучить сам ассамблер, есть ли свежая литература? Самая свежая в шапке датируется 2003 годом, насколько я понимаю, процессор процессору рознь по архитектурной составляющей. В чем же смысл тогда учится по книге в которой пентиум, который я никогда даже не видел в живую, называют последним словом в технике? Реквестирую что-нибудь современное, если есть. Желательно, конечно, еще и на русском.
Аноним 11/09/21 Суб 01:15:45 2154827311
>>2154824
Лучше вобще начинать с восьмибиток пятидесятилетней давности, современный ты наш.
Аноним 11/09/21 Суб 08:17:33 2154859312
>>2154824
> процессор процессору рознь по архитектурной составляющей
У них у всех архитектура x86. Вряд ли тебе придется писать под ARM. А если все-таки захочется, тогда конечно придется с ними отдельно разбираться. Кроме того, фичи типа MMX, SSE и т.п. тоже везде работают одинаково, хоть и не все процессоры их поддерживают. Просто со временем складываются стандарты, потому что так удобнее.
Аноним 11/09/21 Суб 08:43:39 2154860313
>>2154824

Вот тебе свежак: early access ещё не вышедшей книги http://libgen.is/book/index.php?md5=2F85E7A6B145EF22ECC2E8F11FD77804 .
Самое последнее из русскоязычных, наверно это http://libgen.is/book/index.php?md5=C72F16F6A4C7FDDA9344D408AAE76C9E . Но книга - так себе.
Да, с новыми книгами по ассемблеру на русском последние лет 10 довольно печально.

Пойми, программирование на ассемблере - методология старая и глубоко продуманная. Так что есть смысл изучать классику: и Нортона, и Абеля, и Абраша и т.д. Что касается X86 - у него ведь (некоторая) пресловутая обратная совместимость. Так что тот же Юров актуален где-нибудь на 70% (и как первый учебник весьма годен).

Можно считать, что знания программирования на ассемблере складываются из нескольких источников:
• Описание/спецификация системы машинных команд (ISA);
• Руководство для ассемблера / диалект языка ассемблера;
• ABI программного окружения;
• API рантайма/библиотек (если есть).

Так что, в принципе, можно и без учебника вникать.
Аноним 11/09/21 Суб 09:04:49 2154864314
>>2154860
Забыл сказать, ещё надо (считай обязательно) уметь пользоваться отладчиком ну и может быть прочими инструментами.
Аноним 11/09/21 Суб 11:17:38 2154912315
Question.mp4 24959Кб, 1200x1200, 00:04:11
1200x1200
Аноним 11/09/21 Суб 11:22:24 2154915316
>>2154912
Купил короче этот альбом чтобы не "выгорать". Круче него только The fat of the land, считаю. Пью пивасик.
Аноним 11/09/21 Суб 11:30:50 2154919317
Хотя я и так не выгораю. Работы реверсачерам полно - переводы игр теже. Да тысячи их, как тут "выгорать". Мне твоё выгорание непонятно совершенно.
Аноним 11/09/21 Суб 11:43:07 2154930318
Аноним 11/09/21 Суб 19:11:26 2155318319
Аноним 13/09/21 Пнд 11:12:42 2156394320
image.png 93Кб, 1102x864
1102x864
image.png 81Кб, 863x816
863x816
Привет. Выполняю первую лабу по ассемблеру и вроде делаю всё пошагово, изменил файл .ASM перекомпилирую, а значение регистров не меняется после изменения переменных.
Я правильно понимаю что есть вот эти варА,Б,С их надо менять тогда регистры и флаги поменяются? Тогда почему у меня не меняется ничего.
Аноним 13/09/21 Пнд 12:33:05 2156445321
>>2156394
Флаги меняются после каждой арифметической команды (не без исключений). Показывай конкретно какой флаг ты ждёшь, в какой точке программы.
Аноним 13/09/21 Пнд 13:03:13 2156466322
Аноним 13/09/21 Пнд 13:37:40 2156474323
>>2156394
А разве имена переменных не нужно поместить в квадратные скобки, чтобы показать, что это адрес, а не непосредственный операнд? Хз как в тасме, но обычно так.
Аноним 13/09/21 Пнд 13:45:11 2156475324
>>2156474
>>2156394
> изменил файл .ASM перекомпилирую, а значение регистров не меняется после изменения переменных.
Да, наверняка так и есть. Хотя странно тогда, что тасм не ругается на mov al, imm16.
Аноним 13/09/21 Пнд 14:42:55 2156499325
>>2156466
Да это понятно, то что в отчёте это просто не завершенная программа
>>2156475
Спасибо
Аноним 13/09/21 Пнд 15:03:03 2156511326
image.png 11Кб, 254x361
254x361
>>2156445
Я понял что не понял что такое флаги, и как вообще правая часть работает... хотя с кодом разобрался
Аноним 13/09/21 Пнд 15:11:43 2156519327
>>2156474
По моему квадратные скобки только в фасме однозначно означают память. Masm, nasm tasm используют их иначе, там ключевые слова (ptr).
Аноним 13/09/21 Пнд 15:13:23 2156522328
image.png 36Кб, 648x413
648x413
image.png 59Кб, 1018x568
1018x568
>>2156519
подскажи плиз а че за 0117 и 0118. Это типа в этих ячейках памяти хранится 100 и 60?
Аноним 13/09/21 Пнд 15:13:50 2156523329
>>2156511
Там от инструкции все зависит, у каждой инструкции в описании сказано что она делает с флагами.
Аноним 13/09/21 Пнд 15:14:48 2156524330
>>2156523
А где эти инструкции взять, ахахах
Аноним 13/09/21 Пнд 15:17:22 2156530331
>>2156522
Видимо да, и как видишь синтаксис разный. Наверное когда указываешь имя переменной, скобки не нужны, а когда адрес этой же самой переменной числом - нужны.
Аноним 13/09/21 Пнд 15:21:23 2156538332
Screenshot20210[...].jpg 216Кб, 720x1560
720x1560
Screenshot20210[...].jpg 233Кб, 720x1560
720x1560
>>2156524
Instruction set reference скачать нужно или гуглить переводы на русском.
Аноним 13/09/21 Пнд 15:22:46 2156539333
Аноним 13/09/21 Пнд 15:32:27 2156544334
>>2156530
> Наверное когда указываешь имя переменной, скобки не нужны, а когда адрес этой же самой переменной числом - нужны.
Вряд ли. А иначе как например загрузить в регистр сам адрес, на который указывает метка?
Аноним 13/09/21 Пнд 16:02:10 2156586335
>>2156544
Через ключевое слово ptr
Аноним 13/09/21 Пнд 21:28:39 2156945336
>>2156544

Вот к слову, а в чем поинт команды LEA если то же самое можно через mov ptr?
Аноним 13/09/21 Пнд 21:54:38 2156981337
>>2156945
Вообще lea считает конечный адрес из любого вида адресации. Например, команда
> lea ax,[ bx + si + 12]
делает то же, что и
> mov ax,bx
> add ax,si
> add ax,12
В 32-битном режиме можно даже так:
> lea eax,[ebx + 4*ebx]
То есть, с помощью lea можно, например, эффективно выполнять некоторые арифметические операции.
Аноним 13/09/21 Пнд 22:00:51 2156992338
>>2156945
Я как-то видел в интернете объяснение в духе
> нуу lea это то же самое что и mov но оно работает по-другому
Я подумал, ну охуенно, решил, что это очень сложно, и забил хуй. Разобрался, по-сути, только недавно.
Аноним 13/09/21 Пнд 22:10:17 2157000339
>>2156981
> конечный адрес
*эффективный адрес, если точнее
Аноним 19/09/21 Вск 23:34:06 2161582340
Тред умер?

проверка
Аноним 20/09/21 Пнд 05:46:14 2161665341
Screenshot304.jpg 367Кб, 799x594
799x594
Перевожу потихоньку, рутинная работа, вопросов пока нет. Хочу весь пролог сделать для начала.
Оцените качество глифов и самого перевода: I don't want to get scolded by mother again
Аноним 20/09/21 Пнд 10:28:47 2161772342
>>2154860
А учебники Пирогова? Или тот еще кал?
Аноним 23/09/21 Чтв 10:02:20 2164660343
Умер тред?
Аноним 23/09/21 Чтв 12:44:47 2164848344
Аноним 23/09/21 Чтв 13:47:57 2164905345
Аноним 23/09/21 Чтв 18:05:17 2165129346
image.png 102Кб, 247x1261
247x1261
На хабре любопытная что крайне удивительно статья о том, как чувак переписал 2048 на асме, потому что прихуел от потребления памяти js|электроно реализацией, а в статье ссылка на еще более годный фак для вкатывающихся в современную байтоеблю:
https://sonictk.github.io/asm_tutorial/
Может закинуть в шапку, если доживете до переката?
Аноним 23/09/21 Чтв 20:12:16 2165239347
image.png 860Кб, 648x873
648x873
>>2154860
>>2161772
А чем книга с ракушкой не угодила? Ирвин вроде её постоянно актуализирует
Аноним 23/09/21 Чтв 23:10:25 2165375348
>>2161772
>>2165239
Почему не угодила? Вполне хорошие книги.
Аноним 24/09/21 Птн 14:02:51 2165725349
>>2165375
Пироговские книги - это тупо пересказ документации для тех, кто не умеет читать по-английски. Писались они тогда, когда издательства тупо не могли найти нормальных авторов. Это шлак. Можно взять Ирвина или документацию от Интела.
Аноним 26/09/21 Вск 11:53:00 2167340350
Смотрю в книгу, вижу фигу
Аноним 28/09/21 Втр 13:44:02 2169019351
Prologue.mp4 12944Кб, 640x360, 00:00:49
640x360
Вместо бампа.
Вжал буквы в диск. Допройду Терминатора и продолжу.
Аноним 30/09/21 Чтв 15:36:27 2170779352
Как вывести число на экран в TASM/MASM? Почему нихуя нет в интернете по ассемблеру, неужели за 60 лет ни один человек не додумался сделать нормальную шпаргалку с примерами базовых действий, арифметических операций, ввода с клавиатуры, вывода в консоль и тд.
Аноним 30/09/21 Чтв 16:27:45 2170835353
>>2170779
В фасме все примеры из коробки работают. Там и под дос и под Винду и Линукс примеры.
Аноним 30/09/21 Чтв 17:28:37 2170868354
>>2170779
>нормальную шпаргалку с примерами базовых действий, арифметических операций, ввода с клавиатуры, вывода в консоль и тд.
В книжке Зубкова - "Assembler для DOS, Windows и UNIX" это всё есть.
Аноним 30/09/21 Чтв 17:30:55 2170870355
>>2170835
у меня в вузе TASM, хули я поделаю.
Аноним 30/09/21 Чтв 17:33:38 2170874356
Аноним 05/10/21 Втр 05:59:01 2174230357
Как проще в иде выделить большой блок памяти и сохранить в файл? Сбивается выделение, неудобно. Может плагин какой есть?
Аноним 05/10/21 Втр 16:40:25 2174624358
>>2154860
Кстати, для понимания быстродействия того, что ты напрограммировал, ещё нужно знать (в большей или меньшей степени) архитектуру целевого процессора. Не знаю много, ли есть смысла заниматься программированием на АСМе, не имея в виду быстродействие.
Кроме того, что касается специфики программирования на АСМе, здесь гораздо более критично понимание/умение алгоритмов и теории кодирования, чем для каких-нибудь ЯВУ.
Аноним 05/10/21 Втр 18:20:58 2174713359
>>2170870
>в вузе
На лекции ходить не пробовал?
Аноним 05/10/21 Втр 21:26:04 2174901360
>>2174624
>Не знаю много, ли есть смысла заниматься программированием на АСМе, не имея в виду быстродействие.
Программирование на асме ничем не обязывает. Порриджи сюда не лезут, кабаны не лезут, деньги сюда не текут. Это джунгли, здесь выживает сильнейший и если он выжил ему заебись именно здесь.
Смотреть на ассемблер с точки зрения "вкачусь и буду грести бабло" не имеет смысла, конечно. Но это и не программирование, это бизнес.
Аноним 06/10/21 Срд 13:55:03 2175549361
>>2174901
>Но это и не программирование, это бизнес.
Толсто
Аноним 06/10/21 Срд 17:56:53 2175762362
Аноним 07/10/21 Чтв 15:03:21 2176758363
Аноним 07/10/21 Чтв 16:48:43 2176859364
Screenshot305.jpg 380Кб, 801x602
801x602
Screenshot306.jpg 375Кб, 799x597
799x597
>>2176758
valkyrie profile
Такой перевод нормально?:
Platina : Eek!
Platina : I... I'm so sorry! Your clothes, are they...?

Надо ещё перевести Your clothes, are they...? Как правильней?

Тут какбы шутки кончились, и я по паре диалоговых окон буду зажимать на диск, до победного конца. Так что не стесняемся.
Аноним 07/10/21 Чтв 18:11:11 2176924365
>>2176859
Ваша одежда, она/это...?
В зависимости от контекста.
Аноним 07/10/21 Чтв 18:28:44 2176936366
>>2176924
Контекст то и непонятен. Там дальше, ее кун ей скажет что это были ее покупатели. И вот непонятно, толи она так сказала изза того что пролила воду, толи изза того что заподозрила чтото.
Аноним 07/10/21 Чтв 18:30:28 2176938367
Пролила ли она воду тоже непонятно) анимации нету
Аноним 07/10/21 Чтв 19:04:20 2176967368
За таким лучше в /fl/
Аноним 07/10/21 Чтв 20:53:33 2177071369
>>2174713
У нас препод по ассемблеру хуевый, там проще самостоятельно заботать.
Аноним 09/10/21 Суб 08:57:13 2177961370
image.png 353Кб, 1920x1080
1920x1080
image.png 42Кб, 1100x246
1100x246
>>2079195 (OP)
Я уже не могу, не пойму в чем проблема-то. Всё расписал в комментариях.
Как тут может быть деление на 0, если для моего типа данных 2байтовых я беру ДХ, который после умножения равен 4 и делю его на 16битный делитель, я так понимаю он число выше берёт то есть ВХ = 4?
Аноним 09/10/21 Суб 08:58:26 2177966371
image.png 316Кб, 1920x1080
1920x1080
Даже переменных не показывает, я хз как тут вообще можно работать.
Аноним 09/10/21 Суб 08:59:23 2177968372
>>2177961
>>2177966
только там в переменных неправильные комменты, это от прошлой лабы
Аноним 09/10/21 Суб 09:17:36 2177978373
Я тут сохраню код никто не против? дома чтобы попробовать тоже самое проделать.
; СПО Л/р 1 (COM)
; Арифметические операции: вычисление D=(A-B)C
; Порядок компиляции программы:
; 1. Ассемблирование: TASM.EXE lab1com.asm
; - в результате создается объектный модуль lab1com.obj
; 2. Компоновка: TLINK.EXE /t lab1com.obj
; - в результате создается COM-файл, готовый к исполнению
;F = A - B
C / D + E
CODESG SEGMENT PARA ; определение сегмента кода
ORG 100H ; стандартное начало COM-програмы
.386 ;
ASSUME CS:CODESG, DS:CODESG, ES:CODESG
MAIN:
; исполнимая часть программы
; вычисление F = A - B * C / D + E
SUB AX,AX ; обнулить регистр АХ
SUB BX,BX;

MOV AX,varB ; записать в AX значение varB 2
MOV BX,varC ; записать в BX значение varC 2
IMUL BX ; АХ умножается на ВХ, 4 сохраняется в DX, а в АХ 0
SUB DX,DX;
SUB AX,AX

SUB BX, BX;
MOV BX, varD ; присвоим значение BХ = 4
IDIV BX; ; Поделим ДХ на BХ - 4:4 = 1, 1 запишется в AX
SUB DX,DX;

MOV BX, varA; ; BX = 6
MOV CX, varC; CX = 2
SUB BX, AX; ; BX = 6-1 = 5

MOV AX, varE; AX= 2
ADD AX,BX; AX = 5+2 = 7

; стандартное окончание программы
MOV AX,4C00h
INT 21h
;------------------------------------------------------------
; определение данных внутри сегмента кода
varA DW 6 ; cлово А (знаковый)
varB DW 2 ; слово В (знаковый)
varC DW 2 ; слово С (знаковый)
varD DW 4 ; слово-результат D (знаковое)
varE DW 2 ;


CODESG ENDS ; конец сегмента кода
END MAIN ; указывает, что исполнимая часть программы
; начинается с метки MAIN
Аноним 09/10/21 Суб 10:09:37 2177995374
>>2177978
Уже вроде было в треде. С квадратными скобками помещается значение переменной, без скобок адрес.
Аноним 09/10/21 Суб 10:12:09 2177998375
>>2177995
А, лол, в этом что ли проблема. Я думал с регистрами запутался.
Аноним 09/10/21 Суб 10:32:37 2178009376
>>2177998
>А, лол, в этом что ли проблема.
Хз. Чё у тебя там нули в регистрах?
Аноним 09/10/21 Суб 14:09:56 2178282377
>>2177978
> ; АХ умножается на ВХ, 4 сохраняется в DX, а в АХ 0
Нет.

> SUB DX,DX;
> SUB AX,AX
> ...
> IDIV BX
Ты делишь ноль на BX. И да, возможно ты запутался со скобками, но это зависит от ассемблера.
Аноним 09/10/21 Суб 20:07:11 2178666378
>>2177961
У тебя же буквально на сайте написано, что в операции деления учавствуют 2 регистра. Старшая часть лежит в dx, младшая в ах.
Ты не можешь поделить на dx, он учавствует в делении. Рекомендую делитель хранить в памяти в качестве переменной.
Также для вычислений тебе нужно знать про команды cbw, cwde и cdq.
Почитай учебник Юрова, там про всё это написано.
Аноним 10/10/21 Вск 11:36:50 2179133379
Аноним 10/10/21 Вск 14:05:32 2179255380
Апостол.mp4 5654Кб, 640x480, 00:02:11
640x480
Собеседование на Reverse engineering 1941 год. Лубянка...
Аноним 10/10/21 Вск 20:13:27 2179666381
>>2179255
> Nachalnik-sempai, eto mne?
> (✿‿)
Аноним 10/10/21 Вск 20:15:37 2179668382
>>2179666
Что-то смайлик обрезался
> (✿
> ‿)
> ‿)
> )
Аноним 10/10/21 Вск 20:17:07 2179669383
>>2179255
> Nachalnik-sempai, eto mne?
> \(^-^)/
Аноним 11/10/21 Пнд 03:56:08 2179922384
Аноним 11/10/21 Пнд 04:19:26 2179923385
Аноним 11/10/21 Пнд 11:02:16 2180050386
image.png 284Кб, 526x354
526x354
Аноним 11/10/21 Пнд 14:33:00 2180247387
>>2179255
Там же нет реверса, он сначала должен был разобрать и собрать замок, а только потом открыть.
Аноним 11/10/21 Пнд 14:36:27 2180251388
>>2180247
Он деобфусцировал защищенное протектором приложение Коньяк.exe
Тебе что мало ?
Аноним 11/10/21 Пнд 20:57:45 2180606389
da-mne-tvoi-klu[...].png 223Кб, 756x444
756x444
>>2180050
Da mne tvoi kluch nachalnik, naher ne nuzhen.
11/10/21 Пнд 21:37:50 2180648390
16339626643570.gif 397Кб, 720x480
720x480
>>2088092
2. Перевыведите уравнение Шрёдингера и все Гилбертовы тензоны полей ЯО-ХМАО за 7 строк
11/10/21 Пнд 21:48:39 2180661391
cabinet035barta[...].jpg 123Кб, 1200x800
1200x800
Зачем нужен этот тред?

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

Количество инфы по теме уже давно перегнало ёмкость памяти человека, и дальше будет только хуже.
Аноним 11/10/21 Пнд 22:04:12 2180686392
>>2079195 (OP)
Хочу поднять ассемблере микросервисное веб приложение, где можно почитать о том, как это сделать на вашем чудо языке?
Аноним 12/10/21 Втр 05:50:17 2180875393
Аноним 12/10/21 Втр 08:04:11 2180885394
0002.jpg 35Кб, 1236x715
1236x715
Аноним 12/10/21 Втр 12:43:19 2181167395
>>2180686
Ассемблер это там где надо все писать с нуля. Вот и пиши, готовых решений нет.
Аноним 12/10/21 Втр 13:41:01 2181217396
>>2180661
>Количество инфы по теме уже давно перегнало ёмкость памяти человека, и дальше будет только хуже.
Ну да... Расскажи мне как работает CD-ROM Playstation 1
Аноним 12/10/21 Втр 14:53:08 2181282397
Аноним 12/10/21 Втр 14:59:50 2181288398
>>2181217

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

Порты управления по адресам с 1F801801h по 1F801803h


Дальше вопросы?
Аноним 12/10/21 Втр 15:37:08 2181329399
>>2181288
DMA нет в твоём посте.
Как мне работать с инфой? Почему на диске 1 файл, а CD-Rom подгружает и там и здесь?
Аноним 12/10/21 Втр 15:46:18 2181339400
>>2181288
>Только может считывать антипиратскую инфу из зоны куда головка обычного привода дотянуться не может, а резак, соответсвенно - не может записать и которую можно изготовить только на заводе отсосони.
Я не знаю точно, но похоже на домыслы.
Аноним 12/10/21 Втр 16:05:53 2181347401
изображение.png 390Кб, 1217x685
1217x685
изображение.png 26Кб, 547x276
547x276
>>2181329

>DMA нет в твоём посте.

Ну так его и в CD контроллере PS1 нет. Все что умеет контроллер - это реквесты "сунь головку сюда" "качни ка мне этот сектор в свой манябуфер" и "сыграй ка мне этот музон" (да, CD Audio там отдельная аппаратная хуитка).

DMA и его канал 3 находится в CPU и к контроллеру CD о котором шел спич не относится.

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

> Я не знаю точно, но похоже на домыслы.

Я уже понял что ты петушок.

> Почему на диске 1 файл, а CD-Rom подгружает и там и здесь?

Потому же почему почему в DOOM 1 файл а монстров и текстур в игре дохуя да еще и музон играет. И диск тоже в разных местах скрипит.

Ну и да, на диске PS1 должно быть как минимум ДЖВА файла и если ты мне сейчас не расскажешь прочему и какие, то я начну тебя обоссывать уже в полную струю, а там может твой пердак и до популярной нынче швабры дойдет.
Аноним 12/10/21 Втр 16:06:13 2181348402
>>2181288
>Порты управления по адресам с 1F801801h по 1F801803h
Короче только это по существу, и чё делать? Даже DMA нет.
Как, что, куда, почему? Где это написанно, покажи?
Аноним 12/10/21 Втр 16:11:52 2181351403
>>2181347
>DMA и его канал 3 находится в CPU и к контроллеру CD о котором шел спич не относится.
Ты так скозал?
Опять одна вода.
Аноним 12/10/21 Втр 16:43:03 2181371404
>>2180661
>Количество инфы по теме уже давно перегнало ёмкость памяти человека, и дальше будет только хуже.
Ну что, признаём обосратушки? Ибо кроме вычитанных 4 портов контроллера нихуя не смог найти(даже DMA).
Аноним 12/10/21 Втр 18:10:12 2181482405
>>2181347
>эти картинки
Если на заборе написано ХУЙ....
Аноним 12/10/21 Втр 18:22:43 2181490406
image.png 522Кб, 500x519
500x519
image.png 72Кб, 650x732
650x732
image.png 107Кб, 1381x734
1381x734
>>2181348
>>2181351
>>2181371

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

Во-вторых ты сейчас ее проглатываешь и подставляешь рот во второй раз.

> Даже DMA нет.

А теперь я достопочтенным джентельменам обьясню, зачем этот >>2181348>>2181351>>2181371>>2181329>>2181217 петушок сейчас будет глотать мочу в третий раз.
Дело в том, что петушок где-то выучил баззворд DMA и краем уха где-то там слышал про то как DMA работает на пекарне, а точнее на устройствах IDE и пришедшим к ним на смену устройствам SATA. В них действительно контроллер имеет всторенный DMA движок который позволяет по инициативе самого IDE устройства писать в оперативу хост машины. Вооружившись и экстраполировав это знание на всю технику петушок решил прийти на макач и, почувствовав себя невьебенно умным, начал высирать псто за пстом.


Только вот петушок не учел, что стандартом IDE из его манямирка мир не ограничивается и устройства могут реально быть устроенными по-иному. Как пример - упомянутый петушком контроллер CD из состава сосноли Sony PlayStation.

Данный контроллер не имеет на борту DMA функционала, характерного для IDE, поскольку архитектурно консоль устроена так что возмождности DMA впендюрены в многоканальный контроллер на борту CPU, с которым работает программист задавая ему команды по обмену данными между различными видами памяти и портами устройств (в противовес имеющемуся на ПК подходу, где DMA вызывается со стороны периферийных устройств).

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

А теперь, петушок будет обязан найти на обоих пиках слово DMA иначе получит швабру в сракотан.

На все 5 минут, время пошло, уеба.
Аноним 12/10/21 Втр 18:39:44 2181516407
>>2181490
соси чмоня. пасты катать. ору с тебя.
Аноним 12/10/21 Втр 18:40:38 2181518408
image.png 346Кб, 974x2607
974x2607
Но все же поговорим про контроллер DMA , который, как я упомянул ранее, является компонентом центрального процессора. Этот контроллер являет собой главную, наверное силу пикселеварни (даже пиксельный GPU стоит поставить на второе место, поскольку, в отличии от CD, работать с GPU без помощи DMA практически не возможно) и по-существу именно благодаря нему разработчики раз за разом находили потанцевал - еще бы, ведь это центральный узел системы, без преувеличения, отвечающий за разруливание данных между всеми кишками пикселеварни от сосни.
Аноним 12/10/21 Втр 18:43:37 2181521409
image.png 90Кб, 299x168
299x168
>>2181516

Так, начинаем засовывать в твой сракотан вторую швабру.



Аноним 12/10/21 Втр 19:03:52 2181558410
>>2181518
Ты мне так и не обьяснил как работает связка контроллер - DMA. IDE приплел зачем то.
Ну да ваш гавпротык(хованский) сидит же, все мысли теперь о швабрах.
12/10/21 Втр 19:07:38 2181568411
#Бег.mp4 667Кб, 270x360, 00:00:15
270x360
>>2181490
Сколько тебе годиков?
Аноним 12/10/21 Втр 19:15:01 2181581412
>>2181558
> обьяснил как работает связка контроллер - DMA

Точно так же как и без связки - пишешь в регистры контроллеру чо ему делать, контроллер высирает то что прочитал в свою маняпамять (у него собственный буфер чтения есть куда он и высирает). С DMA этот процесс попросту автоматизируется и позволяет частично разгрузить такты CPU на копировании этого буфера в основную оперативу..
Аноним 12/10/21 Втр 19:23:52 2181590413
>С DMA этот процесс попросту автоматизируется и позволяет частично разгрузить такты CPU на копировании этого буфера в основную оперативу..
Опять вода на самом интересном месте. Вот я тоже могу сказать - чтобы был дождь, надо просто просить Прометея сильней.
А как это сделать? Где это написано?
Аноним 12/10/21 Втр 19:29:35 2181599414
Аноним 12/10/21 Втр 19:38:31 2181613415
>>2181599
Ты мне ссылки не кидай. DMA PSX я и сам могу вставить в гугл. Ты мне объясняй как это работает,.и описание этого простого механизма. А то по твоим словам ваще ниче делать не надо и все в память само копируется. Вот только куда?
Аноним 12/10/21 Втр 19:49:30 2181631416
image.png 37Кб, 982x206
982x206
image.png 68Кб, 974x433
974x433
>>2181613

> визги обоссыша

Ну кто же виноват в том, что ты мудила слепошарый и читать не умеешь?



Аноним 12/10/21 Втр 19:52:37 2181635417
Мне же надо указать адрес куда будет копироваться буфер контроллера через dma. Как это сделать, если все автоматически? У меня же программа, а не то что там у некоторых - скопировал один сектор хоть куда и радость.
Аноним 12/10/21 Втр 19:56:20 2181642418
image.png 68Кб, 974x433
974x433
>>2181635

Нет, ну ты точно швабры заслуживаешь.
Аноним 12/10/21 Втр 20:03:13 2181647419
>>2181642
Мне нужен полный механизм, от считывания сектора, до попадания данных в память по указанному адресу.
Картинки ты искать умеешь, я понял, найди теперь нужную инфу.
Аноним 12/10/21 Втр 20:04:35 2181649420
Че за фиксация на швабрах? Это в связи с чем?
Аноним 12/10/21 Втр 20:17:46 2181668421
Короче, если ты не критин-хохол(наврятли) , обьясняю. Есть диск, на нем данные, нужно узнать полный механизм как данные с диска попадают в память.
Аноним 12/10/21 Втр 20:28:45 2181691422
>>2181649
>>2181647

>ряяя сделайте мне домашку



Ну уж нет шваброгей, дальше ты как-нибудь сам.

Так и быть, напоследок подскажу: последовательность такая

Sync -> Setloc -> SeekL -> ReadN -> А вот тут ты начинаешь заводить свой DMA.

Каждая из этих команд бросает прерывание - какое описано в документации. Команды пишутся в регистр 1F801801h, параметры для них в регистр 1F801802h. В регистре 1F801803h ты настраиваешь, хочешь или нет получить в пердак прерывание после выполнения команды (бит 5) и должен установить 7 бит в 1 если хочешь получить данные с диска вместо хуя защеку.

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

> Че за фиксация на швабрах? Это в связи с чем?

Я понятия не имею, за чем ты своей дупой швабры ищешь.
>>2181647
Аноним 12/10/21 Втр 20:56:10 2181725423
Аноним 12/10/21 Втр 21:39:02 2181749424
>>2181668
Зависит от файловой системы же. Спроси о конкретной фс.
Аноним 13/10/21 Срд 00:10:30 2181973425
>>2181749
Шваброзависимый сам все рассказать должен был, первым же постом.
Аноним 14/10/21 Чтв 13:49:29 2183372426
Screenshot310.jpg 192Кб, 738x524
738x524
>>2181749
Тут получается такая хрень:
1 Как с авто, это коробка передач, это педаль газа, тормоза сцепление. А как на этом ехать инструкции нет.
2 Функции CD-ROM на С из библиотеки psyq.
И для меня между 1 и 2 большая пропасть. Потому что я хочу наебать psyq, но чтобы наебать я должен знать как он работает на низком уровне, педали есть и что, там ньюансы есть - скорость считывания, свои трики какие-то.
Мне щас это не оч. нужно, но было бы неплохо узнать. Я это не нашёл, на пикрелейтед максимум что я нашёл. Но на практике всё по другому.
Аноним 14/10/21 Чтв 14:31:07 2183424427
Double Dragon -[...].mp4 26634Кб, 960x720, 00:03:28
960x720
Аноним 14/10/21 Чтв 21:16:45 2183867428
Кто-нибудь может объяснить суть double free уязвимости? Я понимаю use after free, но про двойное освобождение даже на эльфийском инфы мало. Непонятно как ломается список чанков что появляется write what where условие?
Аноним 14/10/21 Чтв 22:21:48 2183920429
>>2183867
При определенных ситуациях (ОЧЕНЬ зависит от аллокатора памяти) при двойном освобождении следующая аллокация может вернуть указатель, который уже указывает на какой-то валидный чанк. Результат - у тебя есть 2 указателя на один чанк. Имея возможность читать по вернувшемуся указателю - получаешь примитив чтения, имея возможность писать - портишь данные по указателю со всеми вытекающими. В общем и в целом, double free очень сложно эксплуатировать но возможно, особенно в современных аллокаторах памяти. В конечном итоге всё очень зависит от конкретного состояния программы во время триггера самого примитива double free, от защит, реализованных в аллокаторе памяти, и от банальной удачи.
Аноним 15/10/21 Птн 17:13:47 2184550430
>>2183920
Спасибо большое за ответ! Есть ли где инфа о том, по какому принципу можно понять когда будет производиться аллокация "поверх" другого объекта в различных аллокаторах?
Аноним 15/10/21 Птн 18:07:07 2184602431
>>2184550
Как я уже сказал, это ОЧЕНЬ зависит от реализации аллокатора. Нужно реверсить/читать код аллокатора памяти, дабы понять что произойдёт при двойном освобождении и есть ли вообще в аллокаторе митигации против этой атаки. По этой самой причине, эксплуатация double free - одна из самых сложных если не самая из всех остальных типов уязвимостей на уровне памяти.
Аноним 16/10/21 Суб 13:53:32 2185227432
image.png 316Кб, 477x630
477x630
image.png 393Кб, 477x630
477x630
Люблю NoStarchPress
Аноним 16/10/21 Суб 18:54:33 2185388433
>>2185227
1 пиу, типа робот играет против Масма, типа масм это почеловечески. И это не пропаганда? Специально же уводят от истины.
Аноним 16/10/21 Суб 21:28:17 2185472434
image.png 26Кб, 1145x220
1145x220
Аноним 19/10/21 Втр 12:36:43 2187452435
Швабра-кун, ты тут? У меня есть для тебя задача которую ты не сможешь решить, даже теоретически. И решения ты тоже нигде не найдёшь. Задачка из RE, и в RE было бы неплохо знать её решение.
Аноним 19/10/21 Втр 13:33:22 2187497436
>>2187452
1 Примем за идеал реверсачера который оставляет минимум следов изменения. Минимум изменений - максимум эффективности.
2 Мне нужно изменить заархивированный код, я же его должен сначала разархивировать, потом изменить, написать архиватор и заархивировать. Заархивированный изменённый код получился меньше чем исходный.
Вот и найди мне примерный алгоритм уровня a,b,c, с помощью которого у меня получится заархивировать изменённый код в точно такого же размера архив, как и у исходного кода.
А то программирует мне мышкой тут...

Аноним 19/10/21 Втр 13:47:14 2187499437
Convoy.mp4 12676Кб, 640x360, 00:05:30
640x360
Чё? Жоска? Беги у своих хозяев решение спрашивай.
Аноним 19/10/21 Втр 14:08:28 2187508438
Просто если нихуя не делать, то и не наткнёшься на проблемы для которых нужно решение. И поэтому "кажется" что всё уже решено.
Я вот против этого с самого начала, а на швабра-куна ничего не имею.
Аноним 19/10/21 Втр 15:31:49 2187571439
Вся Украина на ушах). Это же нихуя, пропуск в евросоюз. Тьфу на вас ещё раз.
Аноним 19/10/21 Втр 16:37:08 2187612440
>1 Примем за идеал реверсачера который оставляет минимум следов изменения. Минимум изменений - максимум эффективности.
Можно конечно тут про швабры вспомнить, но что так, то так и будет.
Аноним 19/10/21 Втр 16:41:23 2187618441
unnamed.jpg 29Кб, 512x384
512x384
Вот это загадка. Как хохлу её решить? 80 лет архивировали без проблем, а тут вот вам нате. А кто... а кто это сделал?
Аноним 19/10/21 Втр 17:53:20 2187705442
image.png 178Кб, 1920x760
1920x760
image.png 48Кб, 901x366
901x366
Анонче, я вот начал читать Reverse Engineering для начинающих. И у меня вот проблема. Пытаюсь сделать листинг кода дефолтный хелоу ворлд на ++ в vs 2019. Пишу в консоли cl {Name}.cpp /Fa1.asm, все по методичке. Открываю 1.asm, а там пикрил на 8000 строк. А должно было бы быть как на 2 пикриле. Что делать? Я просто вторую сутку недосыпаю, и возможно разгадка у меня под носом, а я дурак не вижу. Помогите.

Ах и да. У меня вопрос. Если я не изучал ассемблер, но у меня есть опыт в программированиибольше чем хелоу ворлд, однозначно немного на плюсах, но в основном на шарпах. В основном вопрос к ассемблеру. Мне в этой книге все подробно разжуют, или лучше еще вместе с этой книгой, читать книгу по самому ассемблеру? Да и я сам хотел бы писать эксплойты, и читы. Что посоветуете?
Аноним 19/10/21 Втр 18:14:39 2187759443
Аноним 19/10/21 Втр 18:16:57 2187764444
Ждём решения под конец треда от многоуважаемых хохлов, как заархивировать информацию в точно указанный размер.
Аноним 19/10/21 Втр 18:45:14 2187802445
LoseYouselfCover.mp4 12777Кб, 640x360, 00:03:19
640x360
Чё? Не нужно? Я поехавший алкоголик?
А вот теперь представь что делают не поехавшие алкоголики.
Аноним 19/10/21 Втр 18:55:14 2187820446
Нужен любой алгоритм, любого еврея, который бы сжимал данные до точно указанного размера.
Я спать пойду. Можете свой ИИ озадачить, как вариант.
Аноним 19/10/21 Втр 19:23:59 2187864447
>>2187705
Какой блять листенинг, высокоуровневый? В асме ты сам пишешь этот листенинг. Берешь пустой файл, переименовываешь его в .asm и пишешь код. У твоего листенинга ценность околонулевая. Написал код, запустил в отладчике, вот тебе и весь листенинг.
Научись работать с отладчиком. Ollydbg тебе инструмент на всю жизнь.
Аноним 19/10/21 Втр 19:32:48 2187878448
В асме писать код и отлаживать считай тождественно. Написал,, проверил, отладил, написал проверил, отладил... Зато ты точно знаешь что будет делать твой код. Долго, зато работает как полагается.
Аноним 19/10/21 Втр 19:42:49 2187895449
>>2187705
Судя по листингу, там ещё адреса внешних ф-й. тебе же надо найти энтри поинт это обычно main, _main, _start, start, в винде свой формат вроде, там winmain@n, где n - размер аргументов в байтах.
Аноним 19/10/21 Втр 19:59:56 2187929450
Лоха увидел в низкоуровневом. Пиши в ЕСПЧ, в ООН пусть тебе предоставят алгоритм как сжимать до указанного размера.
Алгоритм это последовательность действий.
Аноним 20/10/21 Срд 01:08:11 2188236451
>>2187878
Как же охуенно когда есть отладчик.
Аноним 20/10/21 Срд 14:53:09 2188538452
Спасибо релеватному поиску, гуглится всё что угодно кроме того что нужно. Может кто подсказать, откуда это пошло/взялось: при переключении с русской (скорее всего и другой) раскладки на английскую, дополнительно появляется событие keyUp для Ctrl ?
Eng 2 Ru:
```
KeyDown Alt
KeyDowb Shift
KeyUp Shift
KeyUp Alt
```
Ru 2 Eng:
```
KeyDown Alt
KeyDowb Shift
KeyUp Shift
KeyUp Ctrl
KeyUp Alt
```
Аноним 20/10/21 Срд 15:11:07 2188555453
Скачал исходники FASM для линукса https://flatassembler.net/fasm-1.73.28.tgz

Там в составе идут два бинарника для сборки. Но возникает вопрос: а они как собраны? Где их исходники?
Аноним 21/10/21 Чтв 15:24:43 2189462454
Анонче, я вот сейчас прохожу книгу калашникова, и я так понял там я буду кодить только для DOS. У меня вопрос, я ведь смогу потом без проблем кодить под x64, да и вообще под новые ОС? Есть ли смысл проходить Калашникова?
Аноним 21/10/21 Чтв 19:02:46 2189695455
>>2189462
Калашникова не читал, но принципы что в DOS, что в винде, что в линупсах будут плюс-минус одни и те же, за исключением работы с ОС и железом.
Аноним 22/10/21 Птн 01:51:54 2190010456
>>2079195 (OP)
Подскажите, пожалуйста, книгу по оперционным системам, которая бы описывала в общих чертах их строение как можно сделать на примере разных ос. Чтобы она не было тупо о винде или тупо о линуксе написана.
Аноним 22/10/21 Птн 02:02:58 2190016457
Аноним 22/10/21 Птн 02:04:53 2190018458
16308872710920.mp4 1643Кб, 400x720, 00:00:14
400x720
>>2190016
Мерси, моё увожение
Аноним 22/10/21 Птн 05:41:58 2190063459
Можно ли сделать так, написать прогу которая бы загружалась при включении пк, копировала весь диск С с системой в память и уже из памяти загружала ОС.
Аноним 22/10/21 Птн 07:47:39 2190083460
Аноним 22/10/21 Птн 08:05:57 2190088461
Аноним 22/10/21 Птн 08:39:20 2190099462
Какой самый минималистичный опенсорсный ассемблер под архитектуру x86-64?
Аноним 26/10/21 Втр 17:31:55 2194107463
Алгоритм как сжимать до нужного размера:
1 Разбиваем файл на чанки, присваиваем чанку тег несжатого чанка. Вычисляем новый размер файла с тегами.
2 Сжимаем с проверкой размера.
3 Если размер после сжатия чанка стал меньше нужного, подгоняем последний чанк под нужный размер. Оставшиеся чанки оставляем как есть.
Итог: сжатый файл нужного размера, распаковщик всё распаковывает.
Аноним 26/10/21 Втр 18:38:26 2194216464
Аноним 27/10/21 Срд 08:44:46 2194576465
>>2194216
Где ты его исходники раздобыл?
Аноним 27/10/21 Срд 09:44:53 2194595466
>>2190016
Годная книга, но идёт тяжеловато, почему-то больше 30 страниц в день не осиливаю, толи переведена так толи я такой тупой, но до этого плюсы, си, архитектуру и микроарихитектуру читал там нормально шло.

Но читать интересно.
Аноним 27/10/21 Срд 14:54:55 2194971467
>>2194576
Кстати, а зачем исходники? Программисту на асме нужны исходники, зачем? Это тавтология какая-то.
Аноним 27/10/21 Срд 15:03:38 2194992468
>>2194971
Программист на асме в теории может раскомпилировать любой исполняемый файл в асм вот тебе и исходник, кееееек
Аноним 27/10/21 Срд 15:44:34 2195068469
>>2194971
>>2194992
Исходники это вменяемые метки, макросы, каменты и в целом структура.
Без них это другая область.
Аноним 28/10/21 Чтв 04:36:45 2195702470
>>2194992
>в теории
Чегось? Статическое дизассемблирование по-прежнему алгоритмически неразрешимо.
Аноним 28/10/21 Чтв 11:18:55 2195797471
>>2195702
Я не разбираюсь в этом, у меня крайне поверхностные знания, мог хуйню сказать
Аноним 28/10/21 Чтв 12:57:04 2195937472
Поясните, пожалуйста, каким образом посылаются команды на gpu? С моим нынешним уровнем знаний, я только знаю о том как команды на цп подаются и что этот цп через шину связан с северным мостом, который в свою очередь с видеокартой связан.

Так как команды на gpu подаются? Они напрямую программистом подаются или подаются на cpu и он решает что их нужно на gpu послать?
Аноним 28/10/21 Чтв 13:31:51 2195990473
>>2195937
Хороший вопрос в целом.
>Они напрямую программистом подаются или подаются на cpu и он решает что их нужно на gpu послать?
А этот не очень. Не знаю, но предположу, что команды посылаются на определённые адреса памяти. Конечно программистом, а кем ещё?
Аноним 28/10/21 Чтв 13:34:24 2195992474
ЦП или просто железо это неодушевлённый предмет, потому все эти микросхемы и называют - железо. Они не могут принимать какого-либо решения.
Аноним 28/10/21 Чтв 13:52:03 2196011475
>>2195937
Может поможет, не знаю. Короче на PS1 картинка рисуется слоями, самый первый слой это интерфейс. Если тебе нужно изменить инфу как здесь>>2116307, то ищи первый слой и как там происходит организация текста. Чем мог...

Аноним 28/10/21 Чтв 14:51:08 2196060476
>>2195990
Ну я имел в виду что типа gpu он же другой по микроархитектуре и больше заточен на обработку графики. ну и типа я знаю только что программист имеет доступ к памяти(регистры, озу, жд), а вот про gpu не слышал. Следовательно наверное cpu определяет может по каким-то меткам какие команды лучше делегировать gpu.

Хотя это всё очень долго, особенно если через память делать, а gpu надо очень быстро работать, объём вычислений огромный

>>2196011
Спс, но я знаю как происходит отрисовка(поверхностно) мне интересно как команды на графический процессор подаются который и выполняет отрисовку.

>>2195992
Ну да, они состоят из блоков цифрой логики которая по совокупности конкретных цифровых сигналах на конкретных входах даёт конкретные выходы.
Аноним 28/10/21 Чтв 15:31:55 2196114477
>>2196060
В асме ещё есть скрытый -1 уровень).
>Ну да, они состоят из блоков цифрой логики которая по совокупности конкретных цифровых сигналах на конкретных входах даёт конкретные выходы.
Только разница во времени, обычный cpu тебе даст на выход, допустим за 0,5 секунды, потому что он общего назначения. А видеопроцессор тебе даст на выход мгновенно, потому что он только под это и заточен, другие команды он не сможет выполнить.
А как туда подаются команды я не знаю)
Аноним 28/10/21 Чтв 15:35:58 2196120478
>>2196114
>Только разница во времени, обычный cpu тебе даст на выход, допустим за 0,5 секунды, потому что он общего назначения. А видеопроцессор тебе даст на выход мгновенно, потому что он только под это и заточен, другие команды он не сможет выполнить.
Спасибо это я знаю.

Меня именно интересует как команда в gpu подаётся. У меня пока 2 варианта предполжений:

1. cpu сам определяет какие команды можно делегировать gpu а какие нет, но это долго. Пока это команда на cpu поступит с истоничка ввода, пока cpu обработает, пока она по шине придёт на северный мост, пока она её отправит на видеокарту, это колоссальные потери времени.
2. Команды для графики не попадают на cpu вообще, они с источника ввода подаются на южный мост, южный мост делигирует их на северный, а северный мост отправляет её на видеокарту, а видеокарта после обработки отправляет её на монитор.
Аноним 28/10/21 Чтв 15:53:36 2196133479
>>2196120
> cpu сам определяет какие команды можно делегировать gpu а какие нет, но это долго.
Да как он может чёто делегировать? У него уровень mov ax, bx. Ты может путаешь, считаешь что mov это команда, а ax, bx это переменные? Нет. mov ax, bx это одна команда, mov ax, cx это другая команда. У этих команд есть определённый двоичный код.
У видеокарты может быть совсем другой код и мнемоники. У видеокарты может быть mov ax, ebx и соответствующий двоичный код. mov ax, ebx на процессоре общего назначения недопустима, потому что нарушает логику предназначения этого процессора. А на видеокарте вполне может быть.
Аноним 28/10/21 Чтв 16:08:21 2196148480
mov ax, [bx] это тоже одна команда, она задана на заводе-изготовителе. А mov ax, [bx] это просто мнемоника, тупо чтобы не писать в своей программе двоичный или hex-код.
Аноним 28/10/21 Чтв 16:20:40 2196157481
ЕЩЁ. ВСЕМ ВКАТЫВАЛЬЩИКАМ В ИТ!
Вы должны понимать для чего нужен ISO - Международная организация по стандартизации.
Именно там назначается двоичный код для мнемоники mov ax, [bx]. Там назначается вообще всё, поэтому структурировать знания лучше начинать с этого. Со стандартов.
Россия, например, может назначить другой код для мнемоники mov ax, [bx]. Поэтому написанный в вашей программе mov ax, [bx] не будет работать на российский процессорах.
Аноним 28/10/21 Чтв 16:32:44 2196172482
image.png 4Кб, 462x137
462x137
ебать пацаны я в ахуе, всего за 10 часов научился хеллоу ворлд писать
Аноним 28/10/21 Чтв 16:38:23 2196183483
image.png 2Кб, 328x43
328x43
db - 1 байт.
хеллоу ворлд содержит 11 байтов.

как нахуй оно помещается
Аноним 28/10/21 Чтв 16:46:29 2196200484
>>2196183
Это шорткат для
db 'H'
db 'e'
и т.д.
Аноним 28/10/21 Чтв 16:47:08 2196203485
>>2196133
Ай блядь, вот я ебланище, даааа. Команды это же от архитектуры зависит, понятное дело что у видеокарты какая-нибудь своя архитектура и там другое всё.
Аноним 28/10/21 Чтв 16:47:55 2196204486
>>2196200
а, понял. Я видел че-то про массивы где чтобы не определять по одной цифре все пишется в одной строчке.
Аноним 28/10/21 Чтв 16:48:17 2196206487
>>2196157
>российских процессорах
Гавно с 1 ядром и частотой 400 мега герц для разработки на котором нужно стоит невыездным хуесосом в оборонке на пожизненный срок? Спасибо, откажусь
Аноним 28/10/21 Чтв 16:58:07 2196232488
>>2196203
Да не от архитектуры, а от стандартов. Свою архитектуру может любой дурак сделать, только она не будет совместима с архитектурой которая распространена по всему миру. Это важно!
В этом и суть ISO, суть стандартов.
Аноним 28/10/21 Чтв 17:23:21 2196295489
Да и видеокарта это очень быстрое устройство. В моём понимании это как блок выключателей пикселей, практически нет задержки. Ты отправляешь этому блоку данные, он сразу же отображает картинку, включает нужные пиксели. Понятно что там вычисления тоже есть, но все они сводятся к тому чтобы видяха фунциклировала как простой блок выключателей. Поэтому нет смысла посылать что-то процу, чтобы он подумал и потом делегировал.
Аноним 28/10/21 Чтв 18:20:36 2196370490
>>2196295
Ты даже не представляешь насколько сложные вычисления у видяхи когда она обрабатывает 30-60 кадров в секунду какой-нибудь 3х мерной игры типа гта.
Аноним 28/10/21 Чтв 18:41:21 2196400491
>>2196370
Не представляю. Но чисто логически, туда не могли запихать процессор, который делает mov ax, bx и вот эти все ненужные движения для отображения видео. Там наверно стоит проц со специфическими задачами, который не будет вычислять 3 в кубе(к примеру), а сразу выдаст прописанное значение.
И как бы вопрос о сложности. Сложно по сравнению с чем, с человеком, с cpu, c другим gpu?
Это чисто попиздеть, в специфики видеокарт я никакой.

Аноним 28/10/21 Чтв 18:52:08 2196418492
То есть 3 в кубе. Можно послать процу двоичное три, потом ещё раз двоичное три, и проц выдаст двоичное 9. А на специфическом проце посылаешь двоичное 3, потом ещё раз двоичное 3, и он выдаёт двоичное 27. Одна операция, а вторая посложнее будет, но процам одинаково.
Это -1 уровень асма для меня)
Аноним 28/10/21 Чтв 19:00:45 2196431493
Понимаете меня или нет? Два проца делают одну операцию за один такт, но во втором случае операция сложнее.. для человека.
Поэтому в приставках используются более слабые процы, потому что им не надо вычислять 3 умножить на 3, у них никогда такой задачи не будет. Утрированно всё.
Без обид, написал как есть и похуй, заебало всё.
Аноним 28/10/21 Чтв 21:33:54 2196590494
Що такое? Тред затопило румяными школьниками?
Аноним 28/10/21 Чтв 22:44:33 2196674495
1 северный мост уже встроен в чип
2 у видяхи векторная архитектура
3 а) цп может отправлять данные в коммандый буфер
б) видяха имеет dma и mmu для работы с ram, тогда цп просто шлёт команды
Аноним 28/10/21 Чтв 23:16:54 2196721496
image.png 117Кб, 320x200
320x200
>>2196674
А я помню на CGA надо было ждать обратного хода лучша и только после этого писать в видеопамять, иначе помехи были на экране.
На EGA уже пофиксили это.

А ещё заебаты видеорежим на VGA был
Аноним 28/10/21 Чтв 23:30:27 2196743497
>>2196721
3 а) тоже уже устарел.
Тогда же прямо в видеобуфер писали. Сейчас же нужен драйвер и динамическая либа. Всё это пишут на яву. Даже для загрузчика ассемблер уже не нужен, есть uefi.
Аноним 29/10/21 Птн 08:18:56 2196881498
>>2196721
Это ремейк? Графика вроде хуже была в луме.
Аноним 29/10/21 Птн 19:33:11 2197564499
Парррни
я ебал ваш язык просто пиздец
нихуя непонятно
и работает через жопу
Аноним 30/10/21 Суб 08:44:15 2197856500
Вопрос как нахуй учиться если на любой вопрос по ассемблеру препод отвечает односложно.
Ууу сука.
Я может вас уже заебал но мне похуй я больше не знаю как тут выжить.
INB4: Да я пытался в скобках переменные писать, еще пытался word [varA] и т.д., файл экзе. ТАСМ, i8086
Почему-то когда выполняю программу и вместо переменных использую числовые значения, то регистры работают так как надо, помещаю 2 в ах в регистре 0002, а если через переменную это делаю mov ax, varA то регистр заполнен FFF5.
Аноним 30/10/21 Суб 08:49:30 2197857501
Аноним 30/10/21 Суб 12:09:58 2197943502
>>2197856
> а если через переменную это делаю mov ax, varA то регистр заполнен FFF5.
> еще пытался word [varA]
Так а что получается, если написать mov ax, word [varA]?
Аноним 30/10/21 Суб 12:55:53 2197978503
image.png 147Кб, 1794x877
1794x877
>>2197943
>Так а что получается, если написать mov ax, word [varA]?
по моей логике? или что по факту происходит
EA00 записывается.
Я вот ща думаю может там из-за того что тип данных такой большой dw записывается лишняя инфа
Аноним 30/10/21 Суб 13:01:00 2197983504
image.png 124Кб, 1707x666
1707x666
>>2197943
меняю значения регистр тот же
Аноним 30/10/21 Суб 13:05:36 2197986505
image.png 264Кб, 1844x818
1844x818
>>2197943
Если я прямо вставляю без varB, то записывается корректно всё значит что-то не так с переменными
Аноним 30/10/21 Суб 14:16:58 2198030506
>>2197856
Чё у тебя там dw везде, если у тебя 16 битные регистры. Ты совсем чтоли тупой? 16 бит это word.
1 это бит
ff это байт
ff ff это слово
ffff ffff двойное слово
Аноним 30/10/21 Суб 14:21:07 2198037507
>>2198030
dw - это и есть 2 байта = 16 бит = word, что не так?
по заданию надо пользоваться директивом dw
Аноним 30/10/21 Суб 14:29:40 2198046508
>>2198037
dw это double word, двойное слово 32 бита.
Значит задание у тебя с подъебоном и препод всё правильно сделал, потому что ты нихуя не шаришь. Тебе надо в команде написать указатель на данные в памяти, которые ты туда записываешь своими var'ама.
Аноним 30/10/21 Суб 14:30:54 2198047509
image.png 92Кб, 1411x779
1411x779
>>2198046
>dw это double word
это толстый троллинг?
d - директив w- word
dd - директив d- double word
учи азы
Аноним 30/10/21 Суб 14:36:51 2198050510
>>2198047
Ну а ты можешь посмотреть в TASME как они у тебя записываются в память, дундук.
Аноним 30/10/21 Суб 14:37:59 2198052511
>>2198050
>в TASME
В Турбодегаре тоесть
Аноним 30/10/21 Суб 14:41:13 2198057512
Аноним 30/10/21 Суб 14:52:34 2198067513
>>2198047
Что еще за директив?
Аноним 30/10/21 Суб 14:59:56 2198074514
>>2197978
Почему DS не инициализируешь? Куда он указывает у тебя?

>>2198046
>dw это double word, двойное слово 32 бита.
Нет.
DB, DW,... - Declare Byte, Declare Word,...
RB, RW,... - Reserve Byte, Reserve Word,...
Аноним 30/10/21 Суб 15:08:02 2198080515
>>2198074
>Почему DS не инициализируешь? Куда он указывает у тебя?
А я не знал что его надо инициализировать
и что туда пихать, DATASG ?
Аноним 30/10/21 Суб 15:13:37 2198087516
>>2198080

В синтаксисе TASMа не разбираюсь.
Обычно для ДОС-приложений инициализируют так:

MOV AX, DATASG
MOV DS, AX
Аноним 30/10/21 Суб 15:14:37 2198089517
image.png 267Кб, 1883x860
1883x860
>>2198087
Ебать, ты гений и спаситель, спасибо.
Аноним 30/10/21 Суб 15:56:27 2198126518
>>2198089
Это ты тупиздень, не можешь в банальную логику с отладчиком. Выживальщик бля я ебу
Аноним 30/10/21 Суб 16:25:41 2198162519
>>2198126
ты уже выучил что dw это слово?
Аноним 30/10/21 Суб 16:35:04 2198168520
>>2198162
Да нахуй мне чёто учить? Посмотрел в отладчике чё получилось и всё понял.
Учи, учи, когда крышей двинешься уже и не вспомнишь ничего.
Аноним 30/10/21 Суб 23:10:42 2198576521
>>2198126
>>2198089
Блядь, а че тогда делает ASSUME DS:DATASG? Не шарю за тасм.
Аноним 31/10/21 Вск 09:23:23 2198705522
>>2198576
> Транслятор должен знать заранее, через какие сегментные регистры будут адресоваться ячейки программы, и мы сообщаем ему об этом с помощью оператора assume (assume - предположим). При этом в регистр CS адрес начала сегмента будет загружен автоматически, а регистр DS нам придется инициализировать вручную. Обращение к стеку осуществляется особым образом, и ставить ему в соответствие сегментный регистр (конкретно - сегментный регистр SS) нет необходимости.

ASSUME похоже просто указывает что за DS закреплена секция DATASG.
Аноним 31/10/21 Вск 10:12:26 2198725523
>>2198705
Я же.
Так-то какой-то дибилизм. Зачем нужно указывать ASSUME DS:DATASG? Если DS всё равно надо инициализировать?
Почему у нас такое образование? Зачем нужна эта хрень которая только запутывает? Возможно, если писать простыни кода эта директива окажется нужна, но лучше же научиться пользоваться в тот момент когда она будет нужна. Тогда и заучивать ничего не надо будет, сам поймёшь нужность и автоматом запомнишь.
Как бы образование идёт от теории к практике, но по моему мнению лучше чтобы было наоборот. Это как минимум интереснее чем тупо заучивать.
TASM уже нахрен никому не нужен, но заставляют заучивать эти директивы. Да тут рили свихнуться можно если заучивать директивы от всех ассемблеров, в голове просто не останется места для чего-то ещё. А код то в итоге получается одинаковый.
Аноним 01/11/21 Пнд 16:57:24 2199805524

>>2198047
>>2198067
Какой директив ещё? define
define byte,.word, dobleword

В фасме по крайней мере ещё есть
dq - 8 байт, для 64-битных систем основной тип.
dt - define ten 10 байт.
Аноним 01/11/21 Пнд 17:12:29 2199817525
>>2198037
Верно для x86, на арме 4 байта - это word слово, а 2 байта это half-word пол слова. Остальное называется так же.
Аноним 02/11/21 Втр 13:47:17 2200564526
Допустим мы вводим с клавиатуры число 123,
Записываем в массив, теперь чтобы вывести 2 хочется вписать String[1], но выдаст 23, как можно после String[1] добавить '$' чтобы вывод закончился на двойке?
Аноним 02/11/21 Втр 15:35:46 2200696527
Поясните, плиз, каким образом работают программы типа cheat engine или artmoney? Ты типа выбираешь процесс и они в диапазоне памяти где расположен текст программы этого процесса и его переменные\стеки\хуеки сканируют всё на наличие искомого значения? Я правильно понимаю принцип их работы?
Аноним 02/11/21 Втр 15:46:39 2200706528
>>2200696
Читерить собрался?
Аноним 02/11/21 Втр 15:48:44 2200710529
>>2200706
Нет. Мне просто интересно решил плотно сесть в компьютер сайнс, читал книжки по архитектурам, микроархитектурам, по операционным системам читаю книжку(мне в этом треде) 2 недели назад посоветовали. Потом планирую про компиляторы почитать, про то как антивирусные программы работают.

Нравится низкоуровневая хрень просто.
Аноним 02/11/21 Втр 16:04:08 2200728530
>>2200710
Как я понимаю, они ищут в памяти изменяемые значения. Если значение не меняется, то ничего не найдёт. Например, меняется кол-во патронов, то можно найти. Статичные объекты не найдёшь.
Я никогда не пользовался, отладчик есть.
Лучше научиться пользоваться отладчиком.
Мне он не пригодился ни разу, даже в трудных моментах. Возможно, лучше расскажут те кому он помог.
Аноним 02/11/21 Втр 16:12:00 2200738531
>>2200728
Спасибо, понял. Ну я про отладчик не слышал, думаю про это я почитаю когда до книги про компиляторы дойду
Аноним 02/11/21 Втр 16:23:39 2200745532
>>2200738
>Введение в крэкинг с помощью OllyDbg
в шапке
Лучше с этого начни.
Аноним 02/11/21 Втр 17:07:24 2200773533
>>2200745
Мерси. А ещё вопрос ты писал

>Как я понимаю, они ищут в памяти изменяемые значения
Я так понял в озу у каждого значения есть свойство типа read write и если там write разрешено то такое значение считается изменяемым, а если read only то и трогать его нельзя да и смысла нет особого
Аноним 02/11/21 Втр 18:11:46 2200839534
>>2079195 (OP)
>Книги по ассемблеру:
>"Архитектура компьютера" Э. Таненбаум
Есть ли смысл читать если до неё прочитал книгу супругов Харрисов тоже по архитектуре?
Аноним 02/11/21 Втр 18:23:03 2200849535
>>2200773
Имел ввиду значения которые изменяются. Ну то есть если кол-во патронов изменилось, то значит изменились значения в памяти, вот artmoney и должен их показать. Это примерно, потому что я не пользовался artmoney и читенжином. У меня принцип - нет читерству.
Аноним 02/11/21 Втр 18:28:56 2200854536
>>2200849
Понял, спасибо. Да не читерит никто и вообще в игры не играет, это в образовательных целях всё.
Аноним 02/11/21 Втр 18:39:32 2200864537
>>2200854
В отладчике можно сделать почти также, может даже проще получится. Надо поставить один брейкпойнт перед стрельбой, второй после стрельбы. Сделать дамп памяти на первом брейкпоинте и второй дамп памяти на втором брейкпоинте. Два этих файла с дампами сравнить в hex-редакторе (neo например). Он покажет отличия, отличия которые для видеоотображения значения сразу отсеиваются. С остальными значениями можно ковыряться, ставить поочередно брейкпоинты на изменения этих значений. Постепенно найдешь значение в памяти которое влияет кол-во патронов. Чем лучше шаришь в реверсе и во всяких функциях, памяти и отладчиках, тем быстрее найдешь.
Аноним 02/11/21 Втр 18:46:46 2200870538
>>2200864
Мерси, спабо за подробное объяснение. Тогда после книжки по осям пойду читать про отладчики и компиляторы. А ты сам на каком стеке работаешь если не секрет?
Аноним 02/11/21 Втр 18:56:17 2200876539
>>2200870
Если честно, я даже не знаю что это значит. Мне надо было кучу файлов соединить в один, я знаю что можно это сделать при помощи досовской команды, я не вспомнил и не нашел, написал прогу на асме которая все соединила)
Аноним 02/11/21 Втр 19:00:22 2200881540
>>2200876
Я имел в виду работаешь ты на работе, какие технолгии используешь. Какой ты программист, системный там или что?
Аноним 02/11/21 Втр 19:04:13 2200883541
>>2200881
Это хобби. По сути да, системный программист, сетевой инженер.)
Аноним 02/11/21 Втр 19:08:15 2200887542
>>2200883
Моё увожение. Сетевой инженер это ты чтоли у какого-то провайдера работаешь и более мелким провайдерам интернет подаёшь?
Аноним 02/11/21 Втр 19:12:53 2200892543
В реверсе решает практика. Ты хоть сто книжек прочитай и не увидишь в коде шифрования, а когда сам пару раз расшифруеш, зашифруешь, сразу увидишь.
Это мои наблюдения, а не то чтобы я там спец по шифрованию.
Аноним 02/11/21 Втр 19:13:58 2200893544
>>2200887
Раньше работал, в нулевых.
Аноним 02/11/21 Втр 19:16:34 2200897545
>>2200892
Никто не спорит, но без книжек ты не будешь иметь общего представления что можно делать и вообще как к делу подступиться. Будешь как один кадр с моего предыдущего места работы который все знания получал через телеграмм каналы и статьи из поисковика. Он много лет работал и когда нужно было выполнить допустим 100 похожих команд где просто 1 число увеличилось на 1 он их копировал в редактор текстовый и там менял эти значения, хотя элементарно в консоли скрипт 5 сек написать чтоб он эти команды размножил и применил.
Аноним 02/11/21 Втр 19:20:56 2200902546
>>2200564
1. Для того, что бы вывести число, тебе надо сканкод клавиши, который ты получил при отконвертировать в ascii символ, который ты будешь выводить на экран.
2. Можно вывести напрямую в видеобуфер, можно вывести символ через int 10h, либо через int 21h, в последнем случае, перед выводом символа непосредственно запиши после него $ в область памяти.
Аноним 02/11/21 Втр 19:24:06 2200908547
>>2200902
Мм...
Мне просто надо арабские цифры перевести в римские, я думал можно как-то отдельно массив отфильтровать и поставить 9 условий поставить if str[0] = '1' then str[0] = 'I' ну грубо говоря, хотя херня метод всё равно
Аноним 02/11/21 Втр 19:24:26 2200909548
>>2200897
А его не выпизднули за такой подход к делу?
Аноним 02/11/21 Втр 19:26:20 2200911549
>>2200908
У тебя начнуться проблемы с таким подходом сразу на цифре 4, потому что в памяти это 2 знакоместа - I и V.
Аноним 02/11/21 Втр 19:29:13 2200919550
>>2200909
Нет, он с обязанностями должностными справлялся, а это так маленький ньюансик. Человек пришёл с 0 опыта с компанию и тупо сам в процессе всё изучил через поисковики и телеграмм каналы, лол. Ни одной книжки он никогда не читал, на практике много что освоил, но вот такие пробелы когда он не знал про консольные скрипты и правил много однотипных команд через редактор текста присутствовали.
Аноним 02/11/21 Втр 19:31:45 2200923551
>>2200919
Пиздос, конечно. Не страшно то, что с нулевыми знаниями пришел, хуже что по ютюбу, поисковикам копипастить научился.
Аноним 02/11/21 Втр 19:34:26 2200927552
>>2200923
Ну он такой человек был, нормис, задротскими навыками не обладал, книжки читать он не мог, клинило его, устроился по блату кстати.
Аноним 02/11/21 Втр 19:36:21 2200931553
Аноним 02/11/21 Втр 19:38:55 2200938554
>>2200911
>>2200931
Я вот всё же думаю надо чтобы одна цифра занимала скажем 5 байт, то есть заполнить $
тогда типа если 1й элемент массива = '4$$$$', то можно будет его заменить на 'IV$$$'
Аноним 02/11/21 Втр 19:56:40 2200976555
>>2200938
Как бы сделал не знаю, первое что приходит на ум, как раз соответствие числа индексу в массиве с римскими числами. Да, пожалуй, лучше под римские числа отводить не байт, а 4 байта, но тогда вопрос, как конвертировать тысячи и тому подобное.
Аноним 02/11/21 Втр 20:34:46 2201038556
Ты что во что собрался преобразовывать? Арабские цифры в римские это не ответ. Для преобразования есть команда xlat. Символы они и есть символы, просто изображение чего-то. Это у тебя изображение чегото или что? Надо значения этих символов в памяти преобразовать в другие значения в памяти. До преобразования символов надо пересчитать значение из hex в dec, чтобы в памяти вместо FFh стало 255h, например. Потом это значение посимвольно преобразуешь в ascii-код(или что у тебя) символов I V через xlat.
Аноним 02/11/21 Втр 20:41:15 2201047557
>>2201038
>посимвольно преобразуешь
Поразрядно
Фикс

Это с помошью команды сдвига shr, shl
Аноним 03/11/21 Срд 00:18:08 2201265558
>>2201038
>Надо значения этих символов в памяти преобразовать в другие значения в памяти. До преобразования символов надо пересчитать значение из hex в dec, чтобы в памяти вместо FFh стало 255h, например. Потом это значение посимвольно преобразуешь в ascii-код(или что у тебя) символов I V через xlat.
Окей, попробую завтра тогда. Спасибо.

Аноним 03/11/21 Срд 00:48:02 2201296559
>>2079195 (OP)
Поясните, если ли смысл пытаться обмануть системы антиплагиата? Насколько я понял тупо клонировать такие же символы только с другим кодом не вариант и программа палит. А как она палит? Графически чтоли текст распознаёт?
Аноним 03/11/21 Срд 12:34:18 2201599560
image.png 100Кб, 1463x745
1463x745
хуясе я программист.


Аноним 03/11/21 Срд 13:16:25 2201654561
>>2201038
А если мы с клавы вводим числа 123 те же, в переменную
InBuff label byte
MaxSymb Db 9
RealSymb Db ?
StringT db 9 dup ('$$$$')
То там же хранится его десятичная версия в виде символом 1, 2, 3?
Тогда и переводить из 16-ричной в десятичную не надо? или я не прав
Тогда надо подумать как на разряды поделить.
Аноним 03/11/21 Срд 14:59:51 2201743562
>>2201654
Тогда не надо. Там же в переменной будет ascii 31h 32h 33h. Тогда надо отнимать 30h, иначе надо делать большой массив для xlat чтобы на 31 месте бы код I.
Жопа, xlat наверно мало тут поможет, потому что уже для 2 надо II, а это два байта. Сложно.
Аноним 03/11/21 Срд 15:22:50 2201768563
Ты как здесь хочешь?
https://www.kalkulaator.ee/ru/konverter-rimskix-i-arabskix-chisel

Тогда наверно надо отнять 30h, потом из hex 010203 сделать 123h. Потом както дальше преобразовать в римскую систему счисления, а потом уже xlatом менять на ascii коды M C L X и т.д.
Аноним 03/11/21 Срд 15:25:32 2201773564
>>2201768
Не, мне по заданию надо просто цифры вписать как поток
123
и чтобы из этого получилось -I-II-III-
51 -V-I-
Аноним 03/11/21 Срд 15:33:46 2201785565
image.png 6Кб, 716x98
716x98
В общем у меня ща задача стоит получить отдельно разряды что пользователь ввёл, а вот отдельный разряд я умножу на 6, так как у меня между римскими числами 6 байтов разница
1й разряд (нулевой) = 06 = 0, выведет -I-
1
6 = -II-
Ух бля, уже близко к победе
Аноним 03/11/21 Срд 18:16:40 2202049566
Не вывозит 2х ядерных процессор бюджетного ноутбука открытые 2 вкладки ютубе... не вывозит...
Аноним 03/11/21 Срд 18:43:21 2202089567
Почему mas[si] при si = 12h не выдаёт 12h элемент массива а какой-то мусор, в дебагере всё ок, си = 12h, а если вручную mas[12h] прописать то все правильно выводит.
И если си не может быть в скобках, тогда как туда переменную можно засунуть?
Аноним 04/11/21 Чтв 01:10:02 2202514568
Аноны, недавно более-менее разобрался, как работает Meltdown. Прлучается, имея железо с этой уязвимостью, я могу несанкционированно считывать любую инфу из оперативной памяти. Можно ли, используя эту уязвимость, получить доступ к сегменту кода исполняемой программы и дизассемблировать её? Если прога не большая, она ведь вся в памяти будет?
И если можно, почему так ещё не делают, ведь это огромное упрощение реверса если прога как-то упакована или защищена, ведь её код можно просто спиздить из оперативки.
Аноним 04/11/21 Чтв 16:13:51 2203057569
image.png 3Кб, 416x94
416x94
Сегодняшний день я назвал бы победным.
Совместными усилиями треда я смог выполнить лабораторную работу.
Благодарю анонимов за поддержку.
Аноним 04/11/21 Чтв 16:20:52 2203066570
>>2203057
У тебя между числами два тире, а должно быть одно.
Аноним 04/11/21 Чтв 16:21:37 2203069571
>>2203066
Да похуй)
надеюсь преподу тоже
Аноним 04/11/21 Чтв 20:42:11 2203341572
image.png 326Кб, 575x914
575x914
Помогите найти где спиратить, плиз
За первую часть актуальную тоже буду благодарен
Аноним 05/11/21 Птн 10:54:22 2203612573
Вот что>>2202514 с людьми высококоуровневое программирование делает.

Аноним 05/11/21 Птн 15:55:41 2203770574
>>2203057
Если честно, препод какой-то полупидор с полумерами. Скажи ему что в /pr делают полноценные проги/конверторы и этой хуйнёй не занимаются. Хуйня не будет работать как надо, потому что она хуйня.
Аноним 05/11/21 Птн 20:30:50 2203976575
>>2203612
Из высокоуровневых ЯП ничего не знаю, только Си на троечку, если он считается. Пытаюсь вкатиться в асм потихоньку. Что не так с моим вопросом?
Аноним 05/11/21 Птн 22:47:11 2204080576
>>2202514
>она ведь вся в памяти будет
Она и так вся в памяти в виртуальной
>>2202514
>огромное упрощение реверса
Нет, анпакать можно по частям в процессе исполнения, а если и нет, ты и так можешь все задампать, чем ебаться с дырами спекулятивного исполнения на проце
Аноним 05/11/21 Птн 23:35:23 2204102577
>>2204080
> ты и так можешь все задампать
Могу задампать, если никакой защиты от пиратства нет. А если прогу каким-нибудь вмпротом упаковали или зашифровали, то ведь проще уже распакованный код считать напрямую из памяти. По крайней мере, хотелось бы знать, насколько возможно это реализовать?
Типа, пока все пытаются бороться с программными уязвимостями, ты можешь воспользоваться уязвимостью железа (учитывая наличие оного) и полностью обойти какую-либо защиту.
Аноним 05/11/21 Птн 23:59:25 2204122578
>>2204102
>А если прогу каким-нибудь вмпротом упаковали или зашифровали
Ну так и дампай из памяти после этапа расшифровки, и вообще, пчел, вмпротект - виртуализатор, как в условной яве есть байткод и ява-машина, так и тут своя виртуальная архитектура и команды поверх х86.
В какой бы момент времени и каким бы способом ты не добыл содержимое памяти, на выходе получишь раздутый код, который в декомпилере выглядит как нечитаемая каша такая же, как у тебя в голове, без обид.
Явное практическое применение подобных дыр - воровство данных и обход защитных механизмов для воровства данных. Пользы в обычном дебаге ноль, на своей локальной тачке с помощью подобных дыр нельзя сделать ничего такого, чего бы нельзя было сделать и без них.
Аноним 06/11/21 Суб 01:12:11 2204194579
1636150326370.png 76Кб, 649x933
649x933
>>2204122
Спасибо что разжевал, теперь понятнее намного стало. А насчет каши согласен - надо как-то инфу в голове упорядочить или более углублённо изучить вопрос.
Мб посоветуешь какой-нибудь литературы по архитектурам? Сейчас мои знания на уровне этой книжки, что после неё стоит почитать?
Аноним 06/11/21 Суб 10:06:43 2204334580
image.png 7Кб, 402x145
402x145
>>2203770
Пиздец, не принял защиту, начал низкоуровневую хуйню спрашивать мол 'а что если вписать твою хуйню которую ты выводишь вывести еще раз в конце?' В итоге у меня затирается чутка текст а я не ебу как это исправить.
сука
Я ему объяснил всё что делается в коде, а ему похуй,
Cпрашивает есть ли динамическое выделение памяти в ассемблере
Спрашивал а че значит лейбл, стринг т сколько выделяет байтов после ввода в переменную ( я отвечаю что столько сколько в реалсимб будет храниться, он недовольный урчит)
я хз как это защитить пизда
Аноним 06/11/21 Суб 11:12:17 2204346581
>>2204334
В ассемблере динамического выделения памяти быть не может, так как это свойства операционной системы. Запрашиваешь страницы, потом смотришь, достаточно ли страниц памяти, если нет, запрашиваешь еще. Все это делается через проверку выделенных участков памяти и системные вызовы.
Тема объяснена в общих чертах в труде Programming From Ground Up - https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf
Глава 9
и в видео из нескольких частей:
https://www.youtube.com/watch?v=RSuZhdwvNmA
Аноним 06/11/21 Суб 11:15:03 2204348582
>>2204334
Так про память ссылки дал (тема сложнее, чем кажется на первый взгляд, советую видео посмотреть. Куча нюансов всплывает)
Далее, как следует прокомментируй код, что бы было меньше деталей за которые можно зацепиться.
Полный код программы можешь привести?
Аноним 06/11/21 Суб 11:20:32 2204350583
Аноним 06/11/21 Суб 11:29:02 2204352584
>>2204350
Посмотрел код. Он как существо Франкенштейна, собирался из разных частей?
Выработай единый стиль написания кода. Либо все заглавными буквами, либо все строчными. Работай с целыми регистрами всегда (короче код), а с их частями - там где это необходимо.
Правильно:

>MOV AX,4C00h
>INT 21h

Неправильно:
>MOV DH, 10 ; позиция по вертикали
>MOV DL, 35 ; позиция по горизонтали
>MOV AH, 02H ; установить положение курсора
>INT 10H ; вызов прерывания BIOS 10H
Прокомментируй весь код.
Аноним 06/11/21 Суб 11:53:32 2204364585
>>2204346
Уточню, что бы было понятно. Ассемблер - это инструмент. Сам по себе он ничего делать не может. Выделение памяти - функция операционной системы. Динамическое выделение памяти - работа с данными, размер которых заранее не известен. Достигается путем выделения нужных страниц памяти под данные по мере исчерпания свободного пространства уже выделенных страниц. Реализация - на усмотрения программиста. Дополнительную информацию я тебе привел.
Аноним 06/11/21 Суб 11:55:49 2204365586
>>2204334
>динамическое выделение памяти в ассемблере
Нет такого понятия в АСМе. Ну то есть совсем.
Уточни, что имеется в виду. Если, это понятие в рамках какого-то ЯВУ, ну так и смотреть надо, как это делается в рантайме конкретного ЯВУ.
Аноним 06/11/21 Суб 18:29:34 2204690587
>>2204334
Препод тут сидит чтоли, лол. Ок, завтра напишу конвертор в римские цифры и скину исходник. Сразу красный диплом проси)
Аноним 06/11/21 Суб 18:49:51 2204707588
>>2204334
Так ты и не шаришь же нихуя. Ты пытаешься как-то уйти от задачи, решить её на высоком уровне. А я же тебе говорил, что изображение на экране это просто изображение. Вся суть в вычислениях.
Ты хочешь как-то хитро наебать ассемблер чтобы поменять одни символы на другие. Это так не работает.
Аноним 06/11/21 Суб 19:02:34 2204725589
Friends.mp4 6743Кб, 480x360, 00:02:05
480x360
Суть асма. Джо выживает.
Аноним 06/11/21 Суб 21:15:12 2204836590
Аноним 08/11/21 Пнд 13:26:24 2206673591
>>2204836
Ты исходник привел в божеский вид?
Аноним 08/11/21 Пнд 17:26:39 2206999592
Тяны любят логику, не знаю почему. Но они просто текут от логики. Обычно считают, что сами могут в логику, но не могут.
подсмотренно
Аноним 08/11/21 Пнд 23:06:56 2207313593
>>2206673
Да я хз че там делать, просто комменты добавлю и всё.
Аноним 09/11/21 Втр 01:09:53 2207389594
Как команды попадают на процессор видеокарты?

Видеокарта определённо регистрируется в операционной системе и она имеет свой драйвер.

Выходит всё таки что сперва процессор посылает сигналы на видоекарту через видео драйвер?
Аноним 09/11/21 Втр 04:29:28 2207424595
>>2204364
Динамического выделения памяти не существует. Это просто большое по объему место в физической памяти которое выбрано и зарезерверивано ос для какой то перемнной в какой то программе
Аноним 09/11/21 Втр 08:48:36 2207527596
>>2207424

> Это просто большое по объему место в физической памяти
> которое выбрано и зарезерверивано ос

Зависит от операционной системы. Если мы про linux - это объем неинециализированная память выделенная для программы.
Прочитай что такое стэк (stack и heap). Я ссылку привел на книгу.
Аноним 09/11/21 Втр 08:57:12 2207535597
>>2207389
> Видеокарта определённо регистрируется в операционной
> системе и она имеет свой драйвер.
Да.

> Выходит всё таки что сперва процессор посылает сигналы на
> видоекарту через видео драйвер?
Нет, не выходит. Процессор вообще ничего не знает о наличии или отсутствии ОС. А архитектуре комьютера есть определенные участки памяти, которые отвечают за вывод изображения. Упрощенно - на них посылаются данные, после обработки которых выводится изображение.

http://www.techhelpmanual.com/93-rom_bios_variables.html
Аноним 09/11/21 Втр 08:58:10 2207536598
>>2207313
Там и лишнего можно выкинуть немного.
Аноним 09/11/21 Втр 10:15:49 2207621599
>>2207535
Та, похоже, зря ты распинаешься. Этот щегол упорно не хочет читать ссылки, которые ты кидаешь, а предпочитает упарываться своими маня-гипотезами.
Аноним 09/11/21 Втр 14:44:09 2207811600
>>2207535
>А архитектуре комьютера есть определенные участки памяти
А где они? В процессоре или в biosе?

У меня пробелы да, я читал про архитектуру, как там процессоры собираются из логических элементов, автоматов, триггеров, про асмы, про то как ввод вывод на сторонние устройства идёт, но нихуя не было там про работу видеокарты. Вот не знаю в какой книге этот пробел восполнить ты скинул мне ссыль я глянул вроде как эти адреса описсанные там к биосу относятся
Аноним 09/11/21 Втр 14:47:18 2207819601
>>2207535
Насколько я понял по ссылке там какие-то биос переменные так и что блэт ты хочешь сказать что время работы пк когда пользователь в игру играет сигналы на видеокарту поступают через микросхему биоса или что?
Аноним 09/11/21 Втр 14:57:42 2207831602
>>2207819
>сигналы на видеокарту поступают через микросхему биоса
Ты тупой или да? Микросхема БИОСа - это ПЗУ. Туда программа записана ('прошита'). Как через ПЗУ могут "поступать сигналы" на какую-то там видеокарту?
Аноним 09/11/21 Втр 15:01:16 2207835603
Аноним 09/11/21 Втр 15:02:25 2207837604
>>2207831
Ну а как тогда? Ну блять ну у меня реально пробел в знаниях я не спорю. Я читал книгу по архитектуре да там про процессор был, как он там на кристалле построен из транзисторов, как эти транзисторы в цифровую логику собираются, про ассемблеры, комманды ввода вывода, шины.

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

Щас вот читаю книгу которую мне здесь посоветовали про Операционные системы, Таненбаума, уже 400 страниц прочитал, на 5й главе щас про устройства ввода-вывода. Вот.

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

>>2207835
Мерси, щас посмотрю
Аноним 09/11/21 Втр 15:04:18 2207840605
>>2207811
Видеокарта - это (внезапно) периферийное устройство, а значит обмен информацией с ней является вводом и выводом.
Дальше читай тут https://en.wikipedia.org/wiki/Memory-mapped_I/O
Аноним 09/11/21 Втр 15:06:19 2207841606
>>2207840
>Видеокарта - это (внезапно) периферийное устройство, а значит обмен информацией с ней является вводом и выводом.
Да? А я в этом посте что написал? >>2207389
Раз это устройство ввода вывода значит драйвер в процессоре посылает на её мирококнтроллер определённый ввод
Аноним 09/11/21 Втр 15:11:17 2207846607
>>2207389
>процессор посылает сигналы на видоекарту через видео драйвер?
Что ты имеешь в виду? Видеодрайвер на CPU исполняется.
Аноним 09/11/21 Втр 15:14:30 2207849608
>>2207846
Ну я читаю книгу про операционные системы там написано что переферийное устройство содержит у себя плату на которой есть пзу. Воооот. В ядре операционной системе есть драйвер этого устройства который используя CPU подаёт на этот пзу сигналы и получает от него ответы. Воооотъ.

Да ладно всвё я уже понял читаю щас про видеокарты как этот gpu отличается от cpu чтобы хоть поверхностно представление иметь
Аноним 09/11/21 Втр 15:20:24 2207855609
>>2207837
>делают тест устройств на исправность и передают загрузчику ос управление

BIOS - Базовая Система Ввода-Вывода. Это программа (прошита в ПЗУ, исполняется на CPU) для простых унифицированных операций ввода-вывода. В первую очередь - для этого. А затем ещё и для инициализирующего теста периферии и дальнейшей загрузки ОСи.
Аноним 09/11/21 Втр 15:21:53 2207858610
>>2207855
О спасибо, чётенько объяснил. То есть bios это всего лишь программа который на цпу исполняется.

А я думал что bios микросхема она самостоятельна то есть там и процессор и память внутри и она сама по себе работает.
Аноним 09/11/21 Втр 15:40:30 2207884611
Аноним 09/11/21 Втр 15:51:58 2207895612
>>2207884
Я читал книгу супругов Харисс цифровой дизайн и компьютерная архитектура, там ассемблер кстати на примере архитектуры mips или как-то так она называется показан был в основном. Чё стоит перечитывать архитектуру таненбаума?

Ну я в любом случае операционные системы пока не дочитаю к новой книжке не преступлю
Аноним 09/11/21 Втр 17:50:00 2208040613
Можете помочь с расшифровкой.

На сайте intimcity имена фотографий в анкетах вот такие примерно

733824471.jpg
680239644.jpg
436613119.jpg

Раньше они были просто 01.jpg, 02.jpg и т.д.

Скажите что это за шифр и как его расшифровать, очень надо
Аноним 09/11/21 Втр 17:52:06 2208044614
>>2208040
Можно предположить что это посто глобальнный счётчик всех загруженных фото на сайт, но в одной анкете в которой фото были добавлены в один деньги крайне сильная разница в суммах как здесь вот в примере >>2208040

из чего я делаю вывод что имена шифруются но по какому алгоритму я хз
Аноним 11/11/21 Чтв 17:26:40 2209686615
>>2079195 (OP)
>Денис Юричев: "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
Прямая ссылка - https://yurichev.org/b564f46f1c207b2dbc84a2bd4a41ed4c/
Есть у кого-то ссылка на самую, или почти, обновленную версию его книги?
Аноним 11/11/21 Чтв 23:28:12 2209896616
Если вставить жёсткий диск с уже установленной виндой где есть файловая система и загрузочная gpt таблица в другой компьютер он стартанёт там?

По логике должен, запустится, биос считает gpt таблицу и передсаст управление загрузчику. В чём я обосрался?
Аноним 12/11/21 Птн 06:25:15 2209947617
>>2209896
>В чём я обосрался?
Написал не в тот раздел.
Сделай загрузочную флешку и охуей.
Аноним 12/11/21 Птн 11:14:05 2210031618
Аноним 12/11/21 Птн 11:31:52 2210039619
>>2210031
хуя стильный сайтик
Аноним 12/11/21 Птн 14:08:13 2210236620
>>2079195 (OP)
Мой ноутбук загружается в режиме uefi, даже специальный efi раздел есть. Таблица разделов жёсткого в gpt, тогда почему во всех системных параметрах в ноуте записано что у меня bios версия bios и т.д.?
Аноним 12/11/21 Птн 20:13:03 2210730621
>>2209686
>самую, или почти
Задонь ему бакс на патреон, что ты как нищеброд..
На либгене прошлогодняя лежит
Аноним 13/11/21 Суб 17:01:47 2211337622
Надо короче написать чтобы наш тред не всплывал. Чтобы было тру
Аноним 13/11/21 Суб 17:09:40 2211339623
Бля, это вообще нормально, что в dosbos debugger и в radare2 разный код?
Аноним 13/11/21 Суб 19:21:37 2211456624
>>2211339

Модель проца верно установил в radare2 перед дизассемблированием?
Аноним 14/11/21 Вск 09:49:13 2211816625
>>2211456
Поставил на авто, опредилил как 386
Аноним 14/11/21 Вск 11:48:46 2211855626
image.png 48Кб, 616x481
616x481
Как элементы в процессоре взаимодействуют друг с другом, тут шина какая-то?
Аноним 14/11/21 Вск 12:41:46 2211888627
>>2210730
Да, последняя, которую я находил, была датирована декабрем 2020 года. Ну, кто-то же должен сливать в сеть новые версии его книги, правда? Как-никак больше 300 патронов у него. Я нищеброд, да.
Аноним 14/11/21 Вск 14:21:05 2211973628
>>2211816
А сама прога для каких процессоров написана? Если для ms-dos, то вполне возможно, что выставить стоит 286. Что за программа?
Аноним 14/11/21 Вск 14:22:25 2211976629
Аноним 14/11/21 Вск 14:57:07 2211994630
>>2211973
Игра dark sun 1, в системках написано, что минималка для нее 386
Вообще, я уже гидру попробовал, она как-то лучше справляется или чего-то не так понял, ведь я ньюфаг
Аноним 14/11/21 Вск 15:08:52 2211999631
>>2211994
Ghidra определяет DSUN.EXE как 16bit real mode. Перед дизасмом екзешника не забудь пройтись по нему утилитой unpack, мало ли, а то он запакован.
Аноним 14/11/21 Вск 15:31:28 2212010632
>>2211976
В видео ничего не сказано про работу внутри процессора.
Аноним 14/11/21 Вск 16:08:21 2212031633
>>2211855
Тебе нужно почитать книгу вот эту https://microelectronica.pro/wp-content/uploads/books/digital-design-and-computer-architecture-russian-translation.pdf

Здесь про процессор подробно расписано начиная с самого маленького транзистора. Там он внутри состоит из миллонов транзисторов микроскопических которые образуют логические цифровые элементы И ИЛИ НЕ из них уже защёлки автоматы собираются, короче там просто не раписать, извини.
Аноним 14/11/21 Вск 20:20:55 2212210634
Аноны, вопрос наверное больше архитектурный, но думаю вы тут разбираетесь. Хочу углублённо изучить устройство кеш-памяти (проблему арбитров, многопортовость), можете посоветовать какую-нибудь литературу по этой тематике, желательно для вузов?
Аноним 15/11/21 Пнд 14:54:33 2212947635
Репетиция книготреда новой шапки: https://pastebin.com/zzbMyUS7

Собрал некоторые ASM-рилейтед ссылки. Выборка получилась однобокой, видимо (Разработка IBM PC X86 WIN).
Не охвачены темы: написание драйверов, виртуализация, микроконтроллеры, эмуляторы... (Т.К. не разбираюсь в этом. Не знаю, надо ли это вообще)
Не добавил ничего по инфосеку (пентест, хакинг,...), т.к. есть отдельный тред. Надо ли его упоминать?
Хоть шапка и получилась большая, но я не уверен, что это плохо. Пытался не упустить ничего ценного по теме. А то нынешние зумеры совсем одичали, не знают, что там внизу можно делать. Нет вменяемых подборок и программ даже для университетских курсов.

Давайте ваши советы: что добавить/убрать/заменить/передвинуть. Несите свежие ссылки на актуальный софт/книги/сайты. Критикуйте. Не перекатывайте пока.
Аноним 15/11/21 Пнд 16:34:10 2213054636
1633446010889.png 23Кб, 893x335
893x335
>>2212947
Книжки по архитектуре совсем уж протухшие. Там издания 1975-198х годов. Я бы хотел что-нибудь предложить, да только сам не могу ничего достаточно годного найти по архитектурам.
Аноним 16/11/21 Втр 07:38:35 2213503637

>>2212947
Несколько лет назад, меня тут с говном пермешали за то, что я предложил Абеля добавить в шапку в треде. Мол, говно старое, нахуй тут MS-DOS не нужОн.
Подкину ссылок еще:
Ed Jorgensen - x86-64 Assembly Language Programming with Ubuntu
http://www.egr.unlv.edu/~ed/assembly64.pdf

Ed Jorgensen - MIPS Assembly Language Programming Using QtSpim

http://www.egr.unlv.edu/~ed/MIPStextSMv11.pdf
Аноним 19/11/21 Птн 13:07:39 2216993638
>>2212947
Я, вообще, начинаю сомневаться, нужен ли вдумчивый АСМ-тред на доске вкатывальщиков. Пошло он всё в пинду.
Аноним 19/11/21 Птн 20:49:43 2217422639
Сука завтра ведь защищаться этому преподу а я нихуя не готов опять, я уже и забыл че он меня спрашивал.
похуй.
Аноним 20/11/21 Суб 07:49:47 2217633640
Аноним 20/11/21 Суб 08:13:20 2217638641
Screenshot321.jpg 24Кб, 323x193
323x193
>>2217422
Сделай нормальный конвертер он тебе полюбому поставит зачёт.
Логика такая:
Ты вводишь в консоль 2021, в памяти появляется значение 32,30,32,31.
На выходе надо получить MCMLXXXVI, это в памяти должно быть 4D,43,4D,4C,58,58,58,56,49.
Надо из 32303231 логическим путём получить 4D434D4C5858585649.
Вся логика на пикче, надо просто её написать ассемблеровскими инструкциями.
Но есть ньюанс, нельзя логически получить значение 4D434D4C5858585649 из 32303231. Поэтому надо получить другие значения, потом с помощью xlat преобразовать в 4D434D4C5858585649. А потом просто отобразить.
Лень думать если честно.
Аноним 20/11/21 Суб 12:05:52 2217725642
Ребзь, а как вы арифметику с отриц. числами выполняете?
varB dw -1 это вроде 65535
и если поледить это число на, скажем, 5
то получится 3333h, а это уже хрень какая-то, неясно это положительное число или отрицательно.
Да и с 65535 непонятно какое число взято
Аноним 20/11/21 Суб 23:01:23 2218265643
Читаю тут книжку что мне анон советовал ещё в октябре про операционные системы Таненбаума, ну короче читаю главу про виртуальные системы, автор с таким придыханием рассказывает(2015 года книга) про то какие они пиздатые, какое это будущее, как там всё продумано.

В итоге читал так что аж самому захотелось какую-нибудь 98ю винду на виртуалке накатить. Ну короче 98se тупо не накатвыается потому что гипервизор не может корректно обработать служебные команды операционной системы и тупо куча ошибок и система не ставится, в интернете сказали что только первая редакция может встать, ну встала, да, тоже с ошибками но встала. Ну короче смысла от них, систему то они могут запустить, но она там в таком состоянии выходит что на ней врядли какую программу можно запустить корректно.
Аноним 21/11/21 Вск 00:14:29 2218304644
>>2218265
Обмазайся 86Box, если осилишь.
Аноним 21/11/21 Вск 00:16:45 2218306645
>>2218304
Не спасибо, я немного в другую область стремлюсь, итак дохуя всего учить, не до баловства с виртуалками вообще
Аноним 21/11/21 Вск 01:06:33 2218340646
Что такое фильтр файловой системы?
Аноним 21/11/21 Вск 23:59:52 2219233647
Изучаем masm32, дали задание
3. Напишите инструкцию OR для логического сложения:
ж) содержимого регистра АН с данными по адресу WHEN, с сохранением результата по адресу WHEN.

Как я понимаю, WHEN это название переменной.
Очевидное решение
or [WHEN], ah
не работает, наверно потому что нельзя вернуть значение из памяти по адресу из памяти.
Возможно ли это вообще сделать одной инструкцией?
Аноним 22/11/21 Пнд 01:44:53 2219279648
16197157290050.mp4 14946Кб, 1920x1080, 00:00:34
1920x1080
Аноним 22/11/21 Пнд 16:53:18 2219640649
>>2210236
>Мой ноутбук загружается в режиме uefi, даже специальный efi раздел есть

У тебя GPT совместимый с бивусом. Бутинг начинается с бивуса, который загружает легаси MBR из первого сектора.
Таблица разделов MBR указывает на единственный раздел, который должен охватывать весь диск. А уже на следующих секторах - GUID таблица, которая в общем случае мапит все логические разделы диска
Аноним 22/11/21 Пнд 17:37:02 2219658650
Аноним 25/11/21 Чтв 20:41:16 2222370651
>>2217422
Ну как ты там, анон? Сдал лабу? Или, может, в стройбат уехал уже?
Аноним 25/11/21 Чтв 23:41:40 2222480652
>>2222370
Да блять я не могу ответить ему на тот же вопрос, почему затирается фраза, если в конце программы еще раз вывести че-то.

Еще вторую лабу не сдал арифметику, потому что там при больших значениях залупа происходит.
В общем еще работать и работать
Аноним 26/11/21 Птн 13:37:26 2222757653
>>2222480
Так ты сформулируй нормально вопросы здесь - тебе помогут.
Аноним 26/11/21 Птн 20:18:25 2223004654
Помогите дубинушке с пониманием виртуальной памяти.
Вот у нас есть система где физическое адресное пространство меньше виртуального. Допустим есть процесс (или группа процессов, что наверное не так важно), который занял всю main memory, т.е. количество пейджей адресного пространства процесса равно отношению размера всей памяти к размеру пейджа. Далее процесс запросил аллокацию памяти, соотвественно ось должна выделить еще стока-то пейджей (ведь аллокация происходит пейджами, а не байтиками?)
Значит далее аллокатор сейвит в диск в( swap файл или раздел) один из пейджей, попутно выставляя absense битик, и на его место кидает новый?

И типа таким образом за счет swap пространства мы добились увелечения адресного пространства всей системы?

где я не прав?
Аноним 26/11/21 Птн 20:27:20 2223015655
>>2223004
алсо какой смысл пейджинга и виртуальной памяти в общем, когда физической памяти больше виртуальной? ведь тогда все пейджы могут распологаться в main memory
Аноним 26/11/21 Птн 20:53:36 2223037656
>>2223015
>физической памяти больше виртуальной
Не понял тебя.
Виртуальная память - это буквально механизм трансляции эффективных адресов в физические. Это нужно, чтобы управлять памятью т.е.
свободно перемещать части памяти задачи непрозрачно для исполнения этой задачи и, в конечном итоге, для изоляции задач.

>>2223004
>добились увелечения адресного пространства
Размер адресного пространства фиксирован для конкретного ядра и никак не зависит от общего объёма доступной RAM. В страничный файл, по задумке, выгружаются не востребованные на данный момент страницы.
Аноним 26/11/21 Птн 21:36:30 2223058657
>>2223037
>Не понял

Сорян, я про адресные пространства.
Т.е. к примеру размер входа mmu 32 битика (итого 4 ГБ), а установленной памяти больше 4 ГБ

>Виртуальная память - это буквально механизм трансляции эффективных адресов в физические.

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

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

Я понял концепцию set working. Я не понял, есть ли выигрыш в бОльшем количестве памяти. Попробую задать вопрос покороче и в более глупой форме: может ли set working процесса(-ов) быть суммарно больше, чем размер физической памяти?

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

Это даже страничный файл, а не своп, как мне показалось? Оке.
Аноним 26/11/21 Птн 22:14:30 2223072658
>>2223058
>Эффективный это вроде как оффсет внутри пейджа
Я имел в виду x86-64, конечно. В Long Mode эффективный и линейные адреса совпадают.

>концепцию set working
Working sets, видимо.

>есть ли выигрыш в бОльшем количестве памяти
Не вижу смысла, если часть RAM процессор не сможет адресовать, и она останется недоступной для него. Кроме того, в адресное пространство не только RAM отображается.

Аноним 26/11/21 Птн 23:15:19 2223105659
>>2222480
>почему затирается фраза
перевод строки?
не читал вашу переписку, сори если дичь и мимо
Аноним 27/11/21 Суб 13:10:30 2223332660
>>2223058
И ещё, пейджинг, разумеется, позволяет сделать так, чтобы суммарная выделенная память всех задач (и даже только одной задачи) была больше объёма доступной RAM. Но это не тоже самое, когда RAM больше адресного пространства.
Аноним 27/11/21 Суб 17:31:17 2223579661
>>2223105
Ну вот у меня там в программе выводятся римские числа, если потом, после выполнения всей логики программы, вывести хеллоу ворлд то надпись не выведется, а затрёт предыдущий текст.
И надо объяснить почему не выведится.
Я не понимаю как это происходит изнутри.
>>2204350 код
Аноним 28/11/21 Вск 00:42:29 2223933662
>>2223579
Сори, я может не совсем пони, а зачем у тебя дергается вывод AskClient в самом конце проги (уже после лупа с выводом результатов и отступов)?
Я к тому, что при выводе отступов (пробел + 0Dh,0Ah,'$' это и есть тот перевод каретки о котором говорил) у тебя курсор переносится к началу следующей строки, но в самом последнем выводе этого нет - выходит последующая печать на экран должна засрать предыдущий текст
Аноним 28/11/21 Вск 00:43:27 2223935663
>>2223933
>пробел + 0Dh,0Ah,'$'
Сори, не пробел - пустая строка
Аноним 28/11/21 Вск 01:03:47 2223938664
>>2223933
>а зачем у тебя дергается вывод AskClient в самом конце проги (уже после лупа с выводом результатов и отступов)?
Да это препод попросил в конце еще раз вывести проверить затирается там че или нет.
А если затирается, то почему не полностью, как это всё объясняется

Аноним 28/11/21 Вск 01:28:19 2223946665
>>2223933
>>2223935

А всё забейте. Извините что отнял ваше время.

Ничего там не затирается все как надо работает, я не помню почему когда в первый раз запускал по его просьбе что-то не так выводилось. Может я и препода в заблуждение ввёл, он просто неизмененный код смотрел на доверии спросил по телефону (удалёнка) затирается ли там что или нет, я ответил ему что затирается.
еще раз извините
Аноним 28/11/21 Вск 18:53:42 2224596666
Аноним 29/11/21 Пнд 05:24:16 2224893667
>>2224596
Как и всё за фаерволом, очень долго грузится.
Аноним 29/11/21 Пнд 10:57:39 2224963668
Screen Shot 202[...].png 61Кб, 738x433
738x433
Спрошу у коллективного разума.
Есть некий модуль DXE, исполняется внутри UEFI загрузки.

Модуль считает некий хеш на основе 20 байт серийного номера HDD.

Если я правильно понимаю код, то в 4й снизу строке произойдет оверфлоу PasswordBuffer, потому что byte ptr [rcx+r11] будет явно больше 31, буфер 32 байта.

Коротко - он считает сумму всех байт в s/n жесткого диска, делает с ней XOR 0x1f, и потом пытается поочередно засовывать каждый байт из Diskserial в локацию в PasswordBuffer, выраженную index ^ сумма_байт ^ 0x1f

Что то не сходиться. Потому что код работает.
Логично если бы там было & 0x1f, но там реально ^ 0x1f

Средствами дебага UEFI на живой машине пока не располагаю - пытаюсь понять в теории по коду

Аноним 29/11/21 Пнд 11:28:49 2224991669
>>2224963
Что это, UEFI бутлокер какой-нибудь?
Сори по теме не подскажу, просто любопытно
Аноним 29/11/21 Пнд 20:19:05 2225458670
>>2224991

Это ATAsec модуль в промышленном компе.
Защищает диск ATA паролем
Аноним 30/11/21 Втр 11:57:10 2225871671
>>2224963
>Если я правильно понимаю код, то в 4й снизу строке произойдет оверфлоу PasswordBuffer, потому что byte ptr [rcx+r11] будет явно больше 31, буфер 32 байта.
Я понял что прога просто положит 20 раз байт по адресу PasswordBuffer + поксоренный rcx.
movzx eax, r8w ? там типа в последнем байте серийника сумма какая-то зашифрована? Или зачем она его ксорит?
Аноним 02/12/21 Чтв 10:16:14 2227325672
>>2225871
так RCX указывает offset от начана PasswordBuffer

и он будет > 31 возмжоных позиций.
r8w будет перед movzx eax, r8w будет уже содержать сумму всей байт в серийнике, ну если я конечно правильно понимаю.


Аноним 03/12/21 Птн 17:16:59 2228375673
>>2224963
Последние 5 бит суммы инвертируются, наверное как часть работы хэш-функции.

И ты уверен, что размер хэша - 32 байта?
Максимальное значение серийника fffff fffff fffff fffff, значит максимально возможная сумма - 300 (15*20)
атсаси у тракто

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


Аноним 03/12/21 Птн 22:22:33 2228679674
>>2228375
Размер "хеша" - он же пароль ATAsec 32 байта

Размер серийника 20 байт, то есть макc сумма 20 * 0xff = 0x13ec (5100)

Проблема в том, что ^ 0x1F как бы ни на что не влият при макс возможном значении 5100

Тут логически должно быть & 0x1F, это как раз ограничивало бы это самое значение в нужном нам диапазоне 0...31

Но там реально XOR, а не AND
Вот я и пытаюсь понять что упустил.

Пока приходит в голову только то, что это очередная хитрая уловка, и происходит изменение этого кода во время исполнения, из какого то другого места до его вызова.
Аноним 04/12/21 Суб 12:09:54 2228936675
Бля ору. Препод не принял опять программу потому что в теории в консольке можно ввести другие символы кроме арабских цифр, поэтому надо заменить их внутри строки.

мэх, да нахуй ему сдался я
Аноним 04/12/21 Суб 19:19:41 2229276676
>>2079195 (OP)
Приветствую, работяги. Обьясните, пожалуйста, малиновому про YASM. Какие перспективы? Какие отличия от других ассемблеров? Годнота ли вообще? NASM или YASM?
Аноним 04/12/21 Суб 23:14:47 2229448677
>>2079195 (OP)
Есть где почитать разные статейки по взлому защищенного ПО, про устройство всяких пакеров, про написание анпакеров и т.д и т.п
Аноним 07/12/21 Втр 22:04:53 2232131678
Большая разница между x86-32 и x86-64?
Аноним 08/12/21 Срд 01:31:43 2232211679
>>2232131
Существенная. По крайней мере, 32-bit mode программы не работают в 64-bit mode, и наоборот.
Аноним 09/12/21 Чтв 00:41:15 2232839680
Безымянный-файл[...].jpg 228Кб, 922x2048
922x2048
Анон, поясни плз за микрокод. Я понял только, что это средний слой между ISA и CPU, вроде как связывает отдельные значения с отделными регистрами, входами АЛУ.
Но нахуя оно нужно и где это локализуется - я так и не понял
Аноним 09/12/21 Чтв 05:43:28 2232871681
Помогите отследить движение информации по регистрам.

Короче ломаю одну игру через артмани, нашёл адрес значения, но когда меняю оно изменяется на визуальное и возвращается на исходное. Стал в отладчике отслеживать откуда идёт запись в эту ячейку памяти. И нашёл только 2 строчки, как попасть с верхней строчки на предыдущую операцию с ebx+00000718 мне нужно знать как туда инфа попала. Может есть какой-нибудь поиск? или отслеживание по регистру я хз Там много инструкций очень просто
Аноним 09/12/21 Чтв 05:43:49 2232872682
populatiton.png 5Кб, 233x157
233x157
222.PNG 26Кб, 675x466
675x466
Аноним 09/12/21 Чтв 05:45:08 2232873683
>>2232872
>>2232871
Алсо допишу сразу что игра полностью автономная и выполняется на компе никаких удалённых серверов нет и искомое значение также хранится в оперативке во время выполнения ни из каких файлов она не читается. Мне нужно просто отследить движение инфы по регистрам и операции в ходе которых она получается найти.
Аноним 09/12/21 Чтв 09:37:32 2232933684
>>2232872
поставь breakpoint на 0BDEBС23
посмотри чему соответствует адрес в памяти EBX+0x718
поставь watchdog на его изменение
Аноним 09/12/21 Чтв 11:11:53 2232988685
Привет, как установить или инвертировать определенный бит в числе? Заранее не знаю, какая позиция будет, это всё в цикле происходит. Есть переменная с позицией где установить.

TASM
Аноним 09/12/21 Чтв 13:10:12 2233065686
image.png 105Кб, 1004x412
1004x412
Препод сказал что это не структурная схема для ПЕРСОНАЛЬНОГО компьютера. А для однопроцессорной системы.
Как он это понял?
во-вторых, в чем отличие, мне нужна схема ПК
Аноним 09/12/21 Чтв 14:05:01 2233130687
>>2232933
мерси, попробую отпишусь
Аноним 09/12/21 Чтв 17:47:26 2233298688
>>2233065
Препод еблан какой-то на персональных компьютерах 1 процессор установлен нахуй в 99% случаев. Ну или может быть он ядра в процессоре считает за отдельный процессор я хз или он ещё за процессоры считает всякие микросхемы, процессоры на видеокарте, микросхемы на сетевой карте я хз.

Пиздец вам эти совковые преподы мозги ебут конечно в ваших вузиках и вот вместо того чтобы делом заниматься асмы дрочить ассемблировать, дизассемблировать человек носится пол года доказываяя\пытаясь понять старого маразматика что за какую-то мелочь к которой он приебался
Аноним 09/12/21 Чтв 18:12:48 2233325689
>>2233065
>Препод сказал что это не структурная схема для ПЕРСОНАЛЬНОГО компьютера. А для однопроцессорной системы.
А персональный компьютер это что у нас? никак сервер мультипроцессорная система?
Аноним 09/12/21 Чтв 18:16:51 2233331690
16364664110950.mp4 113Кб, 480x360, 00:00:02
480x360
>>2233065
>Препод сказал что это не структурная схема для ПЕРСОНАЛЬНОГО компьютера. А для однопроцессорной системы.
Аноним 09/12/21 Чтв 18:30:33 2233339691
>>2233065
Ну так в схеме нет ничего ПК-специфичного. Т.е. это может быть и не ПК.
Аноним 09/12/21 Чтв 22:09:39 2233500692
>>2232988
Серьезно, если это тупой вопрос, то простите, но нашел я только как делать инверсия в заранее известных позициях.
Аноним 09/12/21 Чтв 22:36:46 2233527693
>>2232988

BTR r/m64, r64
BTS r/m64, r64
Позицию в r64 загоняешь.
Аноним 10/12/21 Птн 00:05:22 2233627694
>>2232988
в Си нотации

number | (1 << position ) установка

number ^ (1 << position) инверсия

Аноним 10/12/21 Птн 03:22:57 2233672695
>>2213054
Предлагаешь весь раздел удалить?

>>2213503
Добавил.

>>2217633
Какое отношение это имеет к АСМу?

Какие-нибудь ещё предложения по шапке есть?

Аноним 10/12/21 Птн 09:37:02 2233714696
Аноним 10/12/21 Птн 15:43:15 2233973697
>>2233672
>Какое отношение это имеет к АСМу?
Потому что АСМ это отражение мышления. У высокоуровневых такого нет, у них отражение мышления разработчика языка, но не программиста. Все типа ищут решение во вне, а надо искать решение в себе. И для этого надо уметь правильно рассуждать.
По желанию.
Аноним 11/12/21 Суб 06:16:30 2234682698
Ещё одна безумная идея. Есть какая-нибудь прога, типа Автокада, в которой можно делать проекты-конструкторы из логических элементов? Вроде простенького контроллера или калькулятора.
Может тоже в шапку?
Аноним 11/12/21 Суб 06:18:08 2234683699
Для самых маленьких)
Аноним 11/12/21 Суб 07:44:42 2234697700
>>2229448
exelab, если он жив еще
Аноним 11/12/21 Суб 07:45:44 2234698701
>>2229276
А что делать-то хочешь? В сущности yasm переписанный nasm под BSD лицензией.
Аноним 11/12/21 Суб 07:52:33 2234699702
Аноним 11/12/21 Суб 08:37:48 2234704703
>>2234682

Конечно есть.
Xilinx Vivado - можешь бесплатно скачать
Аноним 11/12/21 Суб 09:42:51 2234716704
Аноним 11/12/21 Суб 10:22:50 2234726705
>>2234699
Да, короче, я ему сделал джампом, сравнивается аски код если меньше или больше чисел то джамп.
Он мне сказал типа надо чтобы символы оставались а заменялись только числа.
Как можно это сделать когда у меня римское число может хранить 6 байт? '-VIII-' хотел сначала xlatb, но он только для 1байтовых.
То есть fv123 в "fv-I--II--III-"
https://pastebin.com/D6bqXisg
Аноним 12/12/21 Вск 00:45:40 2235447706
а я короче придумал. сделаю метку output, которая просто выведет этот символ если он не подходит по границе 31-39
Аноним 13/12/21 Пнд 20:57:24 2236973707
>>2212947
Предполагаю удалить раздел по ретрокомьютингу - слишком обширная тема для этой шапки. Как думаете?
Аноним 14/12/21 Втр 03:35:49 2237152708
origin.jpg 12Кб, 216x290
216x290
zgmihedkedohpsz[...].jpeg 166Кб, 1200x630
1200x630
AndrewTanenbaum2.png 192Кб, 297x446
297x446
Великие люди, по их книгам всё изучаю.
Денис Ритчи
Бьёрн Страуструп
Эндрю Таненбаум.
Аноним 15/12/21 Срд 04:49:30 2237947709
>>2079195 (OP)
Посоветуйте книгу, пожалуйста, по ассемблеру(на английском) где разбираются подробно все эти команды регистрцы и т.д.

Я хотел Э. Таненбаума, но его книга из шапки архитектура пк, там много уделено внимания микроархитектуре, логическим винтелям и всяким транзисторам, резисторам. Хотелось бы онли команды, потому что про винтили и микроархитектуру я уже читал.

И ещё вопрос а что щас актуальнее учить x86_64 или x86_32 сильно они синатсически отличаются?
Аноним 15/12/21 Срд 11:31:20 2238066710
image.png 607Кб, 2550x183
2550x183
Аноним 15/12/21 Срд 11:32:24 2238069711
>>2238066
>разбираются подробно все эти команды регистрцы и т.д.
В догонку, справочники от Intel|Amd
Аноним 15/12/21 Срд 14:24:03 2238220712
>>2238066
>subscripiton model
У них там щас новый тренд на всё, включая автомобили вводить подписку. Даже тойотаа вскоре планирует запустить тачки по подписке: ты покупаешь машину и платишь каждый месяц сколько-то бабок, если перестаёшь платить ключ блокируется и машиной ты пользоваться не можешь, нет подписки.

Спасибо, за книгу.
Аноним 15/12/21 Срд 19:53:31 2238524713
В никсовских файловых системах используются не смежная запись данных, в отличии от фат или нтфс. Понятное дело, почему это свойство освобождает первые фс от скорой надобности в дефрагментации. Но я так нигде и не нашёл ответа на вопрос, можно ли выполнять дефраг в общем случае (типа троллейбус из хлеба) ?
Причина вопроса: нужно читать некоторые данные из определенного файла при бутинге, а я не пойму, можно ли смело читать прямо через ай-нод (заранее прописанный в МБР), или желательно полное имя файла, так как ай-нод в ходе других манипуляций с ФС может быть перезаписан?

>>2237152
Таненбаум конечно охуенен, если оценивать по охватываемому материалу, но подчас слишком много отступлений. Ну вот зачем студентоте знать, сколько стоил юнит такой-то памяти в конце 70-х.?
Аноним 15/12/21 Срд 22:09:24 2238606714
>>2238524
Лучше Таненбаума книг я ещё не читал, по его книгам больше всего инфы получил. Если ты стремишься в системное программирование то курс Эндрю Таненбаума обязателен ящитаю.
Аноним 16/12/21 Чтв 08:12:21 2238802715
Из книжек про реверсинг рекомендую "Дневник охотника за ошибками"
Она в PDF скачивается, если поискать.
Аноним 18/12/21 Суб 06:57:58 2240514716
Screenshot325.jpg 6Кб, 175x51
175x51
Вчера племяшке сделал домашку на паскале, в одном задании нужна была сумма двузначных чисел кратных 6. И я написал For x:=10 to 99 do
Как называется эта болезнь? Как её лечить? Постоянно проверяю в дебагере эту хуйню.
Аноним 18/12/21 Суб 21:05:00 2241317717
image.png 169Кб, 552x1035
552x1035
Байтаны, багтрак уже пару лет как разложился на плесень и липовый мед, где можно мониторить годноту помимо очевидных CVE|MITRE|NVD?
Аноним 19/12/21 Вск 03:28:32 2241526718
Аноним 25/12/21 Суб 01:01:08 2247287719
>>2079195 (OP)
Где глянуть про гидровский декомпилятор?
Какие архитектуры есть?
гонит в c++?

Сколько ресурсов компа надо чтобы пользоваться гидрой?
Как уберечься от зондов?
Аноним 18/01/22 Втр 12:38:48 2268777720
Аноним 22/02/22 Втр 01:02:48 2303945721
>>2268777
Аноны, а реально найти себе репетитора за вменяемые деньги который бы провёл мимо подводных камней?
учусь в местной шараге, вроде бы учат целый семестр всякой лаже типа mov, cmp и проч... но нихуя не понятно(
Аноним 03/05/22 Втр 14:18:22 2349309722
>>2234697
Оригинальный мертв, живу только клон.Ну и за статьями на васм.
Аноним 03/05/22 Втр 14:19:48 2349314723
>>2247287
в исходниках, так все что в комплекте с хорошими комментами.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов