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


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
504 40 191

ASM & Reverse engineering №8 /asm/ Аноним # OP 25/05/19 Суб 12:50:09 14062131
15533968268660.png (1Кб, 250x200)
250x200
15533968268661.png (25Кб, 799x820)
799x820
15533968268672.png (10Кб, 718x274)
718x274
15533968268673.png (3Кб, 643x337)
643x337
В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).

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

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

Книги по RE:
beginners.re - "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
Чтобы не палить свой адрес почты, вот прямая ссылка https://beginners.re/f572d396fae9206628714fb2ce00f72e94f2258f/
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:
Дизассемблеры:
0) IDA Pro 7.2 когда подберут пароль к архиву
1) IDA Pro 7.0.torrent (x64 only, для XP нужно патчить PE + вылеты)
2) IDA Pro 6.8.torrent
3) IDA Pro 5.0 - бесплатная версия для некоммерческого использования
4) Radare 2 - наконец прикрутили гуй, но по прежнему нужна только клиническим, не умеющим в скачивания торрентов, или пользователям альтернативных ОС
5) Ghidra для любителей анальных зондов от АНБ
6) Остальное

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

Книги по ассемблеру:
"Архитектура компьютера" Э. Таненбаум
С.В. Зубков: Assembler. Язык неограниченных возможностей.

Сайты по ассемблеру:
Замена почившему wasm.ru- https://wasm.in/ , архив старого сайта https://rutracker.org/forum/viewtopic.php?t=407571
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

disassembler.io Дизассемблер онлайн

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

Предыдущие
№6 https://arhivach.ng/thread/415252/
№7 https://arhivach.ng/thread/437556/
Аноним 25/05/19 Суб 13:31:28 14062222
Почему декомпилятор из асм в Си hex-rays до сих пор не отреверсили и не внедрили у себя ребята из radare2 (r2dec)? Это слишком сложно или слишком нинужно?
Вообще "профессиональные реверсеры" этим пользуются ли? Читал, что он иногда некорректно работает.
Аноним 25/05/19 Суб 13:53:44 14062353
Аноним 25/05/19 Суб 14:18:07 14062504
>>1406222
Потому что не хотят садится на бутылку.
Аноним 25/05/19 Суб 14:32:36 14062595
>>1406222
Пользуются конечно, глупый вопрос. Каким надо быть мазохистом чтобы в статике простыни ассемблерного листинга рассматривать?
Аноним 25/05/19 Суб 17:23:27 14063186
>>1406213 (OP)
№8 https://arhivach.ng/thread/455487/

> Ghidra для любителей анальных зондов
Нет там никаких зондов, бесплатная и вполне применима для чего-то серьезного (в отличие от радара).

>>1406222
> hex-rays до сих пор не отреверсил
Потому что он говно. Меньшее говно, чем другие, но все же никому не хочется в этом копаться. Он, как и вся IDA, состоит из хаков. Проще с нуля написать (нет).

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

>>1406259
> Каким надо быть мазохистом чтобы в статике простыни ассемблерного листинга рассматривать?
Жили и до иксрэйсов, и неплохо жили. И сейчас есть куча архитектур, где никаких иксрэйсов нет и никогда не будет, а реверсить как-то нужно.
Аноним 25/05/19 Суб 18:39:35 14063477
>>1406318
>Нет там никаких зондов
Кроме случая, когда она открывала порт наружу для отладки...
Аноним 25/05/19 Суб 19:10:31 14063648
>>1406347
> когда она открывала порт наружу для отладки
Как будто это единственное в мире приложение на Java, в котором используются отладочные возможности Java. Как будто тебя на машине нет файрвола, а между тобой и интернетом нет роутера. Может быть, и ида, которая ищет своих друзей в твоей локалке, тоже тебя смущает?
Аноним 25/05/19 Суб 21:39:24 14064509
kombo-serrated.jpg (56Кб, 640x438)
640x438
Научите АСУ за 10 минут, плизки.
Аноним 25/05/19 Суб 22:03:37 140645810
>>1406450
бамп, за 24 часа тогда хотя бы
Аноним 25/05/19 Суб 22:29:00 140646511
Аноны, как обнаружить inline hook в рантайме? Следовать за jmp'ами и смотреть где они находятся?
Аноним 25/05/19 Суб 22:29:21 140646612
Аноним 25/05/19 Суб 22:36:18 140646813
>>1406465
Смотреть начало функций, очевидно же.
Аноним 25/05/19 Суб 23:52:51 140648614
>>1406468
Не все с начала сплайсят. Тот же пролог стандартный нет никакой проблемы пропустить даже без полноценного дизасма, достаточно дизасма длин.

>>1406465
> Аноны, как обнаружить inline hook в рантайме?
Прочитать секцию кода с диска и сравнить, например. Она обычно ридонли, RWE сейчас не в почете.
Аноним 26/05/19 Вск 02:21:54 140652515
>>1406468
Посмотрел. Что дальше?

>>1406486
В рантайме говорю же. Нет на диске ничего.
Аноним 26/05/19 Вск 02:27:23 140652716
>>1406486
>RWE сейчас не в почете
Почему?
Аноним 26/05/19 Вск 03:50:54 140653317
>>1406525
>Посмотрел. Что дальше?
Дальше через LDE смотришь, а не джамп ли за границу секции это?
Аноним 26/05/19 Вск 03:51:25 140653418
>>1406527
Любой антивирь орать начнет даже без эвристики.
Аноним 26/05/19 Вск 20:43:46 140700619
sakurako.png (274Кб, 512x512)
512x512
i.PNG (26Кб, 592x316)
592x316
>>1406213 (OP)
>Ghidra для любителей анальных зондов от АНБ
Это вы про дебаг гидры? Порт же закрыть можно. А в новых версиях дебаг по дефолту выключен. В версиях 9.0.2 и 9.0.4 точно.
C каких пор реверсеры боятся зондов?
Аноним 26/05/19 Вск 21:02:51 140701620
Где можно почитать про макрос data import в фасме?
Как он устроен?
Аноним 26/05/19 Вск 21:28:30 140703221
>>1407016
> про макрос data import
data - не макрос, а директива, она пишет начало и размер блока data в поля IMAGE_NT_HEADERS.OptionalHeader.DataDirectory, import/export/fixups преобразуется в соответствующий индекс директории, но индексы можно указывать и сразу числом.
А вот чтобы понять, как работают макросы library и import, читай в fasm.pdf про forward и common (хотя бы), ну и начать в любом случае нужно с
https://docs.microsoft.com/en-us/windows/desktop/debug/pe-format
Аноним 26/05/19 Вск 21:36:40 140703922
>>1407032
>ну и начать в любом случае нужно с
>https://docs.microsoft.com/en-us/windows/desktop/debug/pe-format

Я знаю. Сейчас я собираю свой минимальный PE-имидж по байтам и параллельно пишу лоадер для него. Но в FASM оказалось много неизвестного для меня.
Здесь есть удобный аналог assume edi:IMAGE_DOS_HEADER? Или как его накостылировать?
Аноним 26/05/19 Вск 23:01:43 140708623
>>1407039
Нет, макрос assume как бы есть, но работает хуево. Можно еще virtual at edi
dosheader IMAGE_DOS_HEADER
end virtual, но оно глобально и неотменяемо. В целом в фасме принято делать явно mov eax,[edi+IMAGE_DOS_HEADER.e_lfanew]. Больше писанины, зато все сразу понятно.
Аноним 27/05/19 Пнд 19:12:42 140753524
32 бит винда ВСЕ? Есть ли смысл в 2019 году разрабатывать wow64 приложение? По статистике стима < 10% пользователей сидят на 32битной винде.
Аноним 27/05/19 Пнд 19:34:56 140754225
>>1407535
16 бит всё. А 32 ещё работают.
Хотя в век современных электронов 2 (4) ГБ н"серьёзному" приложению (например пасьянс) не хватает, так что можно смело переходить на 64 бита.
АЛСО, для асма не актуально.
Аноним 28/05/19 Втр 01:01:24 140769726
15554108716640.jpg (67Кб, 600x582)
600x582
В прошлом треде я просил посоветовать кроссплатформенный ассемблер (чтобы один код работал везде), мне посоветовали:
nasm/fasm/gas

1) Правильно ли меня поняли насчёт кроссплатформенности?

2) Какой конкретно диалект АСМа выбрать?
Аноним 28/05/19 Втр 02:06:04 140771927
>>1407697
В общем я тут почитал и пришёл к выводу, что GAS не нужен.

И выбирать стоит между NASMом и FASMом.

Первый устарел и больше кода писать, но не знаю, как у второго с кроссплатформенностью.
Аноним 28/05/19 Втр 02:15:43 140772228
>>1407719
Так, пришёл к выводу, что надо брать FASM, потому что он новее.

Но не знаю, как у него с производительностью относительно NASMа, видимо, хуёвей.
Аноним 28/05/19 Втр 03:57:32 140774729
images.jpg (6Кб, 259x194)
259x194
Покопался я тут в "Ассемблерах" для GPU, там полный зоопарк.

Короче, если хочется что-то универсальное, тогда придётся брать фреймворки OpenCL, OpenGL итп. Естественно, это всё высокоуровневая хренотень.

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

Видимо, всем просто по хуй.


А посему и смысла использовать ЦП-Ассемблеры нет в игрушках, как и в sci и Big Data. Всё равно эти фреймворки срежут производительность до своего уровня.

Лучше всё хуярить на C/C++.


А Ассемблер только для ОС и драйверов, ещё встраиваемые.
Вот и всё.
Аноним 28/05/19 Втр 11:43:21 140783830
>>1407747
Ты прав, АСМ в общем смысле давно мёртв.
Аноним 28/05/19 Втр 13:00:11 140787031
>>1407747
>Лучше всё хуярить на C/C++.
Нет, лучше хуярить на питоне/ноде, а критические участки на C/C++
Аноним 28/05/19 Втр 14:04:33 140792232
spacetunnel.jpg (677Кб, 1920x1080)
1920x1080
>>1407870
Жирдяй, Питон до 100 раз медленней С, а местами всё ещё хуёвей. Node/JS пошустрее (в 2-3 раза), но всё равно говно.

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

Говорят, её скорость приближается к С и C++ (в 2-3 раза медленней всего). На деле фуфло это всё. Она в 10 и более раз медленней С по тестам итд.

А медленней Питона из мейнстримных ЯП нет вообще.
Аноним 28/05/19 Втр 14:15:58 140793133
>>1407922
>А медленней Питона из мейнстримных ЯП нет вообще.
руби?
Аноним 28/05/19 Втр 15:35:45 140798834
>>1407931
Блд, сказали же, Питон - самый медленный, миллион тестов в сети есть и самых разных.

Питон 4х версий будет уже просто сосать, он станет неприменим для серьёзных проектов. Будут в учебных целях его дрочить, как когда-то ТурбоПаскаль дрочили, чисто, чтобы научиться программировать на базовом уровне, понять основные принципы итд.

А большинство проектов перекатится на Нод/ЖС. Особенно всё, что веб. Питон к 5й версии в вебе и вовсе сдохнет. (Раби ещё подержится.)
К 6й станет устаревшим языком, который только в школках и будут проходить вместо Бейсика и Паскаля, но основное внимание будет уделяться JS.
Потом Питон выкинут и из школ.

К 7й версии Питон станет историей.

Так что я советую вам с этого питоноговна уже сегодня слезть. Учите нормальные ЯП, C++ тот же, или хотя бы ненормальные, но востребованные вроде JS.
Аноним 28/05/19 Втр 16:31:45 140804435
Ребята, а какой компилятор или утилита умеет автоматом перехуяривать код АСМа под разные процы (и желательно API ОС автоматом перехуяривать)?
Аноним 28/05/19 Втр 16:32:35 140804536
>>1408044
Самый обычный компилятор языка С
Аноним 28/05/19 Втр 16:47:33 140806037
>>1408045
И что gcc ошибки не ебашит так никогда?
Аноним 28/05/19 Втр 16:49:24 140806138
Аноним 28/05/19 Втр 16:51:00 140806239
>>1408061
Наполовину, милый школьник.
Аноним 28/05/19 Втр 17:02:19 140806840
>>1408062
пизда, вали из нашего треда обратно в общий, так и знал, что это ты тут трольнул, продолжая гнуть свою глупую линию, дохуя перегоняльщиков кода, они тебе только уникальную специфику проца не смогут сделать, а стандартный код сделают.
Аноним 28/05/19 Втр 17:08:09 140807141
изображение.png (383Кб, 540x540)
540x540
>>1408068
>КУДАХ БАБАХ КУКАРЕКУ
Разрывом фантазирующего школьника удовлетворен.
Аноним 28/05/19 Втр 17:21:35 140807842
Мне кажется пора в /d писать репорт на бан этого тролля. Считай вайпает нам уже второй тред.
Аноним 28/05/19 Втр 17:29:54 140808543
>>1408078
Ты только не плачь, у меня аллергия на детские слезы.
Аноним 28/05/19 Втр 23:53:45 140834244
А что в АСМе нельзя сколько угодно переменных создавать? Хуясе бред.
Аноним 29/05/19 Срд 00:38:23 140836145
Аноним 29/05/19 Срд 00:40:48 140836446
Аноним 29/05/19 Срд 00:44:49 140836847
Аноним 29/05/19 Срд 00:45:43 140837048
>>1408368
Ну ты вообще садист, за что ты так со мной.
Аноним 29/05/19 Срд 00:46:31 140837149
>>1408370
Ну может думать научишься.
Аноним 29/05/19 Срд 00:49:04 140837450
Аноним 29/05/19 Срд 11:36:00 140858351
А что означает двойное использование регистров?
Ну короче, зачем две скобочки?
mov [BX][SI], AL
Почему нельзя просто [BX]?
Аноним 29/05/19 Срд 12:38:58 140862052
>>1408583
>mov [BX][SI], AL
То же самое что и MOV [BX+SI], AL
Базовая индексная адресация.
BX - база
SI - индекс
Аноним 29/05/19 Срд 16:10:16 140874553
>>1408583
> Ну короче, зачем
Основная причина - попытка приблизить синтаксис к индексации массивов в сишке.
Аноним 30/05/19 Чтв 08:57:30 140903254
Как думаете, печему не взлетел IA64? Какие, вообще, есть перспективы у новых наборов инструкций? Я правильно понимаю, что, в конечном итоге, будущее за RISC?
Аноним 30/05/19 Чтв 13:45:08 140915755
>>1409032
> печему не взлетел IA64
Очень сложные компиляторы или отсутствие преимуществ, если компилятор хуевый.

> Какие, вообще, есть перспективы у новых наборов инструкций?
Рано или поздно мы к VLIW придем (вернемся).
Аноним 30/05/19 Чтв 15:41:37 140925156
>>1409032
Ты и сейчас на риск сидишь, долбоеб.
Аноним 30/05/19 Чтв 15:50:53 140925957
>>1409251
Кто не сидит на RISC, тот не любит шампанское.
Аноним 30/05/19 Чтв 19:58:28 140942258
>>1409259
Сижу на бутылке шампанского, на риске сидят ваши мамки.
Аноним 31/05/19 Птн 00:45:37 140960259
Как в ядре винда свой обработчик исключений зарегистрировать?
Аноним 31/05/19 Птн 03:12:38 140964360
>>1409602
Без задней мысли берешь и регистрируешь.
Аноним 31/05/19 Птн 05:48:35 140966161
shtampvsehuynya[...].jpg (31Кб, 250x250)
250x250
>>1406213 (OP)
ОП, я не понял. Почему в шапке нет книги Рендала Хайда? Какой, нафиг, Зубков? Лучший асм-учебник на русском - Юрова. Не лишним будет упомянуть Интел-талмуды. Где книги Агнера Фога? Можно ещё опус магнум по оптимизации Майкла Абраша привести (хоть и устарело).
Аноним 31/05/19 Птн 06:18:57 140966762
>>1409157
>Рано или поздно мы к VLIW придем (вернемся).
Так ли уж нужен параллелизм на уровне инструкций? Это, ведь просто, способ избежать спекулятивного исполнения, не потеряв в производительности. Или я плохо улавливаю идею?
Что думаете про RISC-V?

>>1409251
Телепат в треде?
Аноним 31/05/19 Птн 19:47:39 141005463
>>1409661
Ссылки давай, добавлю. А то болтать все горазды, а гидру и ту пришлось гуглить.
Аноним 31/05/19 Птн 22:17:40 141009464
>>1409643
Так может подскажешь апи?
Аноним 01/06/19 Суб 00:03:59 141011765
>>1409602
Добавить в начало SEH
Аноним 01/06/19 Суб 03:17:14 141015866
01/06/19 Суб 11:02:28 141019967
>>1410158
> intel-sdm
Они уже есть в шапке.
Аноним 01/06/19 Суб 11:26:19 141020668
ЧСНДИ.png (97Кб, 600x200)
600x200
Как под все платформы сразу писать, будто ты на С пишешь?
Аноним 01/06/19 Суб 11:40:29 141021169
>>1410206
Берёшь, такой, C и пишешь под все платформы, будто ты на С пишешь.
Аноним 01/06/19 Суб 11:43:14 141021270
asm.jpg (89Кб, 1280x720)
1280x720
Аноним 01/06/19 Суб 13:01:31 141024771
Как на фасме написать такой макрос?

%define round(n, r) (((n+(r-1))/r)*r)
Аноним 01/06/19 Суб 15:16:16 141034272
Я неопытен в фасме. Хочу написать модуль для логирования в файл. Соответственно, внутри объектника должны определяться переменные для дескриптора открытого файла, форматной строки и функция, приинимающая произвольные строки, которыезаписываются в файл. Мне это нужно для тщательного логирования того, что происходит внутри программы. Как можно создать такой модуль и подключить к программе?
Аноним 01/06/19 Суб 16:12:03 141035873
В линуксовых shared object'ах extern переменные и функции в двух разных процессах будут иметь один и тот же виртуальный адрес, или могут (и должны) иметь одинаковые значения в младших битах адреса, но разные в старших из за какого нибудь ASLR? При этом для обоих процессов они имеют одинаковый физический адрес до первой записи?
01/06/19 Суб 21:43:31 141048074
>>1410247
К сожалению, в фасме макросы не могут возвращать значения. Можешь сделать так:
macro round n, r { rounded = (((n+(r-1))/r)*r) }
round 12,5
; и используешь:
mov eax,rounded
Аноним 01/06/19 Суб 23:08:17 141052175
>>1410480
А как написать макрос, который бы получал value и align, но генерировал в результате директиву dd aligned_val?

То есть, чтобы можно было написать _align(filesize, 512), и получить код типа dd 512?
Аноним 01/06/19 Суб 23:10:14 141052376
>>1410521
Только что проверил макрос. У меня filesize equ $ - $$ определено в конце исходника и компилятор ругается на то, что filesize не определена.
Аноним 02/06/19 Вск 08:01:36 141057977
Аноним 02/06/19 Вск 08:12:53 141058078
Как условному Васяну получить EV сертификат для подписи дров? И нужен ли он вообще? Обычный не прокатит что-ли? Гуглить пробовал, там одни диваны, сами толком не знают.
02/06/19 Вск 10:48:39 141061479
>>1410523
> У меня filesize equ $ - $$ определено в конце исходника
Ты хотел сделать filesize = $ - $$. = обрабатывается на стадии ассемблирования, оно создает или изменяет настоящую переменную (ассемблера, а не генерируемой программы естественно), фасм умеет в forward references (ценой дополнительного прохода ассемблирования). А вот equ работает в препроцессоре, ничего про переменные не знает, это просто текстовая замена, работающая от equ и до конца файла (или до отмены equ c помощью restore). Даже если предположить, что твой equ сработал бы, как ты хотел, то $ в месте использования отличался бы от $ в месте, где ты создал equ.
Аноним 02/06/19 Вск 12:08:19 141063280
О круто, тред про ассемблер. Я полный ноль в этом, но хочу вкатиться. Что надо скачать чтобы получить хоть какое-то начальное представление, а то в шапке дохуя написано. Посоветуйте одну книгу и одну прогу пока.
Аноним 02/06/19 Вск 12:34:52 141064581
>>1410632
Пишешь на си, вставляешь в godbolt и смотришь код. Книга же beginners.re.
Аноним 02/06/19 Вск 12:53:59 141065282
>>1410614
Что-то как-то стремно решается моя надуманная задача на фасме. Возьму, пожалуй, NASM. Я собираю минимальный PE-имидж по байтам и параллельно пишу лоадер. Хочу сделать имидж меньше 200 байт.
Аноним 02/06/19 Вск 12:59:28 141065483
>>1410652
Если по байтам, бери fasmG. Что за лоадер?
Аноним 02/06/19 Вск 13:19:10 141066284
Аноним 02/06/19 Вск 13:23:19 141066685
>>1410652
Я собираю PE файл таким образом:

opthdr:
dw 0x10B ; Magic (PE32)
db 0 ; MajorLinkerVersion UNUSED
db 0 ; MinorLinkerVersion UNUSED
dd 0 ; SizeOfCode
dd 0 ; SizeOfInitializedData UNUSED
dd 0 ; SizeOfUninitializedData UNUSED
dd start ; AddressOfEntryPoint
dd code ; BaseOfCode UNUSED
dd 0 ; BaseOfData UNUSED
dd 0x400000 ; ImageBase
dd sectalign ; SectionAlignment
dd filealign ; FileAlignment
dw 0 ; MajorOperatingSystemVersion UNUSED
dw 0 ; MinorOperatingSystemVersion UNUSED
dw 0 ; MajorImageVersion UNUSED
dw 0 ; MinorImageVersion UNUSED
dw 4 ; MajorSubsystemVersion
dw 0 ; MinorSubsystemVersion
dd 0 ; Win32VersionValue UNUSED
dd 0 ; SizeOfImage
dd 0 ; SizeOfHeaders

Здесь SizeOfImage равно нулю, но я хочу записать туда размер дискового образа, выровненный на section aignment. Размер файла определяю так: filesize equ $ - $$
Как написать макрос, чтобы сделать dd выровненное значение размера файла?
В NASM та же самая проблема с макросами.
Аноним 02/06/19 Вск 13:32:27 141067486
>>1410666
Что-то в фасме сложно делаются простые вещи. Мне нужно в файловом заголовке сохранить значение SizeOfOptionalHeader. Я делаю это так:

dw opthdrsize ; SizeOfOptionalHeader (including data directories)

Сразу после опционального заголовка, непосредственно после дата директорий я делаю объявление:

opthdrsize equ $ - opthdr

И фасм при формировании File Header не видит переменную opthdrsize, потому что она определена дальше. Как это исправить?
Аноним 02/06/19 Вск 14:07:03 141069187
Аноним 02/06/19 Вск 14:10:51 141069688
>>1410674
equ - текстовая замена. Для определения означиваемых переменных исползуй =
Аноним 02/06/19 Вск 14:30:42 141071489
>>1410662
Что он должен делать? Загужать исполняемые образы для исполнения? Вместо системного загрузчика?
Аноним 02/06/19 Вск 14:59:58 141073590
>>1410714
>Загужать исполняемые образы для исполнения? Вместо системного загрузчика?
Да. Еще хочу добавить к нему защиту от динамического анализа.
Что сейчас актуально? Видел детект VM Ware по GDT, защиту от рантайм анализа при помощи сообщений из других потоков, коды возврата недокументированных апи. Все это, вроде, устарело. Но кода я только начал этим заниматься, детект движения курсора лучше всего останавливал динамическую проверку.
Как работают эмуляторы? Они передают управление на точку входа и анализируют поведение программы, или действуют более тщательно, дизассемблируют каждую процедуру и трассируют ее? В последнем случае, наверное, можно было бы навставлять в процедуры ret и перепрыгивать их при выполнении. Это должно запутать дизассемблер, если он дизассемблирует от начала функции до ret. Но это, наверное, слишком наивный способ обойти дизассемблирование.
Аноним 02/06/19 Вск 15:31:32 141076491
>>1410735
Я еще не могу для себя точно объяснить разницу между отладкой и трассировкой. Там, где я работал, слово трассировка вообще не употребляли. А в лоу лвл кодинге оно используется часто. Я нагуглил тред о различии отладки и трассировки, и там говорится, что отладка - это пошаговое выполнение, а трассировка это пакетный анализ поведения программы: запускаешь программу и смотришь журнал выполнения, по которому определяешь место проблемы, после чего начинаешь в этом месте отладку. То есть и принтф, и логи в консоль, и журнал в файле, и MessageBox'ы с ошибками можно назвать трассировкой. Я прав?
02/06/19 Вск 16:20:09 141078792
>>1410652
> Что-то как-то стремно решается моя надуманная задача на фасме
На насме будет еще хуже, фасм в плане ебли байтов гораздо мощнее.

>>1410666
> я хочу записать туда размер дискового образа, выровненный на section alignment
Ну я же тебе написал, как сделать.
dd (SizeOfImage + sectalign - 1) and not (sectalign - 1)
...
; В конце файла:
SizeOfImage = $ - $$ ; тут возможны варианты, в зависимости от того, хочешь ли ты ебаться в org в секциях.
Что сложного-то?
Аноним 02/06/19 Вск 17:09:06 141083293
>>1410579
Конечно. Правда ссылка на вики это моветон, если реверсер её не найдёт, то он и в ИДЕ не разберётся, и компутер не включит.
>>1410580
Зарегистрировать компанию, только им и выдают. Можно попросится подписать у пары компаний, которые подписывают дрова с открытым кодом, но там, ВНЕЗАПНО, нужен открытый исходный кот, твои затрояненные бинари отошлют тебе обратно.
>>1410632
>а то в шапке дохуя написано
Я тебя разочарую, но в книгах по асму написано ещё больше, чем в шапке. Если ты шапку ниосилил, то и асми не осилишь.
Аноним 03/06/19 Пнд 08:12:40 141114494
>>1410832
Почему малварь-то сразу? Те кто создают малварь подобного уровня, спонсируются и достать такой серт им не составит труда. А мне Васяну где и как его взять? Я может хочу свой антивирус бабушкина с блэкджэком и куртизанками запилить. Но думаю начать с мини-тулз, типа sysinternals. Есть конечно вариант опенсурса, гит прокачаю, портфолио так сказать, но думаю шанс, что меня кто-то заметит и озолотит мизерный..
Аноним 03/06/19 Пнд 14:26:38 141126095
Есть здесь, вообще, специалисты/ценители демосцены? Скажите, как научиться далать демки? Что можно почитать? Как практиковаться?
Аноним 03/06/19 Пнд 14:49:53 141126696
репост из сишного треда

Что для gcc значит contstraint "c" в записи
asm volatile("clflush 0(%0)\n"
:
: "c"(addr)
: "rax");

не могу найти описание именно для "с"
Аноним 03/06/19 Пнд 15:29:54 141128197
>>1411260
Оно тебя сожрет. Здесь уже был один безработный бывший демосценер
Аноним 03/06/19 Пнд 18:13:03 141134698
Аноним 03/06/19 Пнд 20:03:04 141137299
>>1411346
Ты ебанутый? Только честно отвечай.
Аноним 03/06/19 Пнд 21:47:04 1411414100
>>1411372
естественно, но это не имеет отношения к делу.
Аноним 04/06/19 Втр 00:51:14 1411497101
>>1411414
Это Дела Отношения имеет тебя.
Аноним 04/06/19 Втр 05:43:02 1411529102
Аноним 04/06/19 Втр 08:17:56 1411550103
>>1407719
И чем GNU as не устроил?
Аноним 04/06/19 Втр 08:24:42 1411555104
Аноним 04/06/19 Втр 08:26:42 1411557105
Аноним 04/06/19 Втр 08:44:29 1411563106
Аноним 04/06/19 Втр 08:58:52 1411567107
Аноним 04/06/19 Втр 13:01:04 1411669108
>>1411563
Ты бы еще Нортона притащил.
Аноним 04/06/19 Втр 13:19:05 1411676109
поясните мне пж за следующий аспект кэш памяти процессоров.
вот есть у меня программа, которой нужно прочесть N байт по адресу 0xAAAABBBB. процессор может закешировать эти данные, и они будут от L1 до L3. вот процессор начинает выполнять команду типа
add %(0xAAAABBBB), %eax,
он такой возьмёт VA, получит с него PhA, с PhA хеш получит какой нибудь 0xABCD, но! как он знает, что сейчас в кеше для данного адреса под индексом 0xABCD лежит чанк именно для текущего процесса и именно для нужного VA, а не из какого нибудь другого процесса, что выполнялся до последнего прерывания, и если одному блоку данных в кеше могут соответствовать несколько физических адресов, в которых могут находиться данные того же самого процесса?
Аноним 04/06/19 Втр 13:27:47 1411683110
>>1411676
Смотрел недавно лекцию на данную тему, но проебал ссылку. Короче все сводится к тому, что... нихуя толком не говорится как это работает, ПРОСТО работает и все.
Аноним 04/06/19 Втр 16:06:43 1411763111
>>1411676
> именно для текущего процесса
Какие процессы, если речь идет о физических адресах? Вот в TLB есть всякие PCID/ASID.

> если одному блоку данных в кеше могут соответствовать несколько физических адресов
Рядом с данными хранится индекс кэшлайна.
Аноним 04/06/19 Втр 18:55:29 1411845112
>>1411669
Очень доступное изложение информации. Нортона не читал. Твои какие предложения?
Аноним 04/06/19 Втр 21:08:10 1411923113
Аноним 04/06/19 Втр 21:38:32 1411960114
>>1411923
тому что я не очень умный
Аноним 05/06/19 Срд 00:21:00 1412005115
>>1411923
Спалятся потом где-нибудь, как malware-tech и сядут на бутылку. Даже если не спалятся, то за такие бабки их фбр где угодно найдут.

Вы мне лучше скажите, как сломать F5 в иде, дабы подпортить жизнь школоте? Видел много раз в комерческом софте такие функции. Это из серии виртуализации?
Аноним 05/06/19 Срд 00:45:21 1412007116
>>1412005
> как сломать F5 в иде
Если против школоты, то просто сломай стек в функции.
Аноним 05/06/19 Срд 01:35:38 1412010117
>>1412005
Стандартные антидизасмы на иде работают.
Заспагеть там все, джампай в середину инструкции, или, как выше сказали, стек ломай.
Аноним 05/06/19 Срд 11:59:52 1412154118
>>1412010
>джампай в середину инструкции
Как это на деле реализуется? Вот джампну я на байт ModRM или SIB. Что дальше делать, чтобы процессора не выдал исключение?
Аноним 05/06/19 Срд 12:00:38 1412155119
>>1412010
>стек ломай
А это как?
Алсо, здесь есть знатоки стекового полиморфизма? Что это такое?
Аноним 05/06/19 Срд 12:20:53 1412160120
>>1412154
>Как это на деле реализуется?
>>1412155
>А это как?
Берешь и без задней мысли гуглишь "защита от дизассемблера".
Аноним 05/06/19 Срд 12:29:50 1412167121
>>1411567
А есть какие-нибудь базы с исходниками демок?
Мне бы какие-нибудь обучающие материалы. Или что-то, что можно использовать для обучения.

>>1411281
Почему так?
Аноним 05/06/19 Срд 13:01:04 1412198122
Аноним 05/06/19 Срд 19:19:20 1412364123
Ну что у вас тут? Код то мало-мальский написали хоть, или может реверснули чёнить?
Ксорить то хоть умеете?
Аноним 05/06/19 Срд 19:24:01 1412365124
>>1412364
Перефразирую: Когда уже ассемблер будет работать на вас, а не наоборот?
Аноним 05/06/19 Срд 19:35:00 1412373125
>>1412364
Дворды в уме ксорим, в мокток стучим.
Аноним 05/06/19 Срд 20:30:08 1412401126
>>1412365
Никогда. Заведомо играем с нулевой суммой. Вся суть байтоёбли.
Аноним 05/06/19 Срд 20:37:47 1412406127
>>1412010
>Заспагеть там все, джампай в середину инструкции
Ида вроде бы справляется с этим. JMPOUT пишет.

>>1412007
Что значит сломать стек?

>>1412160
>Берешь и без задней мысли гуглишь "защита от дизассемблера".
Там одни баяны и нулевых, под x64 вообще 0 информации.
Аноним 06/06/19 Чтв 00:07:49 1412650128
>>1412406
> Что значит сломать стек?
Разбалансировать. Например, чтобы в одной из веток был ret при оставшихся в стеке локальных переменных. Или вызов функции, которая за собой подчищает стека больше, чем ей передали параметров. Реально передавать управление в эти ветки вовсе не обязательно, лишь бы они были. HexRays очень чувствителен к такому, но исправляется оно элементарно, поэтому помогает только от школоты.
Аноним 06/06/19 Чтв 10:06:42 1412736129
>>1406465
Разобрался. Теперь следующий вопрос: как убрать инлайн хук в рантайме? На диске нет данных, предварительных данных тоже нет.
Потыкал всякие антируткиты, они каким-то магическим образом имеют предыдущие байтики и спокойно убирают хук.
Аноним 06/06/19 Чтв 11:28:34 1412757130
>>1412650
не знаю, насколько это реально и вообще полезно в боевых условиях, но я как то раз в образовательных целях на элементарной х86 программе в хэдерах пидорасил ОЕР, заведомо указывая его в ебеня, а потом в TLS коллбэке опционально восстанавливал, прибавляя захардкоженную дельту к одному месту в памяти. не помню точно как это работало, но то ли на +-0х1000 байт от EBP то ли еще где неподалеку лежал не то VA с уже прибавленной дельтой релоков, не то RVA OEP, куда должно выполнение перейти после TLS. ну и в итоге ОЕР восстанавливалась, а ида смотрела на неправильный ОЕР со всеми вытекающими.
Аноним 06/06/19 Чтв 12:06:05 1412771131
Аноним 06/06/19 Чтв 17:36:03 1412915132
Аноним 06/06/19 Чтв 18:37:24 1412941133
Сап,кто знает можно ли получить триал вирустотал интележенс?мне буквально пару сэмплов скачать нужно
раньше давали триалы всем подряд,а теперь не выходит(вроде как только фирмам типа ав и студентам(и то не всем)
если у кого-то есть,то буду очень благодарен если поможете
Аноним 06/06/19 Чтв 19:12:59 1412965134
Анонче, как подпрограммы строить на ассемблере?

Можно пример программы с подпрограммой?
А то я в методичке смотрел, а там какая-то хуйня запутанная.

У меня такой вариант задачи, но это так ради понимания уровня задачи. Не нужно слишком сложное.
Разработать подпрограмму, которая разбивает заданную строку на две части: первое слово строки (до первого пробела) и оста-ток строки (пробелы после первого слова отбрасываются). Разработать программу, которая вводит с клавиатуры строку и выводит каждое слово с новой строки.
Сложна, сложна, нипанятна.
Аноним 06/06/19 Чтв 20:38:07 1413013135
>>1412155
в vx журналах почитай
Аноним 06/06/19 Чтв 21:09:12 1413031136
Заранее извиняюсь за то, что насру здесь.
Я хочу вкатиться взламывать разный софт и писать под него патчи/кейгены, но я полный ноль.
Мне посоветовали:
а) Сначала подучить лёгкий язык вроде питона и обмазаться курсами по CS, а потом уже начинать медленно бросать взгляд в сторону ASM
б) Сразу учить Ассемблер, стоически переносить сложности, попутно читая те же курсы по CS и в целом про особенности различного железа
На какой стул себя посадить, а на какой не стоит? Важно ваше мнение, анончики.
Аноним 06/06/19 Чтв 21:24:30 1413045137
>>1413013
В 29A такое можно найти?
Аноним 06/06/19 Чтв 21:44:54 1413057138
>>1413031
Идея хуйня. Современный CS это такая хуйня для неосиляторов и мочеглотов, способных только языком чесать. Язык какой-то учить? Ну разве что всякие кресты/си, на которых системы/АПИшки для железа написаны да шеллчики. Интересно сидеть инструкции дрочить? => Сиди дрочи насм дальше, и нахуя тебе этот пайтон сдался тогда? Советую тебе учебников по информатике закупить для 1-3 курсов для начала.
Аноним 07/06/19 Птн 00:16:26 1413102139
>>1413057
> нахуя тебе этот пайтон сдался тогда
Да без питона сейчас никуда. Анализ же. capstone, frida всякая, скрипты в IDA.
Аноним 07/06/19 Птн 11:23:08 1413202140
>>1412941
Есть куча других бесплатных ресурсов откуда можно скачать свежие сэмплы. Кто-то даже вт зеркалит.
Аноним 07/06/19 Птн 11:31:56 1413208141
>>1413102
К питону возвращаться можно и нужно, только когда ты уже успешный c/c++ боярин, ресерчер, сеньер-байтоеб и знаешь что тебе нужно. А так это довольно бесполезный яп.

>>1413031
Учи ассемблер, изучай архитектуру ос, учись пользоваться тулзами: ida pro, windbg.
Аноним 07/06/19 Птн 11:32:30 1413209142
>>1413202
например?на стандартных типа апп ани ран и вируссигн ничего нету
Аноним 07/06/19 Птн 14:18:36 1413282143
>>1413208
>windbg
Ну ты и посоветовал. Ладно бы он сплоенты изучал. Ему же просто обычным крякером хочется стать.
Тут лучше ollydbg/x64dbg ничего не придумали.
К ним и туторов масса, и плагины на любой вкус и цвет, и скрипты под плагины, и кодериперы для кейгенов.
Аноним 07/06/19 Птн 15:06:12 1413292144
DennisYurichev.jpg (324Кб, 400x505)
400x505
>beginners.re - "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
>Чтобы не палить свой адрес почты, вот прямая ссылка https://beginners.re/f572d396fae9206628714fb2ce00f72e94f2258f/
Что-то ссылка поломалась, как и новорегнутые на самом beginners.re((
Желающие натянуть латексное белье с затычкой - велкам на гитхаб, собирать книгу сами:
https://github.com/DennisYurichev/RE-for-beginners
Для нежелающих ссылка на собранную сегодняшнюю RU/EN копию:
https://dropmefiles.com/ESdEP
Наверное хватит переждать, пока господин Юричев починит свою хитрую систему сбора адресов.
Аноним 07/06/19 Птн 15:22:52 1413298145
>>1413282
Считаю что нужно сразу самые лучшие и мощные инструменты изучать, крупную рыбу олей не подебажишь. Для старта x64dbg подойдет, ты прав.
Аноним 07/06/19 Птн 15:31:44 1413303146
Предлагаю шапку обновить, ибо протухла. Нужны ссылки на свежие, активные блоги. Книги/гайды по современному ассемблеру.
Раз скрины из ядрер ОС, то следует и добавить блоги/гайды/любой другой ресерч по осям.
Аноним 07/06/19 Птн 16:29:36 1413338147
Хочу написать простой драйвер под винду. Какой SDK качать, чтобы можно было кодить в студии?
Когда я в первые хотел этим заняться, помню, что пришлось поебать себе мозги тем, какие библиотеки скачать. Я нагуглил статьи для ньюфагов и пошел на сайт МС за либами, а там оказалось, что того пакета либ уже не существует и надо качать что-то другое.
Аноним 07/06/19 Птн 17:25:27 1413363148
>>1413338
WDK установи и все. Create new project -> Windows Drivers -> и тут выбираешь что тебе нужно. Начать наверное лучше будет с легаси либо wdf драйверов. Спрашивай если будут вопросы.
Аноним 07/06/19 Птн 20:51:05 1413406149
>>1413303
Давай ссылки, обновлю.
Аноним 07/06/19 Птн 21:47:55 1413431150
Аноним 07/06/19 Птн 22:20:38 1413440151
>>1413406
Ой, ну это уже думать надо. Windows Internals книгу в шапку нужно запихать точно, в нескольких тредах упоминали её.
http://undocumented.ntinternals.net - описание недокументированных апи в шапке только структуры
https://vimalshekar.github.io/blog/ - основы для вкатывальщиков, за пару вечеров можно осилить.
Книгу - Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX 1st edition.
Книгу по Идочке.


Кстати, спасибо анону, который залил Rootkits and Bootkits книжку, читаю потихоньку




Аноним 07/06/19 Птн 23:46:13 1413483152
>>1413363
>Начать наверное лучше будет с легаси либо wdf драйверов.
Это какой тип проектов в VS Studio 2019 Preview?
Аноним 08/06/19 Суб 04:53:25 1413526153
Аноним 08/06/19 Суб 05:31:46 1413529154
>>1413526
Это второе издание, посвещённое x86-64, AVX, AVX2, AVX-512. Оно не заменяет первое (x86-32, x87, MMX, SSE, а также x86-64 и AVX). Оно частично с ним пересекается. Но в основном его дополняет. Поэтому, нужны оба.
http://booksdescr.org/item/index.php?md5=A6F924CE6277FB3D4AFA71E35F538558
Аноним 08/06/19 Суб 11:58:14 1413567155
>>1413363
Поставил WDK, создал в студии проект типа KMDF Driver, начал писать код, но #include <ntddk.h> не может найти хедер. Где искать этот хедер и wdf.h?
Аноним 08/06/19 Суб 13:37:45 1413603156
Хочу обмазаться этими статьями: https://vxlab.info/wasm/article.php-article=drvw2k01.htm

Автор использует масм и советует скопировать библиотечные файлы из DDK в каталог \masm32\lib\w2k. Но у меня win10 и стоит WDF. Как использовать то, что у меня имеется, для изучения этих статей?
Аноним 08/06/19 Суб 13:38:06 1413604157
Аноним 08/06/19 Суб 17:03:40 1413697158
>>1413567
Там же где и все остальные инклуды.
C:\Program Files (x86)\Windows Kits\10\Include\

Подключать там же, в настройках проекта, принципиальных различий в использовании ide нет.
Аноним 09/06/19 Вск 11:54:13 1413988159
Что будет если поделить на ноль на асме?
Аноним 09/06/19 Вск 12:41:06 1414002160
Аноним 09/06/19 Вск 14:18:13 1414048161
Аноним 09/06/19 Вск 15:26:06 1414065162
Аноним 09/06/19 Вск 17:19:55 1414126163
>>1413988
>>1414002
>>1414065
Это смотря чем поделить. Кроме div/idiv есть еще инструкции в FPU/SSE.
Аноним 09/06/19 Вск 17:57:56 1414142164
Аноним 09/06/19 Вск 19:02:06 1414179165
i.jpg (159Кб, 604x547)
604x547
q.PNG (8Кб, 974x113)
974x113
Аноним 09/06/19 Вск 21:09:25 1414233166
Аноним 10/06/19 Пнд 11:35:30 1414406167
>>1413045
Мне что-то попадалось на тему полиморфизма в стеке. Может z0mbie что-то писал на эту тему.
Аноним 10/06/19 Пнд 16:19:20 1414531168
Допустим, у меня есть адрес возврата некоторой функции, как мне определить какой конкретно функции принадлежит данный адрес? Нашел только LdrFindEntryForAddress, с помощью данного апи получаю имя модуля, в котором находится нужная функция. Куда дальше копать? Не самому же сканить с дизасмом?
Аноним 10/06/19 Пнд 21:19:40 1414645169
Аноним 12/06/19 Срд 23:27:35 1415527170
Что такое SMM ring -2 ? Еще более менее могу себе представить гипервизоры. Но куда ниже то?
Аноним 13/06/19 Чтв 00:41:24 1415555171
>>1415527
Отдельный режим процессора, который включается при подергивании соответствующей ноги процессора, который в отдельной области памяти выполняет код, практически незаметно (не считая потраченного процессорного времени) и не спрашивая разрешения у гипервизоа и выше.

> Но куда ниже то?
Ну как это куда?! Отдельный чип, который рулит всей системой.
Аноним 13/06/19 Чтв 03:05:21 1415585172
>>1415555
Если у ОС нет доступа к SMM, то выходит, попасть в него без физического контакта с машиной не выйдет?
Аноним 13/06/19 Чтв 13:44:20 1415786173
посоветуйте пж годных статей по структурам дампов ОС. типа вот если сдампить процесс винды, то у него будет структура РЕ, в ней там хэдеры, секции, тоси боси, у линуксов ELF с его структурами, а с ОС что? все запросы в гугле переводят на конкретные инструменты типа lime, volatility, а я хотел бы предварительно просто пробежаться по теоретический части структур дампов популярных ОС типа чё в них есть, что в них может быть, чего в них не может быть, как это в теории должно быть выложено, и т.д.
Аноним 13/06/19 Чтв 14:21:53 1415794174
>>1415786
Что ты имеешь ввиду под структурами дампов ОС? Читай книги по архитектуре интересующей тебя ОС. Структуры, функции, таблицы и прочее вычленяются с помощью отладочных символов и WinDbg.
Аноним 13/06/19 Чтв 14:34:54 1415798175
>>1415786
>если сдампить процесс винды, то у него будет структура РЕ
Чего?
Аноним 15/06/19 Суб 17:10:37 1416872176
Читаю про аппаратно-программные руткиты, которые в прошлом веке располагались в святая святых BIOS материнки и сетевухи. Насколько это актуально сейчас, когда в материнках UEFI? Дело в том, что мои компы побывали в органах. Данные на дисках затер нулями.
Аноним 15/06/19 Суб 19:38:57 1416937177
>>1416872
То что на это способны наши органы, я сомневаюсь. Естественно сбросить и переустановить прошивку нужно на всякий случай. Более вероятно что тебя будут просто прослушивать. Меняй провайдера, шифрую трафик, сиди с вайфая соседа.
Аноним 15/06/19 Суб 22:13:32 1416982178
Как лучше заимплементить PE-загрузчик на фасме, если перед загрузкой происходит парсинг заголовков, а после него мапинг?
Определить все структуры, реализовать структуру контекста, в которую напихать все структуры (или наиболее значимые поля) и в процессе парсинга заполнять контекст, а во время отображения дискового образа на память пользоваться этим контекстом?
Аноним 15/06/19 Суб 22:20:40 1416984179
Поясните по факту, почему какой-нибудь линукс не может заебашить себе читалку и выполнялку для екзешников, чтобы все работало без эмуляторов?
Аноним 15/06/19 Суб 22:46:28 1416993180
Аноним 16/06/19 Вск 00:24:22 1417023181
>>1416982
Но ведь виндовый загрузчик уже делает самое правильное, что можно сделать: мапит заголовки, валидирует заголовки, мапит секции, занимается инициализацей и динамическим связыванием. Зачем тебе контекст с отдельной копией заголовков, если тебе их все равно грузить?

>>1416984
binfmt_pe.c написать несложно (и не один раз его уже реализовали), но вот окружение само по себе не появится.
Аноним 16/06/19 Вск 01:00:51 1417027182
>>1417023
Че такое окружение?
Аноним 16/06/19 Вск 01:57:14 1417036183
>>1417027
> окружение
Среда, в которой выполняется код - все, что он видит вокруг себя. Системные вызовы, системные данные в памяти (тот же PEB), библиотеки, структура файловой системы. Все это предоставляет вайн. Можно было бы, как сделала Microsoft для WSL, эмулировать только системные вызовы, пользуясь родными библиотеками, но в винде слишком много всего прибито гвоздями к ядру.
Аноним 16/06/19 Вск 02:56:54 1417045184
>>1417036
>Можно было бы, как сделала Microsoft для WSL, эмулировать только системные вызовы, пользуясь родными библиотеками
Нельзя, проприетарная лицензия-с.
>но в винде слишком много всего прибито гвоздями к ядру.
На самом деле к драйверам. Win подсистема ютится в win32k.sys, и ядру NT она нафиг не нужна, оно может работать и без неё.
Только эмулировать ядро до степени работоспособности драйверов ещё сложнее, чем по внешним интерфейсам. Перед последней задачей даже МС спасовали, в новых версиях WSL они будут запускать едро люнупса в виртуалке.
Аноним 16/06/19 Вск 03:03:26 1417047185
>>1417045
> лицензия
Нельзя пользоваться либами, но это проблемы юзеров. Так часто при реверсинге игр делают: движок опенсорс, данные родные, и лицензию, даже если она что-то подобное запрещает, нарушает пользователь, а код ни в чем не виноват.

> оно может работать и без неё
Ну ты же понимаешь, что фактически это часть ядра, а все эти "может работать" равносильны заявлениям, что софт может работать без ОС (да, может, но такое пишут крайне редко).

> в новых версиях WSL они будут запускать едро люнупса в виртуалке
Ну вот, теперь в десяточке нет абсолютно ничего хорошего.
Аноним 16/06/19 Вск 11:06:11 1417119186
>>1417023
Пишу упаковщик с лоадером.
Но если не пихать заголовки в контекст, все равно ведь придется делать два прохода по заголовкам: первый раз, чтобы прочитать ImageBase, а второй раз - выделить память по этому адресу и развернуть там образ.
Алсо, как работает лоадер на сисколлах? https://github.com/luis140219/luismark-loader/blob/master/luisldr.asm
В чем плюсы, минусы? Как вообще загрузка образа сводится к вызову ZwCreateSection? Что делает эта функа?
Аноним 16/06/19 Вск 12:02:11 1417129187
Насколько кэширование процессором кода может помешать выполнению кода при довольно интенсивном его изменении находу? Можно ли как-нибудь избежать отрицательных эффектов? Отключить кэширование кода для приложения/треда?
Аноним 16/06/19 Вск 14:45:32 1417221188
>>1417047
>Нельзя пользоваться либами, но это проблемы юзеров.
В общем то да, и сейчас можно подсунуть вайну родные либы. Но видимо уровни программ разные, и что можно реверсеру с гитхаба с 3 звёздочками, то запрещено проекту с тысячей контрибуторов.
>Ну ты же понимаешь, что фактически это часть ядра
Не а. Оно, как драйвер, работает в адресном пространстве ядра, пользуется его сервисами, ядро пользуется сервисами этого драйвера, но неотъемлемой частью оно не является.
>Ну вот, теперь в десяточке нет абсолютно ничего хорошего
Ну не знаю. Как по уровню интеграции Wine в сравнении с WSL?
>>1417129
Кеширование не мешает изменяемому коду, оно помогает неизменяемому, притом существенно.
Решение только одно - не использовать полиморфный код. Отключить кеширование можно для отдельных страниц, обладая правами админа, но будь готов к производительности уровня первых атомов.
Аноним 16/06/19 Вск 16:29:32 1417260189
>>1417221
>Решение только одно - не использовать полиморфный код.
Хотелось-бы наоборот. Есть ли необходимость для этого флагировать страницу как PAGE_NOCACHE? Это что-нибудь даст?
Аноним 16/06/19 Вск 16:34:41 1417261190
4BDC36D5-9F2E-4[...].jpeg (116Кб, 453x640)
453x640
Если я рассматриваю программирование как хобби и процесс>результат, те могу писать условный хеллоуворлд годами, то ассемблер мой выбор?
Веб мне не нравится, хотя для такого гуманитария как я он лучший выбор, но не хочу и все тут.
16/06/19 Вск 16:40:54 1417264191
>>1417261
Для начала стоит хотя бы понять о чем говоришь. Веб это не только разметку рисовать и конфигами жонглировать. АСМ явно не твой выбор, ибо с текущим уровнем дискурса ты себе даже задачу не сможешь поставить.
Аноним 16/06/19 Вск 19:41:53 1417376192
>>1417260
Ничего не даст, дело не только в кэше, но еще и в конвейере. Изменение страницы, инструкции из которой уже выбраны и декодированы/декодируются = сброс конвейера. Постоянные сбросы конвейера = никакая производительность.

>>1417221
> Не а. Оно, как драйвер, работает в адресном пространстве ядра
Это все понятно, но это все детали. Но мы ведь об эмуляции винды говорим? И если рассматривать картину с этой стороны, то win32k и другие дрова вполне можно считать частью ядра. Выбрось их, и это уже будет не винда.
Аноним 16/06/19 Вск 19:57:20 1417379193
>>1417264
>>1417261
> АСМ явно не твой выбор, ибо с текущим уровнем дискурса ты себе даже задачу не сможешь поставить.

Так он за задачей и пришел

Пускай идёт пиликать МК
По моему лучшей альтернативе аутизма от мира cs - нет
Аноним 16/06/19 Вск 20:19:02 1417390194
>>1417379
>По моему лучшей альтернативе аутизма от мира cs - нет
Можно на FPGA создавать асики для пиликания.
Аноним 16/06/19 Вск 21:59:00 1417429195
>>1417119
Ты видимо вообще нюфаня, раз такие вопросы задаешь и не знаешь, как загрузчик винды работает. Куда собрался то свой писать?
Мы тут уже обсуждали защиту софта, лодеры и прочее, в итоге порешали, что все это херня и единственный рабочий метод - виртуализация кода.

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

Про апи винды на msdn читай. Исходный код ReactOS в помощь.
Аноним 16/06/19 Вск 23:33:38 1417451196
>>1417429
>Ты видимо вообще нюфаня, раз такие вопросы задаешь и не знаешь, как загрузчик винды работает.
В статьях пишут про такой алгоритм:
1) Парсинг хедеров
2) Разбор таблицы секций
3) Проецирование
4) Обработка импорта
5) Рекурсивная загрузка длл
6) Переход на точку входа

А как он работает на самом деле? Знаю, что можно почитать сорцы вин 2000, но их надо снова выкачивать и копаться к них.
Аноним 16/06/19 Вск 23:40:58 1417454197
>>1417451
Ну еще редактирование PEB. Но моя задача проще. Я хочу просто запамить PE-файл и запустить его.
Аноним 16/06/19 Вск 23:47:57 1417456198
>>1417451
Похоже, что половина процесса загрузки вообще происходит с дисковым имиджем: https://wiki.osdev.org/PE

To load a PE file is quite simple;

1. Extract from the header the entry point, heap and stack sizes.

2. Iterate through each section and copy it from the file into virtual memory (although not required, it is good to clear the difference between the section size in memory and in the file to 0).

3. Find the address of the entry point by finding the correct entry in the symbol table.

4. Create a new thread at that address and begin executing!
Аноним 16/06/19 Вск 23:53:40 1417459199
>>1417129
возможно, тебе может помочь CLFLUSH m8
Аноним 16/06/19 Вск 23:59:54 1417460200
Я правильно понимаю, что в unix-like системах все процессы создаются методом вызовов fork(); exec();, и начинается всё с самого первого процесса init после старта системы?
Аноним 17/06/19 Пнд 00:17:34 1417465201
>>1417451
>Исходный код ReactOS в помощь.
Там полноценный загрузчик реализован, практически 1 в 1 как у винды. Ничего качать не надо, через браузер смотреть можно.
На худой конец открой ntdll и ntoskrnl в иде, загрузи .pdb символы и изучай.

>>1417454
Куда замапить? Где запустить? В каком контексте? Какой PE-file? Ты недоговариваешь. Просто загрузить длл - LdrLoadDll. Ты эту функцию хочешь реализовать?
Аноним 17/06/19 Пнд 10:31:03 1417568202
>>1417465
>Куда замапить?
В адресное пространство пакера.

>Где запустить?
В АП пакера.

>В каком контексте?
В контексте пакера

>Какой PE-file?
exe, dll

>Ты эту функцию хочешь реализовать?
Хочу реализовать красивую загрузку exe для начала. Раньше по статьям какого-то системного программиста я написал свой вариант лоадера, который не только мапит exe, но еще и рекурсивно загружает дллки и прописывает их в PEB, но сейчас я хочу написать простой лоадер для узкой задачи на фасме. И мне не хватает идей, как сделать это правильно.

В предыдущем своем лоадере я делал контекст, который содержал указатели на структуры типа PIMAGE_DOS_HEADER и накладывал их на результат MapViewOfFile, а потом копировал заголовки и секции в другое место (по адресу ImageBase). А если по адресу ImageBase же что-то было (например, например, сам лоадер), то вызывал там UnmapViewOfFile. Но чтобы такого не было, ImageBase лоадера я сделал ниже, чем ImageBase загружаемого файла.

Почему вообщн загрузка может сводиться к вызовам ZwCreateSection? Как это работает?
Аноним 17/06/19 Пнд 19:39:08 1417934203
>>1417568
Правильный переносимый способ это использование документированных апи, а не копание во внутренних структурах. Есть шанс, что они их изменят, тогда твой лоадер придется переписывать.
>Почему вообщн загрузка может сводиться к вызовам ZwCreateSection? Как это работает?
Чтобы отобразить секцию, сначала нужно создать объект/получить дескриптор этого объекта секции.
MapViewOfFile читай как ZwMapViewOfSection.
Аноним 22/06/19 Суб 16:16:09 1420434204
image.png (15Кб, 481x307)
481x307
Как посмотреть место, где находится __imp_CoInitializeEx?
Аноним 22/06/19 Суб 16:36:51 1420447205
>>1420434
Гуглишь на MS Docs функцию CoInitializeEx. Внизу страницы видишь, что, линковать надо с библиотекой Ole32.lib.
Проверить, что символ __imp_CoInitializeEx экспортируется из этой либы можно утилитой dumpbin (наряду с другими и компоновщиком link прилагается к MSVS).

C:\...\Microsoft_Visual_Studio\2019\Preview\VC\Tools\MSVC\14.22.27706\bin\Hostx64\x64\dumpbin /linkermember /out:Ole32.exports "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64\Ole32.Lib"

Находишь нужный символ в извлечённом файле Ole32.exports.
Аноним 22/06/19 Суб 19:41:29 1420502206
>>1420447
> C:\...\Microsoft_Visual_Studio\2019\Preview\VC\Tools\MSVC\14.22.27706\bin\Hostx64\x64\dumpbin
Проиграл. Все для людей. Вот в 2005 студии такой хуйни не было. На самом деле пердолиться в библиотеки импорта совершенно незачем, есть http://www.dependencywalker.com/

>>1420434
> место, где находится
Зависит от того, что ты понимаешь под словом "место". Жмешь Enter на символе, в статусной строке видишь позицию в файле и виртуальный адрес. Скроллишь вверх, видишь имя длл (или ищешь во View->Imports в более удобном для восприятия виде).
Аноним 22/06/19 Суб 20:14:11 1420519207
>>1420502
>http://www.dependencywalker.com/
Это чтобы (рекурсивно) просматривать импорт, если у тебя есть исполняемый файл. Я забыл, что все вы тут дофига реверсеры (свои программы не пишем - чужие ковыряем). А если нет файла? А если только исходник (да и тот не весь)?
Аноним 23/06/19 Вск 01:30:47 1420687208
image.png (38Кб, 635x429)
635x429
>>1420447
>>1420502
Я поэтому и спросил потому что нифига там нет. В api-ms-... пусто, нет реализации. А саму реализацию в combase.dll нашел. Что за бред?
Аноним 23/06/19 Вск 01:52:08 1420694209
>>1420687
А, я, в свою очередь, забыл, что в этих ваших десяточках теперь импорты исключительно через жопу. Вот это посмотри, например: https://github.com/lucasg/Dependencies
Аноним 23/06/19 Вск 05:58:53 1420732210
>>1420694
Вот за это спасибо, давно хотеть альтернативу dependencywalker, который не умеет в новомодные перенаправления.
Мимо ОП
Аноним 23/06/19 Вск 18:47:08 1421011211
Сап, реверсач
Хочу вкатиться в разработку драйверов на Линукс
С чего начать? Сишкой и плюсами владею на достаточно высоком уровне, умею в структуры данных, знаю основы ОС
Есть топовая книга/курс для начинающих в этом деле?
Аноним 23/06/19 Вск 21:27:40 1421185212
>>1420694
Благодарю. Зачем они этих врапперов налепили? Какое у них предназначение?
Аноним 24/06/19 Пнд 00:44:47 1421306213
>>1421185
Для переносимости (читай: чтобы добить нативный софт) и версионирования (как будто нам SxS мало было), теперь API логично сгруппированы по функциональности, а не по подсистемам и абстрагированы от этих самых подсистем. В общем, максимально нинужная фича, как и все остальные фичи восьмерочки и десяточки, которая просочилась обратно в 7 и даже в XP.
Аноним 24/06/19 Пнд 01:07:28 1421312214
>>1421306
>чтобы добить нативный софт
Я так и подумал.

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

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

да нибамбит у меня
Аноним 24/06/19 Пнд 01:57:41 1421315215
>>1421185
Теоретически производители встраиваемых систем могут собрать свои версии системных библиотек безо всякой хуиты. MinWin называется. Но всем как всегда похуй, и это лишь добавило ещё один нахуй не нужный слой абстракции.
>>1421312
>Не понимаю, для кого они апдейты каждые несколько месяцев выкатывают.
Чтобы не обосраться как с вислой.
IDA Pro v7.2.181105 with Hex-Rays x64 Аноним 24/06/19 Пнд 10:46:42 1421399216
Аноним 24/06/19 Пнд 14:17:13 1421505217
>>1421399
Я так понимаю сбрутили пароль для утекшей версии.
На меге содержимое потерли, но сам архив уже лежит на рутрекере.
Аноним 24/06/19 Пнд 15:39:50 1421556218
>>1421505
Не могу найти, кинь ссыль, пожалуйста.
Аноним 24/06/19 Пнд 16:42:47 1421587219
>>1421556
https://rutracker.org/forum/viewtopic.php?t=5748289
или сразу магнит, правда доска наверное покоцает:
magnet:?xt=urn:btih:89C510068D46F2EC48D6589B6FAE6ECC0B4CC3CB&tr=http%3A%2F%2Fbt4.t-ru.org%2Fann%3Fmagnet&dn=IDA%20Pro%207.2.181105%20WIN%20x86%2Fx64%20%2B%20Hex-Rays%20Decompilers%20(x64)%20%5B2019%2C%20ENG%5D
>Не могу найти
Как же ты искал?
Аноним 24/06/19 Пнд 18:56:14 1421637220
>>1421587
Благодарю, анончик. Жалко x86 hex-rays там нет...
Аноним 25/06/19 Втр 03:07:26 1421817221
Потестили новый хекс-рейсик? Как вам? Мне понравился, много всего декомпилить начал, чего раньше не мог.
Аноним 25/06/19 Втр 20:20:47 1422191222
Снимок.PNG (7Кб, 223x211)
223x211
Есть какой-нибудь эмулятор куда это можно скопипастить и посмотреть на результат? Там иногда переполнения случаются поэтому самому писать долго будет.
Аноним 26/06/19 Срд 00:28:14 1422282223
>>1422191
А ты в Debuggers посмотри, там для выполнения кусков кода специально есть адаптер для Bochs, ничего копипастить не нужно (Bochs, разумеется, нужно поставить).

>>1421817
Если там 32-битного x86 и ARM нет, то не нужен.
Аноним 26/06/19 Срд 01:56:11 1422291224
>>1422282
x86 там нет, но он и не нужен, разве что малварь разглядывать.
Аноним 28/06/19 Птн 11:00:35 1423804225
Аноны, не могу осилить архитектуру устройства памяти в шиндоувс. Почему так сложно? Есть какой-нибудь огромный чертеж/рисунок охватывающий сразу всю иерархию, чтобы можно было примерно посмотреть как это все между собой взаимодействует?
Аноним 28/06/19 Птн 18:27:59 1424071226
>>1423804
Windows internals не помог?
Аноним 29/06/19 Суб 04:38:23 1424316227
>>1424071
Не помог. Я конечно теперь понимаю, что такое VAD, MDL, но не более. В windbg потыкал, все равно остаются вопросы, как это все между собой связанно, а как на физическую память транслируется? Какой-то пиздец, физиком надо быть что-ли чтобы понять?
Аноним 30/06/19 Вск 21:28:01 1425122228
>>1424316
>а как на физическую память транслируется
Ну пиздец. Что ты творишь? Теперь и я думаю, что что-то не понимаю.
Аноним 30/06/19 Вск 23:23:25 1425211229
d240bc8df69c5a3[...].jpeg (6Кб, 113x150)
113x150
Кто-нибудь может поделиться этой книгой?
Аноним 30/06/19 Вск 23:52:59 1425226230
Аноним 01/07/19 Пнд 00:23:59 1425232231
Аноним 01/07/19 Пнд 00:32:55 1425235232
Аноним 01/07/19 Пнд 00:45:38 1425238233
IMG3008.JPG (67Кб, 325x325)
325x325
>>1417379
>>1417264
Вообще-хочу писать демо под Z80.
Ну и пиликать STM32.
Аноним 01/07/19 Пнд 00:52:13 1425240234
>>1425238
>хочу писать демо под Z80
Мультиколор?
Аноним 01/07/19 Пнд 09:28:46 1425297235
>>1425211
Кидали выше вроде. Хорошая книга, но практической информации мало. Весь код протух лет 5 назад.
Аноним 01/07/19 Пнд 10:37:13 1425338236
>>1425297
>Кидали выше вроде.
В прошлом треде была ссылка, но протухла.
Аноним 02/07/19 Втр 14:34:31 1426191237
image.png (260Кб, 891x1262)
891x1262
image.png (292Кб, 825x1024)
825x1024
Асмач, существует ли аналог книг "Windows Internals" и "Linux Inside", но про макось?
Аноним 02/07/19 Втр 20:30:55 1426495238
image.png (197Кб, 334x499)
334x499
Аноним 02/07/19 Втр 20:44:18 1426514239
Думаю вкатиться в низкоуровневое программирование. Чет я заебался, когда пишешь как по мануалу, а оно не работает. Компилится, но не работает. А я не могу ничего сделать: не я же писал. Сложно ли?
Аноним 02/07/19 Втр 20:49:41 1426523240
>>1426191
Эти книги мне кажутся несравнимыми. С разных углов на ось смотрят. Это из-за того что винда более монолитна и там можна гораздо больше компонентов назвать стандартными и изучить. И в линуксе изучается только ядро и то не достаточно подробно. В 100 страниц едва можно вписать процедуру создания нового процесса в линуксе. Это заняло бы пол книги. И даже этого там нет. Книга про ядро, это не все внутренности линукса.
Аноним 02/07/19 Втр 21:30:59 1426586241
>>1426514
>Компилится, но не работает
Ты написал идеальную программу.
Используй отладчик.
Аноним 02/07/19 Втр 22:20:51 1426672242
>>1426586
Вроде все функции вызываются, но не делают что нужно
Аноним 02/07/19 Втр 22:52:16 1426704243
51F51POFp5L.jpg (32Кб, 334x500)
334x500
611R87sxyDL.jpg (112Кб, 1324x1836)
1324x1836
51-ghSeG1-L.jpg (36Кб, 334x500)
334x500
>>1426495
>(Mac|i)OS Internals
Вот так неожиданность)
Блин, даже стыдно стало за свое гугл-фу, спасибо большое.
>>1426523
ИМХО, просто эти две книги первыми приходят в голову, если возникает вопрос, что там у соответствующей ОСи под капотом.
Если ты подскажешь другие варианты, буду только благодарен за толковое чтиво по тематике.
Аноним 02/07/19 Втр 23:28:54 1426738244
>>1426704
>Если ты подскажешь другие варианты, буду только благодарен за толковое чтиво по тематике.
Я бы сам почитал аналог windows internals про линукс, но кажется его нет.
Аноним 03/07/19 Срд 12:37:02 1426959245
>>1426495
Двачую. Алсо, вангую в макось перспективно вкатываться в плане ресерча и поиска уязвимостей. У них же под откос все идет, сейчас пойдут сокращения в компании, дорогих разработчиков набреют и как всегда сэкономят на безопасности. Надо вкатываться, аноны.
Аноним 03/07/19 Срд 13:12:16 1426972246
RH-Mockup-cover[...].jpg (58Кб, 1139x1603)
1139x1603
А эту книгу где украсть кто-нибудь знает?
Аноним 03/07/19 Срд 18:15:16 1427188247
>>1426972
Не надо. Редакторы все похерили
Аноним 03/07/19 Срд 18:28:15 1427192248
>>1427188
Можно я своё мнение сам составлю?
Аноним 03/07/19 Срд 19:57:36 1427262249
Аноним 03/07/19 Срд 23:06:08 1427447250
>>1427262
Ну и ладно, все равно книга говно.
Аноним 03/07/19 Срд 23:09:11 1427451251
>>1427447
Рад, что тебе удалось ознакомиться. Поделишься с нами?
Аноним 03/07/19 Срд 23:33:57 1427479252
>>1426514
Как насчёт break and step?
Как бы топик.

мимокрокодил
Аноним 03/07/19 Срд 23:40:44 1427487253
>>1427479
Главный мой вопрос это: сложно ли вкатываться в асм, какие подводные?
Аноним 03/07/19 Срд 23:57:42 1427499254
>>1427487
Да хер его знает.
Мне не сложно, но я РЕ занимаюсь по большей части.
Книжек не читал, функциональные патчи (читай: не только кряки) публиковал.
Я хоббиист и практик — с меня мало толку в советах.
Жди унылых компенсирующих профессиональных кукаретиков теоретиков.

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

Стандартный совет: потыкай палочкой и задайся, в первую очередь, вопросом, в кайф ли тебе всё это.

Жду гнева теоретиков.

всё ещё крокодил
Аноним 04/07/19 Чтв 00:24:52 1427508255
>>1427487
Асм - самый простой язык, потому что процессор делает только то, что ты скажешь, только так, как ты скажешь, и ничего больше по крайней мере, все должно так выглядеть. Подводные в основном в том, что даже в пределах архитектуры есть зоопарк ассемблеров с частично несовместимым синтаксисом.

>>1427499
> Из подводных камней состоит чуть более чем полностью
Примеры будут?
Аноним 04/07/19 Чтв 00:46:26 1427519256
Просто ссу в рот всем формошлепам. Ебучая помойка. Все работает через 3 пизды, если вообще работает. Если не работает, то соси хуй, ибо сам мало что изменишь. То ли дело всякие приближенные к железу и математике штуки. Все точно, как часы.
Мне нужно было выговориться
04/07/19 Чтв 01:51:22 1427543257
>>1427519
> Если не работает, то соси хуй, ибо сам мало что изменишь
> То ли дело всякие приближенные к железу
DRAM, например, с его роухаммером. Или те же процессоры, у который кроме распиаренных уязвимостей еще дохуя багов в errata. Тут ты хуй сосать не будешь, прикупишь себе фабрику и зделоешь правильно.
Аноним 04/07/19 Чтв 02:50:04 1427583258
>>1426972
Ну кто-нибудь. Ну пожалуйста. Ну дайте книжечку.
Аноним 04/07/19 Чтв 13:48:25 1427827259
image.png (132Кб, 968x209)
968x209
Гайд от очень известного и крутого дядьки, как стать топовым реверсачером. Без такого графика ты будешь лох-чмо с 30к зп в ООО НИИ ЛАХТА - Рога и Копыта. Что думаете?
Аноним 04/07/19 Чтв 13:49:02 1427829260
Кто нибудь в треде пользуется kaitai struct? Как можно с помощью него описать поле флагов, чтобы в визуализаторе я все это видел в человекочитаемом виде?
Аноним 04/07/19 Чтв 14:09:24 1427842261
Краем глаза заметил, как антивирус быстро сканирует объекты и стало интересно. Написал на Си небольшую программу, сканирующую память процесса на поиск сигнатуры и потерпел фиаско, скорость желает ожидать лучшего. Как они это делают так быстро?
Аноним 04/07/19 Чтв 15:27:32 1427934262
index.jpeg (12Кб, 220x276)
220x276
>>1427842
Не знаю. Но у меня на случай таких вопрос давно скачана и ещё не прочитана эта книга. Может тебе пригодится.
Аноним 04/07/19 Чтв 16:21:41 1427964263
>>1406213 (OP)
Забыл как формировать битмаски. http://ideone.com/UFArrz

Почему в op вместо 0x31 записывается 0x49? В чем я ошибся при формировании маски? В макрос я передаю 0b00110001, а получается 0b1001001
Аноним 04/07/19 Чтв 16:55:38 1427977264
Подскажите пожалуйста, как написать следующее в синтаксисе at&t:

Mess_ins equ [bp+4] ;сообщение внутри рамки
Attr_ins equ [bp+2] ;атрибуты сообщения внутри рамки
Other equ [bp] ;иная конфигурация окна
Аноним 04/07/19 Чтв 17:00:33 1427978265
>>1427842
Дай угадаю, тебя даже на kmp не хватило, какие уж там рабинкарпы с корасиками?
Аноним 04/07/19 Чтв 17:00:41 1427980266
Аноним 04/07/19 Чтв 17:14:34 1427982267
>>1427978
Что за kmp и карасики?
Аноним 04/07/19 Чтв 17:17:06 1427983268
>>1427982
Уверен что гуглиться элементарно, а ты даже не пробовал. Первое не ебу, а второе алгоритм поиска Ахо-Корасика
Аноним 04/07/19 Чтв 17:17:30 1427984269
>>1427982
Ну кмп очевидно он про линейную оптимизацию поиска с помощью автоматов, которая вряд ли была реализована в простенькой программе на си. А 2 других слова не знаю.
Аноним 04/07/19 Чтв 17:23:21 1427987270
Аноним 04/07/19 Чтв 17:36:00 1427994271
>>1427983
>>1427984
Да тут дело не в алгоритмах. Я один процесс сканировал секунду, а антивирус за эту же секунду всю память обошел. Черная магия.
Я так понял не написать мне йоба-антивирус без магистратуры мат. фака? Но я все же уверен, что тут дело в каких-то скрытых фишках винды.
Аноним 04/07/19 Чтв 18:00:56 1428000272
>>1427994
> Да тут дело не в алгоритмах.
А в чем тогда?
Аноним 04/07/19 Чтв 19:23:30 1428036273
>>1427827
Не хватает интенсивности.
Аноним 04/07/19 Чтв 19:37:31 1428039274
>>1427829
Бамп.

А вообще тут есть аноны, разбирающие бинарные форматы?
Чем пользуютесь? Нашел synalize it(под винду то же самое называется hexinator) - hex редактор с возможностью полудекларативно писать грамматики и интерактивно с подсветочкой парсить файл и смотреть определенные блоки. Потом нашел то же самое только лучше - kaitai struct и их webide. Но в обоих случаях не могу(или не понял как) нормально отображать битовые области с флагами.
Аноним 04/07/19 Чтв 20:13:50 1428058275
>>1428039
> А вообще тут есть аноны, разбирающие бинарные форматы?
Есть. Использую HxD и глаза, параллельно пишу парсеры на питоне или сишке. Считаю эти ваши кайтаи и 010 неюзабельным говном, в лучшем случае пригодным, чтобы .bmp распарсить, но не сложные форматы.
Аноним 04/07/19 Чтв 20:16:13 1428060276
>>1427994
> Я один процесс сканировал секунду, а антивирус за эту же секунду всю память обошел
Ты можешь, например, пропускать регионы, которые не помечены, как исполняемые.
Аноним 04/07/19 Чтв 20:50:10 1428094277
>>1428060
Я только rwx, wcx и читал.
Аноним 04/07/19 Чтв 21:34:09 1428118278
>>1427827
Как научиться интенсивно веселиться?
Аноним 04/07/19 Чтв 21:45:33 1428129279
>>1428118
Это еще ладно. Например не просто лежать и ворониных смотреть, а гулять с корешами и шутить так, чтобы задыхаться. А вот как интенсивно СЕМЬИТСЯ??? или ДОМИТЬСЯ?
Аноним 04/07/19 Чтв 22:26:38 1428146280
Есть еще reg-reg инструкции кроме очевидных xor, or, and, add, sub?
Аноним 04/07/19 Чтв 23:03:54 1428166281
>>1428129
>ДОМИТЬСЯ
Сычевать, очевидно же!
Аноним 05/07/19 Птн 00:19:47 1428209282
>>1426704
>>1426495
>#MOXiI
Есть у кого сабж свежих версий?
Или может кто из нищебродов типа меня готов скинуться на трехтомник 225$ ?
Аноним 05/07/19 Птн 01:10:58 1428225283
Где почитать про базовые адреса, буфера сиськи гыгы и тд, нужное для работы с памятью другого процесса. Интересуюсь для использования Memoryapi на c++. Я прям ноль в этом.
Аноним 05/07/19 Птн 01:34:48 1428240284
Аноним 05/07/19 Птн 01:39:08 1428241285
Аноним 05/07/19 Птн 01:58:17 1428246286
Есть что почитать про устройство антивирусов и HIPS?
Аноним 05/07/19 Птн 02:18:16 1428249287
>>1428246
я бы кстати тоже чего-нибудь почитал
Аноним 05/07/19 Птн 14:02:03 1428405288
Randomized base Addres меняет базовый адрес единожды? То есть узнав его однажды, я могу каждый раз обращаться по этому адресу и это всегда будет искомый адрес?
Аноним 05/07/19 Птн 14:07:41 1428407289
>>1428405
И как мне быть уверенным, что тоь адрес который я нашел в exe верен. Вдруг я недоглядел
Аноним 05/07/19 Птн 14:50:20 1428416290
>>1428405
>>1428407
Зайди на вики или msdn и почитай про ASLR. Получить базовый адрес - GetModuleHandle(NULL).
Аноним 05/07/19 Птн 14:56:35 1428419291
Аноним 05/07/19 Птн 15:00:37 1428420292
>>1428419
Но этой книги мало будет. Она же не большая совсем по сравнению с темой.
Аноним 05/07/19 Птн 15:10:33 1428422293
>>1428420
Ну а дальше только шерстить MSDN и блоги всякие.
Грубо говоря антивирус работает следующим образом:
Регистрирует мини-фильтры/каллбэки на определенные события.
Например при запуске процесса, их каллбэк срабатывает до точки входа приложения, следовательно они могут провести некоторые проверки и изолировать процесс. Тут больше винду надо исследовать, на то какие она возможности предоставляет для всего этого.
Аноним 05/07/19 Птн 15:43:25 1428443294
>>1427842
Вспомнило как умельцы из ESET написали NOD32, который невероятно быстро на тот момент делал нихуяшеньки.
Аноним 05/07/19 Птн 16:06:34 1428455295
Как избавиться от того, что link.exe добавляет jump-стабы в .text секцию при импорте?
Аноним 05/07/19 Птн 16:16:08 1428457296
>>1428455
Что за link.exe? Раз у него специфика такая, то никак, лол. Восстанови оригинальные байты, либо отобрази новую секцию в обход патчей.
Аноним 05/07/19 Птн 16:20:45 1428460297
>>1428457
MS Link.exe.
>Восстанови оригинальные байты, либо отобрази новую секцию в обход патчей.
Чего? Какие байты? Мне надо, чтобы он секцию не загаживал при пересборке.
Аноним 05/07/19 Птн 17:56:58 1428489298
>>1428416
Ок. Прочту. Я правильно понял, что эта функция не работает для стороннего процесса? Если так, то она мне не подходит
Аноним 05/07/19 Птн 17:58:11 1428490299
http://www.blackstormsecurity.com/docs/DEFCON_CHINA_ALEXANDRE.pdf
Читали? Согласны? Мое мнение, DTrace - просто имба. Теперь я точно все лето просижу за компом ковыряясь в винде.
Алсо, запись данной конференции есть у кого? Не могу найти.
Аноним 05/07/19 Птн 18:07:22 1428495300
>>1428489
Тогда CreateToolhelp32Snapshot или EnumProcessModules или NtQueryInformationProcess.
Аноним 05/07/19 Птн 20:09:51 1428572301
>>1428455
> jump-стабы
Объявляй импортируемые функции с __declspec(dllimport).

Аноним 05/07/19 Птн 21:15:24 1428616302
>>1428490
> swapon
Звучит как страпон
Аноним 06/07/19 Суб 12:49:10 1428949303
Аноним 06/07/19 Суб 14:05:39 1429009304
>>1428949
Опкод используется в качестве индекса в таблице, из таблицы читаются флаги для инструкции, указывающие, из чего она состоит (офсеты, модрм). Если опкод хочет модрм, читается модрм, если модрм предполагает SIB, читается SIB. С помощью всего этого вычисляется, сколько байт после опкода нужно пропустить. Всё, что приводит к раздуванию таблицы (префиксы, альтернативные таблицы) обрабатывается явно.
Аноним 06/07/19 Суб 14:57:49 1429046305
>>1429009
А как такая таблица строится и почему формула построена именно как return packed_table[packed_table[code / 4] + (code % 4)];

Почему берется остаток от деления и неполное частное? Почему четверка? Как такую таблицу составить для декодирования инструкции mov eax, [0x00401000]?

unsigned char mov[] = "\x8B\x05\0x00\0x10\0x40\x00";

Хочу начать написание такой же штуки с простейшего случая. Ну или с декодирования NOP, но это неинтересно.
Аноним 06/07/19 Суб 15:05:25 1429053306
Как записать адрес функции в массив байтов?
memcpy(buffer, &function, 8) - какой-то мусор вместо адреса записывает.
Аноним 06/07/19 Суб 15:17:47 1429062307
>>1429053
>asm-тред
>memcpy
Туда ли ты защёл? C-тред - где-то там.
Аноним 06/07/19 Суб 15:34:47 1429072308
>>1429062
В С-треде даже не знают о существовании memcpy.
Аноним 06/07/19 Суб 15:49:28 1429086309
Аноним 06/07/19 Суб 15:49:37 1429087310
MakabaEatsStars.png (0Кб, 145x37)
145x37
>>1429053
>memcpy(buffer, &function, 8)
Судя по документации, ты копируешь 8 первых байт самой функции (тела) вместо её адреса.
Делай проще. Как-нибудь так:
*bufer = &function;
Аноним 06/07/19 Суб 16:19:20 1429119311
>>1429046
Я правильно понимаю, что выражение code%4 выделяет последние два бита типа d и w?
Аноним 06/07/19 Суб 17:02:26 1429133312
>>1429119
Почти. Просто хакиры. У многих инструкций форматы совпадают, поэтому можно не хранить флаги для всех 0x100 + 0x100 (однобайтовых и двубайтовых) опкодов отдельно, а вместо этого положить совпадающие флаги один раз, и на них ссылаться. В таблице фактически сначала индексы лежат, а потом флаги. Но индексы тоже занимают место, и ты вроде бы наоборот должен проиграть. Но как ты верно заметил, у многих инструкций есть d/w биты, и если флаги для группы инструкций положить последовательно, то ты можешь адресовать одним индексом всю такую группу. Так и сделано: code / 4 убирает младшие два бита (нормальный челове написал бы code >> 2), получает индекс группы и прибавляет к нему офсет в группе (code & 3), по получившемуся индексу читает флаги. Можешь это дело распаковать и посмотреть: http://ideone.com/WeETG5
Аноним 06/07/19 Суб 17:04:46 1429135313
>>1429053
#include <stdint.h>
∗(uintptr_t ∗)buffer = (uintptr_t)function;
и ты не ломаешься, когда тебя с -m32 соберут. Правда, здорово?
Аноним 06/07/19 Суб 17:08:46 1429136314
>>1429133
Приду домой после настолочек - поковыряю. Как такую таблицу сгенерить скриптом? Сначала положить все опкоды (это первые 6 бит любой инструкции без префикса), а остальные клетки заполнить флагами?

А насколько актуально морфить код, изменяя бит d в инструкциях типа xor ax, ax с одинаковыми операндами? Таких инструкций в любом коде мало. Я думаю, такой морфинг немного бесполезен. В инструкциях вида op reg, mem и op reg, imm тоже можно поиграть с битами, но я с этим еще не разобрался.
Аноним 06/07/19 Суб 17:11:02 1429137315
>>1429133
>У многих инструкций форматы совпадают, поэтому можно не хранить флаги для всех 0x100 + 0x100 (однобайтовых и двубайтовых) опкодов отдельно, а вместо этого положить совпадающие флаги один раз, и на них ссылаться
Да, форматы совпадают, но инструкции mov ax, ax и add ax, bx кодируются по-разному. Как отобразить обе эти инструкции на одну ячейку с флагами?
Аноним 06/07/19 Суб 18:17:16 1429175316
>>1429136
> Как такую таблицу сгенерить скриптом?
Обновил код по ссылке. Берешь мануалы интела, том 2, appendix A с табличками. Записываешь для каждой из двух таблиц (однобайтовые и двухбайтовые опкоды) нужные флаги (можешь и трехбайтовые поддержать, если хочешь), получаешь список из 512 (768) элементов. Ну а дальше жмешь. Это простейший словарный метод фактически - если последовательность из 4 байтов с флагами есть в таблице - записываешь индекс, если нет - кладешь ее туда и записываешь индекс. Все эти разговоры про d/w-биты интересны лишь для того, чтобы понять, почему именно для 4 байт оно жмется лучше всего.

>>1429137
> Как отобразить обе эти инструкции на одну ячейку с флагами?
Записать один и тот же индекс ячейки с флагами для обеих инструкций?
ADD - это "группа" 00-04 ((Eb, Gb), (Ev, Gv), (Gb, Eb), (Gv, Ev))
MOV - это "группа" 88-8с ((Eb, Gb), (Ev, Gv), (Gb, Eb), (Gv, Ev))
Т.е., да, у нас разные опкоды, похуй на опкоды - операнды-то кодируются одинаково (для 01 и 89 это Ev, Gv, для остальных пар тоже совпадают). Где-то в таблице (по индексам 80-84) лежат 4 байта с флагами, которые подходят и для ADD, и для MOV. Поэтому ты пишешь в индекс (01 >> 2) значение 80, в индекс (89 >> 2) значение 80, все.
Аноним 06/07/19 Суб 18:31:06 1429182317
>>1429135
Так делать безопасно?
Аноним 06/07/19 Суб 19:07:54 1429202318
>>1429182
По большей части (на реально существующих и распространенных платформах) - да. Вот если платформа требует выравнивания для чтения/записи указателей, а буфер не выровнен - может случиться что-нибудь нехорошее. Ну можешь сделать: uintptr_t funcadddr = func; memcpy(buffer, &funcaddr, sizeof(funcaddr)), если тебя это волнует.
Аноним 06/07/19 Суб 22:18:19 1429357319
>>1425211
Кто уже прочитал? Обсудим? Вам не кажется, что слишком мало посвящено современным технологиям? Сейчас нет смысла что-нибудь писать, что не работает в дэфолтной win10 x64 с uefi. И про обход проверки целостности в таких условиях там полторы страницы без описания PoC или разбора какой-нибудь малвари. Упомянули эксплоит в драйвере виртуалбокса всего в одном предложении, хотя эта тема заслуживает отдельной главы. При этом более древние техники с mbr на xp разобраны на 100 страниц.
Аноним 06/07/19 Суб 23:36:39 1429406320
>>1429357
Дочитал. Вот сижу https://www.youtube.com/watch?v=7p2uAgO9lBQ смотрю. Ну да, я тоже большего ожидал, на самом деле, каких-то практических знаний, а вышло по итогу, что я знаю что какие-то технологии / дыры там есть, но как их исследовать не знаю и остается только фантазировать. Короче углубляться надо самому.
Аноним 06/07/19 Суб 23:42:25 1429412321
>>1429357
На сколько я понял, удаленно уже ничего провернуть нельзя. Не зря за удаленное постоянство на уровне железа награда в 1-2 миллиона долларов у эпл и 1 лям у мс. Но атаки с физическим доступом более чем реальны. Погугли блог Dmytro Oleksiuk'a (Cr4sh).
Аноним 07/07/19 Вск 00:21:47 1429431322
>>1429412
>Cr4sh
Этого знаю. Речь не про удалёный jailbreak, а просто как установить драйвер в винду не имея подписи. Ну или не драйвер, а какой-нибудь другой буткит, но он должен работать на чём-то современном, а не пытаться лезть в мбр.
Аноним 07/07/19 Вск 00:48:53 1429457323
>>1427827
и зачем так жить то? если только работа да сон?
Аноним 07/07/19 Вск 11:25:27 1429619324
>>1429431
В таком случае не становятся ли актуальными полиморфные-метаморфные вирусы? Зачем ебаться с подписями, если можно жить в файлах?
Аноним 07/07/19 Вск 14:04:20 1429717325
Что почитать об оперативной памяти? Меня волнует это, потому что захотел написать свой недо cheat engine с функционалом 1/10000 от оригинала. Как я понял ReadProcessMemory читает всю память процесса (с кодом). А мне код нахуй не нужен. Данные же полюбому как то помечаются на исполняемые и неисполняемые.
Аноним 07/07/19 Вск 14:26:42 1429735326
>>1429133
>В таблице фактически сначала индексы лежат, а потом флаги. Но индексы тоже занимают место, и ты вроде бы наоборот должен проиграть. Но как ты верно заметил, у многих инструкций есть d/w биты, и если флаги для группы инструкций положить последовательно, то ты можешь адресовать одним индексом всю такую группу.
Примерно понял. Число code >> 2 это начало группы флагов, а число (code >> 2) + code & 3 непосредственно выбирает флаг. Но зачем так сделано? Разве mov ax, ax с d=1 отличается от mov ax, ax с d=0? Разве от флагов d, w, s зависит то, будет ли за первым байтом инструкции идти байт ModR/M или SIB? Может, лучше просто выбирать флаги по индексу code >> 2?
Аноним 07/07/19 Вск 15:24:26 1429767327
>>1429431
> а просто как установить драйвер в винду не имея подписи
На своем компьютере если, то просто отключаешь проверку подписи драйвера, включаешь режим отладки и грузишь драйвер. Также в биосе есть функции по отключению проверки подписи прошивки.
Удаленно установить прям именно драйвер никак нельзя. Можно разве что выполнить шеллкод в режиме ядра с помощью уязвимостей в компонентах ОС, либо через уязвимый легитимный драйвер но у тебя уже должны быть права админа. Буткит на тачке со всеми включенными функциями защиты то есть по дефолту ты никак не установишь. В теории конечно можно, но очень много где должны сойтись звезды.
Аноним 07/07/19 Вск 15:30:02 1429774328
>>1429619
И как ты себе это представляешь? При заражении файла сигнатура бьется, файл не считается легитимным. Также есть всякие ASLR, DEP, CFG и прочие механизмы, которые убили полиморфные вирусы уже очень давно.
Аноним 07/07/19 Вск 16:04:28 1429790329
>>1429774
>Также есть всякие ASLR
Как рандомизация базового адреса и защита стека убили вирусы, если вирус можно написать базонезависимым?
Аноним 07/07/19 Вск 16:49:39 1429826330
>>1429790
>убили полиморфные вирусы
Ты слова не пропускай то.
Аноним 07/07/19 Вск 17:03:29 1429837331
>>1429735
Я попытался тебе объяснить, почему именно группы по 4, а в итоге только запутал. Давай еще раз.

Похуй, какая там структура у инструкций, какие у нее там где d или w. У тебя есть массив из каких-то 512 байт, ты хочешь его сжать (не знаю, зачем, но ты, наверное, хакир). Ты можешь использовать RLE, LZW или еще какую-нибудь хуйню, и оно отлично все пожмет, но тогда ты не сможешь запросто взять элемент i из массива, тебе придется его распаковывать от индекса 0 до i. Это тебе не подходит, это медленно. Тут ты замечаешь, что в массиве по офсетам, кратным 4 часто начинаются совпадающие последовательности байтов длиной 4. И ты решаешь хранить каждую такую последовательность один раз и делаешь новый массив. Но индексы элементов пошли по пизде, они отличаются от старых. Поэтому тебе нужна табличка, которая преобразует индекс i в несжатом 512-байтовом массиве в новый j в сжатом. Но эта табличка, очевидно, займет как минимум 512 байтов, плюс еще сжатый массив. Но офсеты последовательностей у тебя были кратны 4! Значит, для каждого i+0, i+1, i+2, i+3 где i кратен 4, можно хранить один и тот же индекс j, а вот эти +0, +1, +2, +3 прибавлять уже потом. И тогда у тебя таблица трансляции i -> j из 512 байтов становится всего 512 / 4 = 128, плюс сжатый массив. И это уже выигрыш.

А вот ответ, почему в массиве больше всего одинаковых последовательностей оказалось по 4 байта и по адресам, кратным 4 - как раз в том, что опкоды не всегда присваивались как попало, а существуют вот эти самые d и w. Ты мог бы хранить последовательности по 2, и флаги сжались бы лучше, но ты бы проиграл на индексах. Ты мог бы хранить последовательности > 4, так ты бы выиграл на индексах, но флаги бы сжались гораздо хуже (наверное, я не проверял).

Алсо, если ты сам дизасм длин собрался писать, нахуй тебе в 2019 сжимать таблицу и вот в это все пердолиться? Храни как есть.

> Может, лучше просто выбирать флаги по индексу code >> 2?
Это сработало бы, если бы у всех инструкций были бы d и w. Но вот есть cbw (98), cwd (99), call far (9a). У 98 и 99 нет операндов, у 9a один и большой. Если ты сделаешь просто table[9a >> 2], ты получишь флаги для cbw и вычислишь неверную длину в результате.
Аноним 07/07/19 Вск 17:51:44 1429856332
>>1429837
Можно вопрос. Где эти знания могут пригодиться вообще? Зачем писать дизасемблер самому, если есть десятки аналогов? Пердолинг ради пердолинга?
Аноним 07/07/19 Вск 18:00:21 1429862333
>>1429856
Это кажется, что есть аналоги, а как до дела дойдет - то нельзя, это не работает, это только через ебаный костыль, вся либа ебаный костыль, пошло оно все в пизду, учу 1С. На самом деле дизассемблеров длин не так много, а если искать одновременно поддерживающий все современные инструкции и чтобы размером в одну-две страницы на Си, то их вообще ноль, наверное.
Аноним 07/07/19 Вск 20:01:27 1429935334
>>1429837
Принцип сжатия я понял. Мне интересно, на какие группы разбиваются все инструкции на x86. Вот у mov eax, [00401000] есть ModR/M и 4-байтный адрес. А у push eax (0x50) больше нет никаких байт, кроме этого опкода. add eax, [00401000] похож на mov выше. А еще есть инструкции с 8-битными, 16-битными и 32-битными операндами. Есть инструкции без операндов. Я предполагаю, что количество групп, на которые можно разделить все инструкции, совпадает с количеством 4--байтных последовательностей флагов. Хочу понять, что это за группы и сколько их.
Аноним 07/07/19 Вск 20:28:43 1429955335
>>1429935
> на какие группы разбиваются все инструкции на x86
Ну оно разве что когда-то давно разбивалось: https://gist.github.com/seanjensengrey/f971c20d05d4d0efc0781f2f3c0353da (да и то, например софтварный INT не просто так cd, а потому что в 8080 по cd CALL был). Потом, в процессе развития x86, инструкции уже просто тыкали везде, где оставалось свободное место (а с ним было очень напряжно, из-за чего, например, pop cs под двухбайтовые опкоды реюзнули). Поэтому не стоит искать структуру там, где ее уже давно нет. Даже в RISC форматы кодирования дробятся со временем.

> количество групп, на которые можно разделить все инструкции, совпадает с количеством 4--байтных последовательностей флагов
Нет. Например, "группы" для PUSH reg и POP reg состоит из 8 инструкций, расположенных последовательно. А вот в PUSH sreg (для es,cs,ss,ds) сегментный регистр указывается в середине инструкции, т.е., "группа" как бы существует, но получившиеся опкоды разбросаны по всей таблице.

Если реально интересно, возьми мануалы интела постарше (типа 486, а лучше 8086), там инструкции хоть и сгруппированы по применению, их структура наглядно нарисована, можешь спарсить оттуда данные и погруппировать.
Аноним 08/07/19 Пнд 17:45:09 1430397336
Кто нибудь находил какие либо технические детали по поводу Memory Integrity с использованием HVCI? Такими темпами винда убьет всю малварь сама и антивирусы станут не нужны, как в случае с макосью. Что думаете?
Аноним 08/07/19 Пнд 19:19:06 1430438337
>>1430397
А можно инфы по поводу макоси и ее расправы над малварями?
Аноним 08/07/19 Пнд 22:09:24 1430527338
>>1430397
> Такими темпами винда убьет всю малварь сама
Как это защитит от на коленке сделанного скрипта из десяти строк, который зашифрует Documents и попросит бетховенов?
Аноним 08/07/19 Пнд 23:05:30 1430554339
>>1430397
Винда начиная с 2000 убила всю малварь в прямых руках.
>>1430527
Одно слово - SRP.
09/07/19 Втр 02:17:42 1430608340
>>1430554
> Одно слово - SRP.
Ну ты у себя настроишь. А кто будет пользователям объяснять, почему у них инсталлятор скачанной программы не запускается? А если запускается? А если в инсталляторе тот самый скрипт?
Аноним 09/07/19 Втр 17:03:47 1431068341
VEX.png (69Кб, 644x365)
644x365
VEX считается RISC'ом, или как?
Аноним 10/07/19 Срд 00:00:35 1431329342
Как на десятке создать виртуальный флоппи диск с бутлоадером?
Аноним 10/07/19 Срд 00:44:33 1431372343
>>1430608
Пользователи не нужны.
Аноним 10/07/19 Срд 00:48:47 1431378344
Как переводится Second Fault Exception Handler?
Аноним 10/07/19 Срд 01:15:20 1431394345
ex.png (28Кб, 742x462)
742x462
Есть такая няка. Как пропатчить эту программу, чтобы MessageBox отобразился два раза? Не примитивные способы типа копипаста.
Аноним 10/07/19 Срд 01:19:42 1431396346
>>1431394
Мириард вариантов.
Аноним 10/07/19 Срд 02:07:10 1431401347
>>1431378
Обработчик ошибок в обработчике ошибок.
Аноним 10/07/19 Срд 02:10:11 1431403348
>>1431394
– Вот как мне, интересно, файлы получше заражать, – размышлял Винни. – Если я положу в начале программы RET, а стек заставлю смотреть на адрес возврата…

– Кого заставишь смотреть? – испугался Пятачок, которому померещилось чего-то страшное.

– Стек, – сказал Винни Пух.

– Ага, – сказал Пятачок понимающе и отодвинулся от монитора подальше.

– Вот… Заставлю его смотреть на адрес возврата, то Пчелы, наверное, подумают, что это просто какая-то ошибочка и ничего не заметят. А если я поставлю вначале переход на вирус, как вызов процедуры, то Пчелы, наверное, подумают, что это маленькая подпрограммка и тоже ничего не заметят. По-моему так.

– Ага! – поддакнул Пятачок.

– Ну, чего будем ставить? – спросил Винни.

– Я? А… Его… Знаешь, Винни, – сказал Пятачок решительно. – Если там кто-то на кого-то будет смотреть, то это очень страшно. Давай лучше ма-а-аленькую парт… порт… прод-программочку, все равно Пчелы ни чего не заметят.

– Устами поросенка глаголет Истина, – сказал Пух важно, решительно опуская лапы на клавиатуру, и Пятачок заметно покраснел и стал выводить левым задним копытцем неопределенные круги.
Аноним 10/07/19 Срд 10:20:12 1431470349
Аноним 10/07/19 Срд 10:25:47 1431473350
Что с форумом exelab?
Аноним 10/07/19 Срд 12:35:38 1431515351
>>1431403
Как это сделать в hiew, чтобы не затирать байты, а добавить новые? В меню edit->asm только затирание
Аноним 10/07/19 Срд 14:43:00 1431582352
Аноним 10/07/19 Срд 14:46:51 1431583353
>>1431515
Ты хочешь в середину сегмента кода новые байты вставить? Тогда у тебя после них все ссылки поедут и ничего не будет работать.
Аноним 10/07/19 Срд 21:48:53 1431901354
>>1431470
В конце 27ой главы пропущены страницы
Аноним 11/07/19 Чтв 02:06:17 1432027355
>>1431901
отпиши @Slippery_Fox в телеграме,он слил
Аноним 11/07/19 Чтв 03:32:06 1432090356
>>1432027
Ок. Завтра напишу. Если не постесняюсь.

Обсудим теперь эту книгу? Помню алиса в твитере так пафосно прокомментировала книгу. "не буду утверждать, что всё написанное про меня правда". А оказалось, что про неё там 2 абзаца скопипащенных с форбса. И странно, что не упоминали диму краша из-за которого как раз и попала под санкции алиса. Хотя сама виновата, что понабрала школьников с античата в компанию. В gib например всех на полиграфе проверяют и каким бы талантливым он не был его бы туда не взяли.
Аноним 11/07/19 Чтв 04:11:56 1432095357
Аноним 11/07/19 Чтв 04:16:04 1432096358
Аноним 11/07/19 Чтв 04:24:48 1432097359
>>1432090
> В gib например всех на полиграфе проверяют
На предмет чего?
Аноним 11/07/19 Чтв 04:25:52 1432098360
>>1432097
криминал в прошлом ищут
Аноним 11/07/19 Чтв 04:29:34 1432099361
>>1432098
Ну и нахуй сразу кантору такую. А в жопу с фанариком они не лазают?
Аноним 11/07/19 Чтв 04:33:02 1432100362
>>1432099
там и платят мало. идти стоит или студентом, а потом валить или директором, а потом оставиться
Аноним 11/07/19 Чтв 10:15:59 1432238363
это что вообще?
Аноним 11/07/19 Чтв 12:33:47 1432313364
В нулевых был какой-то годный русскоязычный журнал, который каждый уважающий себя асемблятор выписывал, название было из двух слов, журнал точно был one of a kind, может тут кто-то вспомнит?
Аноним 11/07/19 Чтв 13:19:04 1432353365
Что можно почитать о багхантинге и ошибках сравения знаковых чисел с беззнаковыми (ja, jg)?
Аноним 11/07/19 Чтв 14:00:13 1432368366
>>1431583
Да, хочу, например, пропатчить адрес возврата и записать что-то типа mov dword ptr[esp+1], 401000h.
Что надо делать, чтобы все ссылки не поехали? Есть инструменты, которые автоматизируют такой патчинг?
Аноним 11/07/19 Чтв 14:03:02 1432371367
>>1432313
Системный администратор, любимый журнал Криса
Аноним 11/07/19 Чтв 14:13:20 1432376368
>>1432368
Как виннипух тебе написал. Вместо call MessageBoxA делаешь call куда-то в пустое место программы, а там делаешь что нужно. Пчелы подумают, что это маленькая подпрограммка и ничего не заметят.
Аноним 11/07/19 Чтв 15:06:57 1432460369
ex.png (23Кб, 678x437)
678x437
>>1432376
Понял. У меня как-то не так встали адреса. В hiew я выбираю edit->Asm и ввожу push 0401000. Это адрес подпрограммки, которая выводит окно. Но в OllyDbg видно, что обращение происходит вообще не туда. Видимо, я не умею правильно записывать адреса в hiew. Как это делать?
Потом я хотел переместить вывод окна в пустую область нулей, но команда call MessageBoxA не ассемблировалась. Как ассемблировать вызовы импортов?
Аноним 11/07/19 Чтв 15:56:52 1432510370
>>1432460
> Но в OllyDbg видно, что обращение происходит вообще не туда
У exe-шника случайно релоков нет?

> hiew
Но зачем пердолиться в это говно мамонта, если ты можешь ассемблировать прямо в ольке?
Аноним 11/07/19 Чтв 19:49:24 1432609371
>>1432096
Алису Шевченко обоссали на форуме fuckav за барыжничество чьим-то криптором.
Аноним 11/07/19 Чтв 19:56:29 1432616372
>>1432609
Ясен пень, тян априори в лоу левел въехать не могут. Есть книга то в нормальном .pdf формате? А то скачал выше по ссылке, там фотками все.
Аноним 11/07/19 Чтв 20:00:15 1432621373
>>1432609
Можно скрин треда?Я просто хз вообще как на факаве регу пройти тк у меня из профилей на форумах только пустой профиль на экспе
Аноним 11/07/19 Чтв 20:37:18 1432638374
Аноним 11/07/19 Чтв 20:40:05 1432640375
>>1432638
Вроде, это https://fuckav.ru/showthread.php?t=32169
Суть такова. Там внезапно появилась тян, которая стала активно тусить на форуме и влезать в каждый тред, чтобы показать свою компетентность. Предлагала безвозмездную помощь. Тем не менее, все обращались к "ней" в мужском роде. Потом она там начала барыжить и ее поймали на барыжничестве чьим-то криптором.
Аноним 11/07/19 Чтв 20:43:12 1432645376
>>1432640
sweetmika7 это и есть алиса шевченко?
Аноним 11/07/19 Чтв 20:44:57 1432649377
>>1432645
Ну ту телку считали Алисой. Еще там в чате говорили, что Алиса раньше сидела на их форуме.
Аноним 11/07/19 Чтв 21:38:53 1432685378
>>1432640
Какая-то ересь полная. Заказчик там сам мягко говоря с программированием мало знаком, исполнитель - тоже. Я что-то передумал даже книгу читать, если там о таких товарищах пишется. Или годная все таки?
Аноним 11/07/19 Чтв 21:42:35 1432688379
>>1432685
>Я что-то передумал даже книгу читать, если там о таких товарищах пишется.
Это и есть настоящие хакеры. Люди, которые хуево знают программирование, но любят залезать в анусы операционных систем, чтобы поиметь с этого деньги. Такие товарищи носят в своих вирусах bat-файлы. А в книге еще рассказывается про барыгу оружием.
Аноним 11/07/19 Чтв 21:56:04 1432698380
>>1432688
Да уж. Из всей этой тусовки только персонаж Indy вызывает доверие. Олдфаг со стажем, помогает бесплатно, ресерчит даже что-то успешно. На забугорных форумах видел упоминания о нем и похвалы. Жалко конечно что у него своего блога нет, приходится в интернетах сообщения выискивать.

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

Тут по-моему единственный адекватный выбор - это идти малварь реверсить к какую-нибудь тир2-3 ав кантору.
Аноним 11/07/19 Чтв 23:42:23 1432792381
>>1432698
>Короче нафик этот хакинг, тот еще пердолинг
Ты этот хакинг сначала осиль, вайтишник ебаный.
12/07/19 Птн 00:18:41 1432816382
>>1432792
Давай решим сначала, что такое хакинг. По ссылкам выше ребячество. Пару сотен строк кода с использованием документированного апи. Это хакинг разве? Такое даже в джава треде осилят.

Ты чего так загорелся-то? Я тебя задел что-ли? Ну если хочешь, давай проверим чье кунг-фу сильнее. Придумывай задание.
Аноним 12/07/19 Птн 00:41:12 1432832383
>>1432816
А это уже интересно.
мимо другой
Аноним 12/07/19 Птн 05:14:00 1432886384
>>1432616
>Ясен пень, тян априори в лоу левел въехать не могут
Боюсь мне придется хуй тебе по рылу размазать.
ничего личного, Северодвинск рулит
Аноним 12/07/19 Птн 05:15:57 1432887385
>>1432816
>Придумывай задание
На Росинке рут получи.
Аноним 12/07/19 Птн 05:21:31 1432888386
изображение.png (58Кб, 686x765)
686x765
Аноним 12/07/19 Птн 13:48:42 1433196387
>>1432816
>Придумывай задание.
Реализуй аналог WinApi функции LoadLibrary, получающей указатель на буфер в памяти с содержимым DLL-ки вместо имени файла.
Аноним 12/07/19 Птн 14:07:54 1433206388
>>1433196
Скучно. Такое тут каждый первый писал.
другой анон
Аноним 12/07/19 Птн 14:09:14 1433207389
>>1433206
>Такое тут каждый первый писал.
Даже не сомневаюсь.
Аноним 12/07/19 Птн 14:10:47 1433210390
Хочу написать низкоуровневую программку, которая прочитает от юзера два сколь угодно длинных числа, сложит их и выведет результат на экран. Без аллокаторов памяти и прочего. Как это можно сделать?
Я хочу заюзать прерывания биос, но тогда, наверное, придется работать в реальном режиме. Прерывания ведь недоступны из ПМ?
Как еще можно решить задачу?
Аноним 12/07/19 Птн 14:13:28 1433212391
>>1433210
> Как еще можно решить задачу?
Никак. Защищенный режим на то и защищенный, чтобы не давать тебе доступ к железу в обход дров (мы же про ОС говорим, а не про код, который сам в защищенный режим переключается?). Алсо, вот как раз в реальном режиме ты можешь обойтись и без прерываний, выводя напрямую в видеопамять.
Аноним 12/07/19 Птн 15:50:44 1433262392
image.png (1215Кб, 1642x995)
1642x995
какие поля у структуры линуксового модуля могут быть интересны при разработке IDS? можете посоветовать какой нибудь современный цикл статей по фундаментальным структурам линукса типа процессы, сетевые соединения, модули и тд, чтобы читалось легко?
Аноним 12/07/19 Птн 16:55:33 1433320393
Как распаковать екзешник запокаванный enigma protector 4.xx ???
Аноним 12/07/19 Птн 17:32:04 1433350394
>>1433196
А я бы посмотрел на опенсор реализацию такой штуки
Аноним 12/07/19 Птн 17:34:18 1433352395
>>1433350
А блять хуйню спизданул. Забудьте
Аноним 12/07/19 Птн 18:39:13 1433416396
>>1433196
Издеваешься? Исходники на васме еще с 2000 года висят, куча современных аналогов на гитхабе. Реализаций отображения буфера в целевой процесс может быть несколько, также как и вызова мейн функции. Давай корректное задание с описанными деталями реализации и не то которое придется весь день писать.
Аноним 12/07/19 Птн 18:49:21 1433430397
>>1433416
>куча современных аналогов на гитхабе
Ну кинь сюда хоть один, лол.
Аноним 12/07/19 Птн 18:57:37 1433437398
>>1433430
https://github.com/Zer0Mem0ry/ManualMap/blob/master/ManualInjector/ManualInjector.cpp

Вот например. Самая обычная реализация с использованием высокоуровневого документированного апи. Выделяешь виртуальную память в целевом процессе, записываешь туда буфер, правишь его согласно правилам pe-формата, вызываешь мейн функцию по средствам создания нового потока. Никаких хаков.
Аноним 12/07/19 Птн 19:27:27 1433447399
>>1433437
Сойдет, хотя код жопошный, конечно.
Хоть бы RAII-врапперы понаписал для базовых вещей, и макрос для доступа в структуру с проверкой валидности смещения.
12/07/19 Птн 20:05:36 1433462400
>>1433437
> с использованием высокоуровневого документированного апи
Давай заценим:
1) Формат не проверяется совсем, вообще, никак. Скормив этой фукции сломанную длл или неподдерживаемую длл (см., например, типы поправок, которые не проверяются тоже), можно уронить все нахуй. Да этой хуйней можно mp3 грузить!
2) Модуля нет в PEB_LDR_DATA, многие функции Windows API с этой "длл" работать не будут. Например, та же работа с ресурсами.
3) TLS не поддерживается.
4) Activation context-ы не поддерживаются, load configuration не поддерживается, 64 бита не поддерживаются, runtime function table, куча других сколько-нибудь современных вещей - нет. И это я еще молчу о тонкостях PE-формата.

Выводы сделаешь сам?
Аноним 12/07/19 Птн 20:21:13 1433471401
>>1433447
По хорошему надо PE-парсер туда имплантировать и разные врапперы/хелперы, а так да, нечитабельно.

>>1433462
Правильно, это POC скорее всего, а не полноценная реализация. Но хацкеры обычно инжектят голые длл или шеллкод, где нет никаких TLS, эксепшенов и прочей лабуды.
Грамотный парсер PE-формата фиксит все вышеперечисленные тобою проблемы. Кроме того, я уверяю тебя, что все это вообще не нужно, ибо весь функционал можно реализовать в рантайме.

А что там за тонкости PE-формата?
12/07/19 Птн 21:15:47 1433520402
>>1433471
> А что там за тонкости PE-формата?
Ну я имел в виду всякие банальности типа VirtualSize = 0 у секций. Код не читал, только скроллил.

> инжектят голые длл или шеллкод
Там выше просили "аналог WinApi функции LoadLibrary", а не шелкоды-инжекты-хаки-спамы-куки. Шелкоду PE-лоадер без надобности.

> я уверяю тебя, что все это вообще не нужно
Это у тебя просто никогда MessageBox() не фэйлился из-за того, что лоадер SxS не умеет.
Аноним 12/07/19 Птн 22:06:58 1433546403
>>1433520
Тогда и смысла реализовывать это все руками нет, если не для хакинга. Некорректная задача. Реализовать все и не получится, потому что есть куча мест, куда нужно что-то впихнуть, где-то счетчик ссылок поправить забыл и у тебя все упадет.

>Это у тебя просто никогда MessageBox() не фэйлился из-за того, что лоадер SxS не умеет.
Приведи пример.
12/07/19 Птн 23:21:54 1433604404
>>1433546
> Приведи пример.
Деталей уже не помню, много лет прошло. Примерно так: XP, comctl32 в импортах, отсутствие InitCommonControls. MessageBox возвращал 0 с валидными параметрами. Допилили SxS и заработало.

> если не для хакинга
Для моддинга. Грузилась игра, правились/подменялись импорты и код на лету. На WriteProcessMemory возбуждался антивирус, пользователи пугались, поэтому был запилен лоадер. Потом по-другому сделали, правда.
Аноним 14/07/19 Вск 07:50:10 1434588405
>>1432090
А неплохая все таки книженция. Интересные истории получились, кому-то повезло, кому-то совсем нет. Ну а про наше внутреннее устройство и так все знали, разве что навальнята вон пусть просвещаются.
Аноним 14/07/19 Вск 10:20:44 1434641406
Аноним 14/07/19 Вск 11:25:08 1434671407
>>1434641
Лол, только скачал, и уже забанили канал?
Туровский, ты не охуел там, часом?
Аноним 14/07/19 Вск 11:36:07 1434683408
изображение.png (999Кб, 1630x927)
1630x927
Аноним 14/07/19 Вск 11:38:12 1434685409
>>1434683
Channel with username @freedom_fox not found
Аноним 14/07/19 Вск 12:14:33 1434706410
>>1434685
Ты с айфона что ли сидишь?
Аноним 14/07/19 Вск 12:24:20 1434711411
>>1434706
Тарищ майор, хватит вынюхивать! У меня андроид.
Аноним 14/07/19 Вск 13:05:44 1434733412
>>1434711
Да это Туровский, я гарантирую это.
Аноним 14/07/19 Вск 14:44:39 1434867413
>>1434683
Залейте эту версию книги куда-нибудь еще.

мимо бдло без телерама
Аноним 14/07/19 Вск 15:40:16 1434938414
Пытаюсь расковырять в IDA Pro обычную программу (хэллоуворлд), скомпиленную в Visual Studio. Я долго искал main через _start, в итоге обнаружил, что он вызывает метод с двумя вложенными методами с двумя вложенными методами и так далее... Разок наткнулся на строку, которую программа выводит, а сам метод printf вызывается не в той подпрограмме, где значение кладется в стек, а через два слоя таких вот sub'ов! Анончик, почему все так дико?
Аноним 14/07/19 Вск 15:43:28 1434947415
>>1434938
Алсо, платформа - шиндовс, язык - С++.
Аноним 14/07/19 Вск 16:45:32 1435017416
>>1434947
Енджой ер вижуал сиплюсплюс и компилятор вс
Аноним 14/07/19 Вск 16:48:29 1435020417
>>1435017
А как мне виндовый софт реверсить-то, блджад?
14/07/19 Вск 17:10:25 1435034418
>>1434938
Выложи, давай посмотрим.
Аноним 14/07/19 Вск 19:34:17 1435172419
Аноним 14/07/19 Вск 19:52:30 1435183420
Студентоты полон тред. Кто нибудь здесь хоть раз операторы местами переставлял для того чтобы уменьшить время переключения пайплайна?
Аноним 14/07/19 Вск 20:07:02 1435205421
>>1435172
Посоны не качайте, там вишмастер, пишу с тостера.
14/07/19 Вск 21:32:29 1435292422
Аноним 14/07/19 Вск 21:35:50 1435294423
Аноним 14/07/19 Вск 21:41:22 1435302424
немного оффтоп, но может кто нибудь знает.
есть произвольная линуксовая система, на которой запущен скрипт командой python3 scriptname.py от имени рута, но запускал не я, хоть и есть доступ к руту. ни в / ни в ~ рута скрипта scriptname.py нет, да и через find/locate по всей системе он тоже не находится. мне нужно узнать, что именно делает скрипт, в иделае вообще получить его сорсы. как это можно сделать?
Аноним 14/07/19 Вск 22:10:30 1435337425
>>1435302
Через /proc/<pid>/fd
Надеюсь, ты не ленивый студент, хотя все на это указывает.
Аноним 14/07/19 Вск 22:17:00 1435340426
image.png (170Кб, 697x216)
697x216
Аноним 14/07/19 Вск 22:21:31 1435353427
>>1435340
Это значит, что ты пидор не умеешь учиться, и ждешь, что кто-то решит за тебя задачу. С таким подходом в ИБ делать нечего.
В качестве общего подхода, могу посоветовать тебе смоделировать ситуацию, и смотреть там, что и как.
Аноним 14/07/19 Вск 22:24:22 1435359428
>>1435353
ух ты блять какой. ну и ладно, придется тратить время и гуглить, я пришёл сюда за помощью с нетривиальной проблемой, потому что вроде как для этого форумы и нужны, но если тут только нахуй посылают с вопросами, то чё делать, пойду искать решение сам.
15/07/19 Пнд 00:04:14 1435402429
>>1435340
Это значит, что питон не держит файл со скриптом открытым, а скрипт, скорее всего, себя уже удолил, раз find не находит. Хотя ты в /proc/<pid>/cwd смотрел? сдампи память процесса
Аноним 15/07/19 Пнд 01:09:53 1435415430
>>1435294
>судя по размеру тут первая версия с пальцами
Там сжато. не хотел 60 мегабайт по сети загружать
Аноним 15/07/19 Пнд 23:12:19 1436416431
>>1432090
>Обсудим теперь эту книгу?
Хунта из под коня.
Серьезно, кроме пары интервью вообще ничего нового/интересного.
О каких-нибудь технических деталях я уже вообще молчу.
Аноним 16/07/19 Втр 00:49:53 1436491432
Такой вопрос. Я тут статью на хабре прочитал, там парень рассказывал, как занимался реверс инжинирингом контроллера лифта в подъезде.
Насколько нужно быть профессионалом, чтобы провернуть такое?
Вот допустим я чисто поприколу хочу влезть в лифт в падике и кнопки перемешать (теоретическая ситуация).
Сколько мне нужно будет обучаться, чтобы смочь такое?
Аноним 16/07/19 Втр 01:07:36 1436495433
>>1436491
Профессионалом тут быть не нужно. Только анус разработать не забудь.
16/07/19 Втр 01:11:25 1436496434
Аноним 16/07/19 Втр 12:13:31 1436637435
>>1406213 (OP)
дело было вечером, делать было нечего, забэкапил на гит/гитбук с wasm.in перевод "Введение в реверсинг с нуля, используя IDA PRO" от Яши. Из плюсов гитбука - полнтекстовый поиск.
Есть еще чем там заняться, но это уже по времени/возможности. Или если кто то сам поправит и пулреквест пришлет

https://yutewiyof.gitbook.io/intro-rev-ida-pro
Аноним 16/07/19 Втр 12:14:45 1436638436
>>1436491
это как вырезать гланды через жопу. Залезаешь в падк, снимаешь панель, тасуешь кнопки. профит.
а в статье описано то что делалось овердохуя жопачасов
Аноним 16/07/19 Втр 14:00:51 1436695437
>>1436495
>анус разработать
Да я же незаметно. Ночью залезу и сделаю всё.
А если серьезно, интересен просто сам вопрос, сколько времени нужно изучать материал, чтобы смочь сделать такую вещь.
Или, вот адекватный пример. Есть у меня например кофемашина. И я пару кнопок не использую (ну там где пенка и тд). Я хочу сам залезть и перепрограммировать так, чтобы на эти две кнопки делалось другое (кофе с выбранными параметрами). Чтобы не крутить вертушки и не настраивать, а просто кнопку нажать.

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

>>1436638
Так не интересно. Да и это решения уровня, стереть вообще цифры у кнопок.
Тут же вопрос скорее общий и теоретический.
Аноним 16/07/19 Втр 14:29:24 1436721438
>>1436695
чтобы ты смог взять чип с кофеварки,написать свою прошивку на асме проца этой платы и все прошить?Или что ты имеешь ввиду?Найми спецов лучше
Аноним 16/07/19 Втр 14:42:56 1436744439
>>1436695
>Тут же вопрос скорее общий и теоретический.
к каждой цели надо идти разумными средствами/способами.
Аноним 16/07/19 Втр 14:50:01 1436755440
>>1436721
А обязательно свою прошивку писать? Нельзя ли просто немного изменить ту, что уже есть? Может и тупой вопрос, я просто никогда этим не занимался.
Аноним 16/07/19 Втр 15:03:37 1436766441
>>1436755
зависит от целей и размаха. начни для начала прогать, и смотри на результат. Заодно разбирай все что пишешь. У Юрича все хорошо написано.

В шапке :
beginners.re - "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
Аноним 16/07/19 Втр 15:04:47 1436770442
>>1436755
ЗЫ. если прогать сложно будет, то в реверс лесть тем более. Там многое завязано на багаж опыта.
Аноним 16/07/19 Втр 18:48:23 1436978443
>>1436637
А вот за это большое благодарочка, анон. В шапку можно будет добавить. Алсо, куда Яшечка в итоге ушел? С васма то его выгнали, к сожалению.
Аноним 16/07/19 Втр 19:51:39 1437025444
>>1436637
ОП добавь в шапку!
оп
Аноним 16/07/19 Втр 20:46:13 1437067445
>>1436978
не выгнали, он по прежнему там, но обида и тд. что как дальше будет - хз.
Аноним 16/07/19 Втр 21:05:19 1437095446
>>1437067
А Володий общак вернул?
Аноним 16/07/19 Втр 21:20:07 1437109447
>>1437067
Так забанили же его вроде? Или уже разбанили?
Аноним 16/07/19 Втр 21:41:50 1437127448
>>1437095
не вкурси я мимо крокодил
>>1437109
может ридонли? в личку всё норм а на форуме не видать
Аноним 17/07/19 Срд 10:40:37 1437416449
Володуа, верни общак
Аноним 17/07/19 Срд 12:00:46 1437468450
аноны, помогите, как работать с режимами процессора в асме? я знаю его не очень, но просто интересно для себя покапаться в защищёных и прочих режимах проца, чтобы понять разобраться и получить базовые скилы.
Аноним 17/07/19 Срд 12:16:22 1437483451
Извиняюсь за небольшой оффтоп
Кто может сказать где сейчас 29A,z0mbie и прочие крутые вирмейкеры из начала нулевых?Когда они все это творили я только родился,так что не застал.Интересна их судьба
Аноним 17/07/19 Срд 16:55:50 1437664452
Аноним 17/07/19 Срд 17:19:19 1437673453
image.png (356Кб, 678x1138)
678x1138
>>1437468
Наврено самое доступное и более менее актуальное:
Аблязов Руслан Зуфярович - Программирование на ассемблере на платформе x86-64
Аноним 17/07/19 Срд 17:20:15 1437674454
>>1437664
а что случилось что он теперь fasmg? вроде раньше же всегда был просто fasm
Аноним 17/07/19 Срд 21:22:17 1437865455
15603542212290.png (1008Кб, 629x888)
629x888
Кроссплатформенный Ассемблер!

https://gamedev.ru/code/forum/?id=244813

Совершенно случайно наткнулся на такую тему, вопрос в том: КАК?
Аноним 17/07/19 Срд 23:02:53 1437949456
>>1437674
Ничего не случилось, fasm остался. fasmg - это fasm2 движок для написания ассемблеров с помощью допиленных макросов fasm.

>>1437865
Ну начинается...
Аноним 17/07/19 Срд 23:06:39 1437955457
>>1437483
На бутылке скорее всего. Без шуток.
Аноним 17/07/19 Срд 23:08:07 1437958458
>>1437865
Опять ты. Еще и анимешник. Понятно все с тобой.
Аноним 17/07/19 Срд 23:49:07 1437999459
C.jpg (10Кб, 198x322)
198x322
>>1437865
>Совершенно случайно наткнулся на такую тему, вопрос в том: КАК?
Кроссплатформенный Ассемблер это С, без шуток.
Аноним 17/07/19 Срд 23:56:28 1438001460
Inori-Aizawatra[...].jpg (114Кб, 679x960)
679x960
>>1437999
почему си постоянно рисуют взрослотянкой а не нердодевочкой -_-
Аноним 18/07/19 Чтв 00:00:51 1438003461
>>1438001
>год появления 1970
Потому что ему (ей) больше, чем большинству посетителей этой (и любой другой) борды.
Хотя уже яваскрипту с пыхой больше 18, теперь даже с ними не зазорно трахаться.
Аноним 18/07/19 Чтв 00:04:35 1438006462
>>1438003
>Хотя уже яваскрипту с пыхой больше 18, теперь даже с ними не зазорно трахаться
Я бы не стал. Велики шансы подцепить рак глаз или даже мозга.
Аноним 18/07/19 Чтв 00:11:36 1438009463
1562409396016.png (1048Кб, 1920x1080)
1920x1080
>>1438003
ну и что
алсо на картинке откуда она взята руби моложе джавы хотя должна быть старше
и самая милая там - лол визуал бейсик
Аноним 18/07/19 Чтв 07:15:23 1438070464
>>1437999
Без шуток, ассемблер это классический бейсик, буквально. Портянка инструкций с адресами, джампы, джампы с возвратом.
Аноним 18/07/19 Чтв 08:33:41 1438081465
>>1437949
но эти же охуянные макросы и тогда были)
Аноним 18/07/19 Чтв 11:03:46 1438116466
>>1436637
>>1406213 (OP)

https://backoftut.gitbook.io/intro-cracking-with-ollydbg/

Аналогичный бэкап курса Нарвахи по азам но уже на примере Ольки КМК, тут основы лучше рассказаны чем в курсе с идой, там их по верхам. И вообще базу все же лучше отдельно, а материал по инструментам отдельно. Но как есть
Аноним 18/07/19 Чтв 11:30:45 1438120467
>>1406213 (OP)
ТЫ, КТО СМЕЕТ ЭТО ВАШЕ ДЕРЬМО ПОГАНОЕ ЗДЕСЬ ХЕРАЧИТЬ, ЭТО ТЫ, ТАК НАЗЫВАЕМЫЙ БАЙТОСЛЕСАРЬ, ТЫ ГЕЙСКАЯ МРАЗЬ ПОГАНАЯ, ТЫ МУДАК СРАНЫЙ, ВОНЮЧИЙ ТЫ УРОД, ПОДОНОК, ЧТОБ ТЫ В НИИ ЗА 30К В МЕСЯЦ ГНИЛ, ТВАРЬ, ГНИДА ПОГАНАЯ! Я ТОЛЬКО НАТУРАЛ АБСОЛЮТНЫЙ, ЧИСТЕЙШИЙ ГЕТЕРО ПОЛНОСТЬЮ, НАВСЕГДА ТОЛЬКО НАТУРАЛ Я - ТОЛЬКО ДЕВУШЕК ОДНИХ ЛЮБЛЮ, ТОЛЬКО ДЕВУШЕК КРАСАВИЦ И ВСЁ!! ТОЛЬКО С ДЕВУШКАМИ ВСТРЕЧАЮСЬ, ТРАХАЮСЬ С ДЕВУШКАМИ СПЛЮ ТОЛЬКО! И ПРОГРАММИСТ Я ТОЛЬКО И ВСЁ!
Аноним 18/07/19 Чтв 13:18:04 1438151468
>>1437955
Да уже же 20 лет прошло с тех событий.все сроки давно прошли
Аноним 18/07/19 Чтв 16:55:10 1438308469
>>1438120
Код не пишешь, хуй не сосешь - зачем вообще ты на свете живешь?
Аноним 18/07/19 Чтв 17:16:11 1438319470
>>1438120
>ЧТОБ ТЫ В НИИ ЗА 30К В МЕСЯЦ ГНИЛ
Ну я и так как бы. Что сказать-то хотел?
Аноним 18/07/19 Чтв 20:24:26 1438447471
>>1438081
Нет, макросы fasmg гораздо мощнее и позволяют делать вещи, невозможные или требующие костылей в fasm1 (хотя кое-что Томаш бэкпортировал уже).
Аноним 18/07/19 Чтв 21:37:22 1438491472
>>1438447
Хорошо. Спасибо. Поищу почитаю.
научился ли fasm Делать дебаг инфу в ехешниках?
Аноним 18/07/19 Чтв 22:39:04 1438528473
>>1437958
В смысле, опять я ещё и анимешник?
Аноним 18/07/19 Чтв 23:06:35 1438548474
>>1438120
>В НИИ ЗА 30К В МЕСЯЦ
А где там зарплаты? Последнее предложение, что я видел, было 12. А я и в частной программистом на битриксе 30 умудряюсь получать.
Аноним 19/07/19 Птн 00:37:03 1438572475
>>1438548
В ДСах аж до 100к доходит белая зп в НИИ.
Аноним 19/07/19 Птн 00:52:30 1438581476
>>1406213 (OP)
Аноны, вопрос не совсем по теме, но спрошу - какие книги есть по машинному обучению в RE? Машоб-тред - помойка, там спрашивать бессмысленно.
Аноним 19/07/19 Птн 00:57:59 1438582477
>>1438581
даташиты в рдф от производителя

канкретный камень канкретные инструкции
Аноним 19/07/19 Птн 01:03:45 1438583478
01.JPG (6Кб, 491x68)
491x68
прошу проверить
дано
одно прерывание приходит каждые 13.57см
необходима скорость в кмч
это инт
могу на индекаторе отображать только 4 знака
тое 1234
точку естествеенно буду ставить в ручную
тое 45.5кмч это 455

на пике код

пожалуйста проверьте эту константу
Аноним 19/07/19 Птн 01:15:52 1438587479
04м.JPG (65Кб, 590x590)
590x590
а именно 37980
последний нуль смущает
нелюблю нули
оказываеца
тхл и тхх
карочи
это таймера и прерывания
к примеру
есть таймер
у него 2 регистра по байту
тх и тл
как только тл 256 тое =0 0хфф
он клацает камнем
тое нельзя сделать так
нижний регитр +2 кагда он 254
верхний не щелница нихуя

че забред? задаст вопрос зумер
ога этот бред начинаеца кагда ты начинаеш развадить второе прерывание по первому таймеру
притом это второе прерывание очень долгое
и можето и 1 раз за перва тайиер и один раз за 200 таймеров

а можите и меня обассат
Аноним 19/07/19 Птн 01:23:16 1438588480
>>1437865
не тупи маняме
....
после кросплатформы у твай няфы вместо ушей хуи вместо глаз залупа...
один хуй все перещитывать в ручную
я эту константу шитал 10 часов в течении полугода
и та мине не нравица
потомучто физики дахуя
тое внешних условий сверх быстрых просто ниебическое количество


Аноним 19/07/19 Птн 01:52:48 1438597481
>>1438491
Ну вот с fasmg ты можешь генерировать дебагинфу в любом формате, для которого только сможешь написать макросы (азаза. А в обычном фасме у тебя есть .fas и конвертеры какие-то вроде были для него, но сразу CodeView (PDB) он тебе не сделает.
Аноним 19/07/19 Птн 03:00:45 1438604482
blob (353Кб, 1152x864)
1152x864
>>1438597
не трахай мозг мальчик
поверь мне
достаточно всеголиш знать канкретные точки и количество времени
да оно будет плавать +- 0.0001
но ты ахренееш от физики больше
вот сматри
к примеру
я тут недавно пытался решить мазгом анона канкретную задачку
проще оказалось взять ручку и написать все на бумаге я серьезно.
а задачка достаточно проста
есть прерывание оно происходит каждые 13.57 см
тое стоит датчик и каждый оборот диска равен этой величине
есть таймер один тик которого пол микросекунды
этот таймер задающий и трогать его тое перезапускать нельзя
он как начал со сваих 0хе100 так и ебашит до переполнения
вся его работа занимает 3.98милисекунды

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

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

невериш?
тагда тебе очередной пример
печка шизика
неповериш я 3 месяца трахался с этой хуйней
смысл вот в чем
на печке в качестве ключа стоит семистр
его вольт амперная...
карочи
я могу дергать им только на включение на полу волне
тое подал импульс и он включился
все просто?
да когда у тебя либо включить либо выключить либо 50 процентов

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

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

карочи
один совет
везде где есть возможность считайте все в ручную
да да на маленьких машинах это не такуж и сложно
угу не сложно я эти 37к считал помоему все лето..
а других вариантов ну просто нет
канечно можно пользоваться функциями
библиотеками и прочей так любимой стмщиками залупами
но говарю сразу все это платно и глючит да ГЛЮЧИТ- не верите?
гуглим как тормазнули штрихи все маниты в рфии под новый год
какраз там переходили...
че говарить не одни они понадеялись на функции и библиотеки
многие если не все заводы обосрались ...
это шаз они в курсе
а тогда камуто на граблях прыгать приходилось
и кстати досих пор не все научились
канечно с приходом атмеги и почих стм контроллеры шагнули и притом порядочно так одна андурина чего стоит - если раньше мне чтобы мигать ногой контроллера необходимо было иметь погромматор стоящий под 20-30кр, высшее образование чистого программера, понимание всей этой ебучей структуры, читание даташитов и прочих особеностей ядра
то сейчас любой школьниг может дергать ногой контроллера
а у меня в свое время при наличии оборудования и знаний ушло если недаст бог спиздеть чтото около полу года чтобы начать мигать...
канечно никто не отменяет загадку шизика про обычную шариковую мышку
но блядж байтоебство это уже сравни шаманству
и я даже за12(ДВЕНАДЦАТЬ) лет все в сраном 8 битном камне все не знаю, не говоря уже о переходных 16 битных и современных 32битных стмах
да умоом то я понимаю что все то оно в принципе тоже самое
но нет предела совершенству и каждый раз агда смотриш на прерывание есть желание прогнать его в 100500раз и сократить ну хоть сцука на пол операции на четвертиночку хотябы на осьмушку...
https://youtu.be/98LyQvwV1y4

Аноним 19/07/19 Птн 05:43:59 1438614483
>>1406213 (OP)
ОП, ты ведь добавишь в шапку восстановленный бэкап старого ВАСМа?
Аноним 19/07/19 Птн 05:44:34 1438615484
Аноним 19/07/19 Птн 06:44:38 1438617485
>>1438548
>>1438572
не в ДСах тоже может если образование соответсвующие - кандидатская есть, идешь на пол ставки туда на пол ставки сюда, и полявляешься по 2-3 часа в неделю. А получаешь как за полные ставки)
Аноним 19/07/19 Птн 06:47:55 1438618486
Аноним 19/07/19 Птн 06:53:05 1438620487
>>1438604
>и тут я начал знатно обсераца - осозновая что оказываеца полуволна это синусоида
тое .....
>карочи я пришел сюда с этой проблемой и гдето неделю >формулировал анону задачу
>он мне дал решение

блэт. еще один сказочни пропустил школьную математику.
Аноним 19/07/19 Птн 06:57:45 1438622488
>>1438604
>а у меня в свое время при наличии оборудования и знаний ушло если недаст бог спиздеть чтото около полу года чтобы начать мигать...
еба, ты чо тут чешешь, птушник что ле?
>так одна андурина чего стоит - если раньше мне чтобы мигать ногой контроллера необходимо было иметь погромматор стоящий под 20-30кр, высшее образование чистого программера, понимание всей этой ебучей структуры, читание даташитов и прочих особеностей ядра

еще и ардуины восхваляет %) хоспади. более кривущего и монструозного SDK я пожалуй не видел. атмеги хорошо, ардуина детсадовское поделие из говна и палок.

>и я даже за12(ДВЕНАДЦАТЬ) лет все в сраном 8 битном камне все не знаю, не говоря уже о переходных 16 битных и современных 32битных стмах
это всего лишь твои 12 лет которые ты нахуй проебал вместо того чтоб что то изучать. методом тыка и изобретением велосипедов занимался
Аноним 19/07/19 Птн 06:57:53 1438623489
>>1438604
Дед, ты чего это в нотпаде код пишешь?
Аноним 19/07/19 Птн 13:27:37 1438723490
Вы чё уебки? Да благодаря ардуино даже самый отсталый птушный электрик без опыта проги может закодить игровой автомат и каждого пиздюка в округе на десятку наебать. У меня все. рты ваши ебал, дети, выросшие на журнале хакер
Аноним 19/07/19 Птн 13:34:07 1438726491
Подкиньте, где есть подробное описание флагов секций pe-файла и какие они могут принимать значения (или в теории там можно выставить любые комбинации, и файл останется валидным?)
Аноним 19/07/19 Птн 16:49:58 1438935492
>>1438913
У исполняемого файла есть секции, у секций есть набор характеристик - по-моему, dword. Где можно прочитать подробно про значения, которые туда могут устанавливаться?
Аноним 19/07/19 Птн 17:05:57 1438945493
Аноним 19/07/19 Птн 17:21:36 1438962494
>>1438958
Очень смешно, какой-то уебок нажрался и врубил вот эту в стиле "пойми, мальчик".
А ты ведь очень тупой и тебя не накрыли хуями только потому что через твою орфографию лень продираться.
Аноним 19/07/19 Птн 19:18:28 1439048495
>>1438962
Ты ахуел на старикана выебываться? Внемли мудрости или съеби.
Аноним 19/07/19 Птн 19:54:36 1439068496
>>1439048
что этот старый пердун сделал чтоб его слушать. пока по его роскозням он страдает хуетой)
Аноним 19/07/19 Птн 20:15:06 1439081497
Аноним 19/07/19 Птн 20:15:17 1439082498
>>1438958
перудн пездуй отсюдава, тема не про асм и кодинг, а про реверс. ты на старости лет ошибся малость
Аноним 19/07/19 Птн 20:17:34 1439085499
>>1439081
за столько лет, никаких подвижек, ничего не изменилось, значит никому не нужно это) и ты предлагаешь ему запилить?)))
опенсорс такой опенсорс.
Аноним 19/07/19 Птн 20:29:52 1439100500
>>1438904
>себя вспомни епта

себя и вспоминаю. сел почитал повторил. как конструктор же. у ардуины плюс что прям по USB Шьешь и всё, но такое сейчас и в нормальных stm-ках есть которые на развес, да и атмеги такие имеются.
Ардуина изначально неверное понятие у ребенка складывает о теме программирования железок в принципе.
Аноним 19/07/19 Птн 20:34:22 1439101501
>>1439082
>тема не про асм и кодинг
Ты название треда давно читал?
Аноним 19/07/19 Птн 21:34:42 1439136502
>>1439085
Ему нужно, видимо. Я вот не пилю, потому что не понимаю, что может добавить отладочная инфа в изначально ассемблерный код, который тобой же и написан. А вообще, решения разной степени костыльности уже запилили, просто прямой генерации .pdb нет.
Аноним 20/07/19 Суб 00:14:41 1439207503
>>1439198
в какой жопе у тебя абсолютизм то лол.
заебал тему без причин апать.
Аноним 20/07/19 Суб 17:34:45 1439541504
>>1439222
>моче похуй
Причём здесь моча, даун? Тред я перекатываю, я тут не живу. Вы тут срёте со скоростью 1024 поста в секунду, и ещё чему-то удивляетесь.
Аноним 20/07/19 Суб 17:55:28 1439557505
Ну в общем
Трипл-перекат
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
Трипл-перекат
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)

Если бы моча убрала сраную рекапчу, запостил бы быстрее. Иногда думаю, что перерубание нахуй всего зарубежного интернета пойдёт рунету на пользу - хоть рекапчи не будет!!!
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов