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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ASM & Reverse engineering №8 /asm/ # OP 1406213 В конец треда | Веб
В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (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/
2 1406222
Почему декомпилятор из асм в Си hex-rays до сих пор не отреверсили и не внедрили у себя ребята из radare2 (r2dec)? Это слишком сложно или слишком нинужно?
Вообще "профессиональные реверсеры" этим пользуются ли? Читал, что он иногда некорректно работает.
3 1406235
>>06222

>radare2 (r2dec)


Не нужен.
4 1406250
>>06222
Потому что не хотят садится на бутылку.
5 1406259
>>06222
Пользуются конечно, глупый вопрос. Каким надо быть мазохистом чтобы в статике простыни ассемблерного листинга рассматривать?
6 1406318
>>06213 (OP)
№8 https://arhivach.ng/thread/455487/

> Ghidra для любителей анальных зондов


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

>>06222

> hex-rays до сих пор не отреверсил


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

> пользуются ли


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

>>06259

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


Жили и до иксрэйсов, и неплохо жили. И сейчас есть куча архитектур, где никаких иксрэйсов нет и никогда не будет, а реверсить как-то нужно.
7 1406347
>>06318

>Нет там никаких зондов


Кроме случая, когда она открывала порт наружу для отладки...
8 1406364
>>06347

> когда она открывала порт наружу для отладки


Как будто это единственное в мире приложение на Java, в котором используются отладочные возможности Java. Как будто тебя на машине нет файрвола, а между тобой и интернетом нет роутера. Может быть, и ида, которая ищет своих друзей в твоей локалке, тоже тебя смущает?
kombo-serrated.jpg56 Кб, 640x438
9 1406450
Научите АСУ за 10 минут, плизки.
10 1406458
>>06450
бамп, за 24 часа тогда хотя бы
11 1406465
Аноны, как обнаружить inline hook в рантайме? Следовать за jmp'ами и смотреть где они находятся?
12 1406466
>>06465
Куда ведут*
13 1406468
>>06465
Смотреть начало функций, очевидно же.
14 1406486
>>06468
Не все с начала сплайсят. Тот же пролог стандартный нет никакой проблемы пропустить даже без полноценного дизасма, достаточно дизасма длин.

>>06465

> Аноны, как обнаружить inline hook в рантайме?


Прочитать секцию кода с диска и сравнить, например. Она обычно ридонли, RWE сейчас не в почете.
15 1406525
>>06468
Посмотрел. Что дальше?

>>06486
В рантайме говорю же. Нет на диске ничего.
16 1406527
>>06486

>RWE сейчас не в почете


Почему?
17 1406533
>>06525

>Посмотрел. Что дальше?


Дальше через LDE смотришь, а не джамп ли за границу секции это?
18 1406534
>>06527
Любой антивирь орать начнет даже без эвристики.
19 1407006
>>06213 (OP)

>Ghidra для любителей анальных зондов от АНБ


Это вы про дебаг гидры? Порт же закрыть можно. А в новых версиях дебаг по дефолту выключен. В версиях 9.0.2 и 9.0.4 точно.
C каких пор реверсеры боятся зондов?
20 1407016
Где можно почитать про макрос data import в фасме?
Как он устроен?
21 1407032
>>07016

> про макрос 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
22 1407039
>>07032

>ну и начать в любом случае нужно с


>https://docs.microsoft.com/en-us/windows/desktop/debug/pe-format



Я знаю. Сейчас я собираю свой минимальный PE-имидж по байтам и параллельно пишу лоадер для него. Но в FASM оказалось много неизвестного для меня.
Здесь есть удобный аналог assume edi:IMAGE_DOS_HEADER? Или как его накостылировать?
23 1407086
>>07039
Нет, макрос assume как бы есть, но работает хуево. Можно еще virtual at edi
dosheader IMAGE_DOS_HEADER
end virtual, но оно глобально и неотменяемо. В целом в фасме принято делать явно mov eax,[edi+IMAGE_DOS_HEADER.e_lfanew]. Больше писанины, зато все сразу понятно.
24 1407535
32 бит винда ВСЕ? Есть ли смысл в 2019 году разрабатывать wow64 приложение? По статистике стима < 10% пользователей сидят на 32битной винде.
25 1407542
>>07535
16 бит всё. А 32 ещё работают.
Хотя в век современных электронов 2 (4) ГБ н"серьёзному" приложению (например пасьянс) не хватает, так что можно смело переходить на 64 бита.
АЛСО, для асма не актуально.
15554108716640.jpg67 Кб, 600x582
26 1407697
В прошлом треде я просил посоветовать кроссплатформенный ассемблер (чтобы один код работал везде), мне посоветовали:
nasm/fasm/gas

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

2) Какой конкретно диалект АСМа выбрать?
27 1407719
>>07697
В общем я тут почитал и пришёл к выводу, что GAS не нужен.

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

Первый устарел и больше кода писать, но не знаю, как у второго с кроссплатформенностью.
28 1407722
>>07719
Так, пришёл к выводу, что надо брать FASM, потому что он новее.

Но не знаю, как у него с производительностью относительно NASMа, видимо, хуёвей.
images.jpg6 Кб, 259x194
29 1407747
Покопался я тут в "Ассемблерах" для GPU, там полный зоопарк.

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

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

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

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

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

А Ассемблер только для ОС и драйверов, ещё встраиваемые.
Вот и всё.
30 1407838
>>07747
Ты прав, АСМ в общем смысле давно мёртв.
31 1407870
>>07747

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


Нет, лучше хуярить на питоне/ноде, а критические участки на C/C++
spacetunnel.jpg677 Кб, 1920x1080
32 1407922
>>07870
Жирдяй, Питон до 100 раз медленней С, а местами всё ещё хуёвей. Node/JS пошустрее (в 2-3 раза), но всё равно говно.

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

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

А медленней Питона из мейнстримных ЯП нет вообще.
33 1407931
>>07922

>А медленней Питона из мейнстримных ЯП нет вообще.


руби?
34 1407988
>>07931
Блд, сказали же, Питон - самый медленный, миллион тестов в сети есть и самых разных.

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

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

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

Так что я советую вам с этого питоноговна уже сегодня слезть. Учите нормальные ЯП, C++ тот же, или хотя бы ненормальные, но востребованные вроде JS.
35 1408044
Ребята, а какой компилятор или утилита умеет автоматом перехуяривать код АСМа под разные процы (и желательно API ОС автоматом перехуяривать)?
36 1408045
>>08044
Самый обычный компилятор языка С
37 1408060
>>08045
И что gcc ошибки не ебашит так никогда?
38 1408061
>>08045
это сарказм был? :(
39 1408062
>>08061
Наполовину, милый школьник.
40 1408068
>>08062
пизда, вали из нашего треда обратно в общий, так и знал, что это ты тут трольнул, продолжая гнуть свою глупую линию, дохуя перегоняльщиков кода, они тебе только уникальную специфику проца не смогут сделать, а стандартный код сделают.
изображение.png383 Кб, 540x540
41 1408071
>>08068

>КУДАХ БАБАХ КУКАРЕКУ


Разрывом фантазирующего школьника удовлетворен.
42 1408078
Мне кажется пора в /d писать репорт на бан этого тролля. Считай вайпает нам уже второй тред.
43 1408085
>>08078
Ты только не плачь, у меня аллергия на детские слезы.
44 1408342
А что в АСМе нельзя сколько угодно переменных создавать? Хуясе бред.
45 1408361
>>08342
Кто мешает?
46 1408364
>>08361
Твоя мамаша.
47 1408368
>>08364
Так выеби ее.
48 1408370
>>08368
Ну ты вообще садист, за что ты так со мной.
49 1408371
>>08370
Ну может думать научишься.
50 1408374
>>08371
Не хочу не буду.
51 1408583
А что означает двойное использование регистров?
Ну короче, зачем две скобочки?
mov [BX][SI], AL
Почему нельзя просто [BX]?
52 1408620
>>08583

>mov [BX][SI], AL


То же самое что и MOV [BX+SI], AL
Базовая индексная адресация.
BX - база
SI - индекс
53 1408745
>>08583

> Ну короче, зачем


Основная причина - попытка приблизить синтаксис к индексации массивов в сишке.
54 1409032
Как думаете, печему не взлетел IA64? Какие, вообще, есть перспективы у новых наборов инструкций? Я правильно понимаю, что, в конечном итоге, будущее за RISC?
55 1409157
>>09032

> печему не взлетел IA64


Очень сложные компиляторы или отсутствие преимуществ, если компилятор хуевый.

> Какие, вообще, есть перспективы у новых наборов инструкций?


Рано или поздно мы к VLIW придем (вернемся).
56 1409251
>>09032
Ты и сейчас на риск сидишь, долбоеб.
57 1409259
>>09251
Кто не сидит на RISC, тот не любит шампанское.
58 1409422
>>09259
Сижу на бутылке шампанского, на риске сидят ваши мамки.
59 1409602
Как в ядре винда свой обработчик исключений зарегистрировать?
60 1409643
>>09602
Без задней мысли берешь и регистрируешь.
shtampvsehuynyaperedelayivay.jpg31 Кб, 250x250
61 1409661
>>06213 (OP)
ОП, я не понял. Почему в шапке нет книги Рендала Хайда? Какой, нафиг, Зубков? Лучший асм-учебник на русском - Юрова. Не лишним будет упомянуть Интел-талмуды. Где книги Агнера Фога? Можно ещё опус магнум по оптимизации Майкла Абраша привести (хоть и устарело).
62 1409667
>>09157

>Рано или поздно мы к VLIW придем (вернемся).


Так ли уж нужен параллелизм на уровне инструкций? Это, ведь просто, способ избежать спекулятивного исполнения, не потеряв в производительности. Или я плохо улавливаю идею?
Что думаете про RISC-V?

>>09251
Телепат в треде?
63 1410054
>>09661
Ссылки давай, добавлю. А то болтать все горазды, а гидру и ту пришлось гуглить.
64 1410094
>>09643
Так может подскажешь апи?
65 1410117
>>09602
Добавить в начало SEH
sage 67 1410199
>>10158

> intel-sdm


Они уже есть в шапке.
ЧСНДИ.png97 Кб, 600x200
68 1410206
Как под все платформы сразу писать, будто ты на С пишешь?
69 1410211
>>10206
Берёшь, такой, C и пишешь под все платформы, будто ты на С пишешь.
asm.jpg89 Кб, 1280x720
70 1410212
>>10199
Не заметил.
Вот ещё Абраш http://booksdescr.org/item/index.php?md5=ED318BFDC1D842E73E6615CE41F9417D
Может быть ещё что-нибудь добавлю, если вспомню.
71 1410247
Как на фасме написать такой макрос?

%define round(n, r) (((n+(r-1))/r)*r)
72 1410342
Я неопытен в фасме. Хочу написать модуль для логирования в файл. Соответственно, внутри объектника должны определяться переменные для дескриптора открытого файла, форматной строки и функция, приинимающая произвольные строки, которыезаписываются в файл. Мне это нужно для тщательного логирования того, что происходит внутри программы. Как можно создать такой модуль и подключить к программе?
73 1410358
В линуксовых shared object'ах extern переменные и функции в двух разных процессах будут иметь один и тот же виртуальный адрес, или могут (и должны) иметь одинаковые значения в младших битах адреса, но разные в старших из за какого нибудь ASLR? При этом для обоих процессов они имеют одинаковый физический адрес до первой записи?
sage 74 1410480
>>10247
К сожалению, в фасме макросы не могут возвращать значения. Можешь сделать так:
macro round n, r { rounded = (((n+(r-1))/r)*r) }
round 12,5
; и используешь:
mov eax,rounded
75 1410521
>>10480
А как написать макрос, который бы получал value и align, но генерировал в результате директиву dd aligned_val?

То есть, чтобы можно было написать _align(filesize, 512), и получить код типа dd 512?
76 1410523
>>10521
Только что проверил макрос. У меня filesize equ $ - $$ определено в конце исходника и компилятор ругается на то, что filesize не определена.
78 1410580
Как условному Васяну получить EV сертификат для подписи дров? И нужен ли он вообще? Обычный не прокатит что-ли? Гуглить пробовал, там одни диваны, сами толком не знают.
sage 79 1410614
>>10523

> У меня filesize equ $ - $$ определено в конце исходника


Ты хотел сделать filesize = $ - $$. = обрабатывается на стадии ассемблирования, оно создает или изменяет настоящую переменную (ассемблера, а не генерируемой программы естественно), фасм умеет в forward references (ценой дополнительного прохода ассемблирования). А вот equ работает в препроцессоре, ничего про переменные не знает, это просто текстовая замена, работающая от equ и до конца файла (или до отмены equ c помощью restore). Даже если предположить, что твой equ сработал бы, как ты хотел, то $ в месте использования отличался бы от $ в месте, где ты создал equ.
80 1410632
О круто, тред про ассемблер. Я полный ноль в этом, но хочу вкатиться. Что надо скачать чтобы получить хоть какое-то начальное представление, а то в шапке дохуя написано. Посоветуйте одну книгу и одну прогу пока.
81 1410645
>>10632
Пишешь на си, вставляешь в godbolt и смотришь код. Книга же beginners.re.
82 1410652
>>10614
Что-то как-то стремно решается моя надуманная задача на фасме. Возьму, пожалуй, NASM. Я собираю минимальный PE-имидж по байтам и параллельно пишу лоадер. Хочу сделать имидж меньше 200 байт.
83 1410654
>>10652
Если по байтам, бери fasmG. Что за лоадер?
84 1410662
>>10654
PE Loader
85 1410666
>>10652
Я собираю 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 та же самая проблема с макросами.
85 1410666
>>10652
Я собираю 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 та же самая проблема с макросами.
86 1410674
>>10666
Что-то в фасме сложно делаются простые вещи. Мне нужно в файловом заголовке сохранить значение SizeOfOptionalHeader. Я делаю это так:

dw opthdrsize ; SizeOfOptionalHeader (including data directories)

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

opthdrsize equ $ - opthdr

И фасм при формировании File Header не видит переменную opthdrsize, потому что она определена дальше. Как это исправить?
87 1410691
>>10674
На всякий случай оставлю ссылку https://board.flatassembler.net/topic.php?t=17955
88 1410696
>>10674
equ - текстовая замена. Для определения означиваемых переменных исползуй =
89 1410714
>>10662
Что он должен делать? Загужать исполняемые образы для исполнения? Вместо системного загрузчика?
90 1410735
>>10714

>Загужать исполняемые образы для исполнения? Вместо системного загрузчика?


Да. Еще хочу добавить к нему защиту от динамического анализа.
Что сейчас актуально? Видел детект VM Ware по GDT, защиту от рантайм анализа при помощи сообщений из других потоков, коды возврата недокументированных апи. Все это, вроде, устарело. Но кода я только начал этим заниматься, детект движения курсора лучше всего останавливал динамическую проверку.
Как работают эмуляторы? Они передают управление на точку входа и анализируют поведение программы, или действуют более тщательно, дизассемблируют каждую процедуру и трассируют ее? В последнем случае, наверное, можно было бы навставлять в процедуры ret и перепрыгивать их при выполнении. Это должно запутать дизассемблер, если он дизассемблирует от начала функции до ret. Но это, наверное, слишком наивный способ обойти дизассемблирование.
91 1410764
>>10735
Я еще не могу для себя точно объяснить разницу между отладкой и трассировкой. Там, где я работал, слово трассировка вообще не употребляли. А в лоу лвл кодинге оно используется часто. Я нагуглил тред о различии отладки и трассировки, и там говорится, что отладка - это пошаговое выполнение, а трассировка это пакетный анализ поведения программы: запускаешь программу и смотришь журнал выполнения, по которому определяешь место проблемы, после чего начинаешь в этом месте отладку. То есть и принтф, и логи в консоль, и журнал в файле, и MessageBox'ы с ошибками можно назвать трассировкой. Я прав?
sage 92 1410787
>>10652

> Что-то как-то стремно решается моя надуманная задача на фасме


На насме будет еще хуже, фасм в плане ебли байтов гораздо мощнее.

>>10666

> я хочу записать туда размер дискового образа, выровненный на section alignment


Ну я же тебе написал, как сделать.
dd (SizeOfImage + sectalign - 1) and not (sectalign - 1)
...
; В конце файла:
SizeOfImage = $ - $$ ; тут возможны варианты, в зависимости от того, хочешь ли ты ебаться в org в секциях.
Что сложного-то?
93 1410832
>>10579
Конечно. Правда ссылка на вики это моветон, если реверсер её не найдёт, то он и в ИДЕ не разберётся, и компутер не включит.
>>10580
Зарегистрировать компанию, только им и выдают. Можно попросится подписать у пары компаний, которые подписывают дрова с открытым кодом, но там, ВНЕЗАПНО, нужен открытый исходный кот, твои затрояненные бинари отошлют тебе обратно.
>>10632

>а то в шапке дохуя написано


Я тебя разочарую, но в книгах по асму написано ещё больше, чем в шапке. Если ты шапку ниосилил, то и асми не осилишь.
94 1411144
>>10832
Почему малварь-то сразу? Те кто создают малварь подобного уровня, спонсируются и достать такой серт им не составит труда. А мне Васяну где и как его взять? Я может хочу свой антивирус бабушкина с блэкджэком и куртизанками запилить. Но думаю начать с мини-тулз, типа sysinternals. Есть конечно вариант опенсурса, гит прокачаю, портфолио так сказать, но думаю шанс, что меня кто-то заметит и озолотит мизерный..
95 1411260
Есть здесь, вообще, специалисты/ценители демосцены? Скажите, как научиться далать демки? Что можно почитать? Как практиковаться?
96 1411266
репост из сишного треда

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

не могу найти описание именно для "с"
97 1411281
>>11260
Оно тебя сожрет. Здесь уже был один безработный бывший демосценер
98 1411346
>>10211
А на FASM?
99 1411372
>>11346
Ты ебанутый? Только честно отвечай.
100 1411414
>>11372
естественно, но это не имеет отношения к делу.
101 1411497
>>11414
Это Дела Отношения имеет тебя.
102 1411529
>>11497
ты поехавший?
103 1411550
>>07719
И чем GNU as не устроил?
104 1411555
>>09661
Interrupt list Ральфа Брауна on-line:
http://www.delorie.com/djgpp/doc/rbinter/ix/
105 1411557
>>10054
Michael Abrash's Graphics Programming Black Book Special Edition

http://www.phatcode.net/res/224/files/html/index.html
106 1411563
>>10632
Питер Абель. Ассемблер и программирование для IBM PC

http://www.lib.ru/CTOTOR/IBMPC/abel.txt
108 1411669
>>11563
Ты бы еще Нортона притащил.
109 1411676
поясните мне пж за следующий аспект кэш памяти процессоров.
вот есть у меня программа, которой нужно прочесть N байт по адресу 0xAAAABBBB. процессор может закешировать эти данные, и они будут от L1 до L3. вот процессор начинает выполнять команду типа
add %(0xAAAABBBB), %eax,
он такой возьмёт VA, получит с него PhA, с PhA хеш получит какой нибудь 0xABCD, но! как он знает, что сейчас в кеше для данного адреса под индексом 0xABCD лежит чанк именно для текущего процесса и именно для нужного VA, а не из какого нибудь другого процесса, что выполнялся до последнего прерывания, и если одному блоку данных в кеше могут соответствовать несколько физических адресов, в которых могут находиться данные того же самого процесса?
110 1411683
>>11676
Смотрел недавно лекцию на данную тему, но проебал ссылку. Короче все сводится к тому, что... нихуя толком не говорится как это работает, ПРОСТО работает и все.
111 1411763
>>11676

> именно для текущего процесса


Какие процессы, если речь идет о физических адресах? Вот в TLB есть всякие PCID/ASID.

> если одному блоку данных в кеше могут соответствовать несколько физических адресов


Рядом с данными хранится индекс кэшлайна.
112 1411845
>>11669
Очень доступное изложение информации. Нортона не читал. Твои какие предложения?
113 1411923
https://m.habr.com/ru/company/jetinfosystems/blog/454576/
Почему ты еще не сделал свою малварь на два миллиарда баксов?
114 1411960
>>11923
тому что я не очень умный
115 1412005
>>11923
Спалятся потом где-нибудь, как malware-tech и сядут на бутылку. Даже если не спалятся, то за такие бабки их фбр где угодно найдут.

Вы мне лучше скажите, как сломать F5 в иде, дабы подпортить жизнь школоте? Видел много раз в комерческом софте такие функции. Это из серии виртуализации?
116 1412007
>>12005

> как сломать F5 в иде


Если против школоты, то просто сломай стек в функции.
117 1412010
>>12005
Стандартные антидизасмы на иде работают.
Заспагеть там все, джампай в середину инструкции, или, как выше сказали, стек ломай.
118 1412154
>>12010

>джампай в середину инструкции


Как это на деле реализуется? Вот джампну я на байт ModRM или SIB. Что дальше делать, чтобы процессора не выдал исключение?
119 1412155
>>12010

>стек ломай


А это как?
Алсо, здесь есть знатоки стекового полиморфизма? Что это такое?
120 1412160
>>12154

>Как это на деле реализуется?


>>12155

>А это как?


Берешь и без задней мысли гуглишь "защита от дизассемблера".
121 1412167
>>11567
А есть какие-нибудь базы с исходниками демок?
Мне бы какие-нибудь обучающие материалы. Или что-то, что можно использовать для обучения.

>>11281
Почему так?
122 1412198
>>12167

>А есть какие-нибудь базы с исходниками демок?


http://www.pouet.net/search.php?what=source&type=prod
123 1412364
Ну что у вас тут? Код то мало-мальский написали хоть, или может реверснули чёнить?
Ксорить то хоть умеете?
124 1412365
>>12364
Перефразирую: Когда уже ассемблер будет работать на вас, а не наоборот?
125 1412373
>>12364
Дворды в уме ксорим, в мокток стучим.
126 1412401
>>12365
Никогда. Заведомо играем с нулевой суммой. Вся суть байтоёбли.
127 1412406
>>12010

>Заспагеть там все, джампай в середину инструкции


Ида вроде бы справляется с этим. JMPOUT пишет.

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

>>12160

>Берешь и без задней мысли гуглишь "защита от дизассемблера".


Там одни баяны и нулевых, под x64 вообще 0 информации.
128 1412650
>>12406

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


Разбалансировать. Например, чтобы в одной из веток был ret при оставшихся в стеке локальных переменных. Или вызов функции, которая за собой подчищает стека больше, чем ей передали параметров. Реально передавать управление в эти ветки вовсе не обязательно, лишь бы они были. HexRays очень чувствителен к такому, но исправляется оно элементарно, поэтому помогает только от школоты.
129 1412736
>>06465
Разобрался. Теперь следующий вопрос: как убрать инлайн хук в рантайме? На диске нет данных, предварительных данных тоже нет.
Потыкал всякие антируткиты, они каким-то магическим образом имеют предыдущие байтики и спокойно убирают хук.
130 1412757
>>12650
не знаю, насколько это реально и вообще полезно в боевых условиях, но я как то раз в образовательных целях на элементарной х86 программе в хэдерах пидорасил ОЕР, заведомо указывая его в ебеня, а потом в TLS коллбэке опционально восстанавливал, прибавляя захардкоженную дельту к одному месту в памяти. не помню точно как это работало, но то ли на +-0х1000 байт от EBP то ли еще где неподалеку лежал не то VA с уже прибавленной дельтой релоков, не то RVA OEP, куда должно выполнение перейти после TLS. ну и в итоге ОЕР восстанавливалась, а ида смотрела на неправильный ОЕР со всеми вытекающими.
131 1412771
>>12373
Арви Хрюкер?
132 1412915
>>12771
Причём тут хохлы?
133 1412941
Сап,кто знает можно ли получить триал вирустотал интележенс?мне буквально пару сэмплов скачать нужно
раньше давали триалы всем подряд,а теперь не выходит(вроде как только фирмам типа ав и студентам(и то не всем)
если у кого-то есть,то буду очень благодарен если поможете
134 1412965
Анонче, как подпрограммы строить на ассемблере?

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

У меня такой вариант задачи, но это так ради понимания уровня задачи. Не нужно слишком сложное.
Разработать подпрограмму, которая разбивает заданную строку на две части: первое слово строки (до первого пробела) и оста-ток строки (пробелы после первого слова отбрасываются). Разработать программу, которая вводит с клавиатуры строку и выводит каждое слово с новой строки.
Сложна, сложна, нипанятна.
135 1413013
>>12155
в vx журналах почитай
136 1413031
Заранее извиняюсь за то, что насру здесь.
Я хочу вкатиться взламывать разный софт и писать под него патчи/кейгены, но я полный ноль.
Мне посоветовали:
а) Сначала подучить лёгкий язык вроде питона и обмазаться курсами по CS, а потом уже начинать медленно бросать взгляд в сторону ASM
б) Сразу учить Ассемблер, стоически переносить сложности, попутно читая те же курсы по CS и в целом про особенности различного железа
На какой стул себя посадить, а на какой не стоит? Важно ваше мнение, анончики.
137 1413045
>>13013
В 29A такое можно найти?
138 1413057
>>13031
Идея хуйня. Современный CS это такая хуйня для неосиляторов и мочеглотов, способных только языком чесать. Язык какой-то учить? Ну разве что всякие кресты/си, на которых системы/АПИшки для железа написаны да шеллчики. Интересно сидеть инструкции дрочить? => Сиди дрочи насм дальше, и нахуя тебе этот пайтон сдался тогда? Советую тебе учебников по информатике закупить для 1-3 курсов для начала.
139 1413102
>>13057

> нахуя тебе этот пайтон сдался тогда


Да без питона сейчас никуда. Анализ же. capstone, frida всякая, скрипты в IDA.
140 1413202
>>12941
Есть куча других бесплатных ресурсов откуда можно скачать свежие сэмплы. Кто-то даже вт зеркалит.
141 1413208
>>13102
К питону возвращаться можно и нужно, только когда ты уже успешный c/c++ боярин, ресерчер, сеньер-байтоеб и знаешь что тебе нужно. А так это довольно бесполезный яп.

>>13031
Учи ассемблер, изучай архитектуру ос, учись пользоваться тулзами: ida pro, windbg.
142 1413209
>>13202
например?на стандартных типа апп ани ран и вируссигн ничего нету
143 1413282
>>13208

>windbg


Ну ты и посоветовал. Ладно бы он сплоенты изучал. Ему же просто обычным крякером хочется стать.
Тут лучше ollydbg/x64dbg ничего не придумали.
К ним и туторов масса, и плагины на любой вкус и цвет, и скрипты под плагины, и кодериперы для кейгенов.
DennisYurichev.jpg324 Кб, 400x505
144 1413292

>beginners.re - "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!


>Чтобы не палить свой адрес почты, вот прямая ссылка https://beginners.re/f572d396fae9206628714fb2ce00f72e94f2258f/


Что-то ссылка поломалась, как и новорегнутые на самом beginners.re((
Желающие натянуть латексное белье с затычкой - велкам на гитхаб, собирать книгу сами:
https://github.com/DennisYurichev/RE-for-beginners
Для нежелающих ссылка на собранную сегодняшнюю RU/EN копию:
https://dropmefiles.com/ESdEP
Наверное хватит переждать, пока господин Юричев починит свою хитрую систему сбора адресов.
145 1413298
>>13282
Считаю что нужно сразу самые лучшие и мощные инструменты изучать, крупную рыбу олей не подебажишь. Для старта x64dbg подойдет, ты прав.
146 1413303
Предлагаю шапку обновить, ибо протухла. Нужны ссылки на свежие, активные блоги. Книги/гайды по современному ассемблеру.
Раз скрины из ядрер ОС, то следует и добавить блоги/гайды/любой другой ресерч по осям.
147 1413338
Хочу написать простой драйвер под винду. Какой SDK качать, чтобы можно было кодить в студии?
Когда я в первые хотел этим заняться, помню, что пришлось поебать себе мозги тем, какие библиотеки скачать. Я нагуглил статьи для ньюфагов и пошел на сайт МС за либами, а там оказалось, что того пакета либ уже не существует и надо качать что-то другое.
148 1413363
>>13338
WDK установи и все. Create new project -> Windows Drivers -> и тут выбираешь что тебе нужно. Начать наверное лучше будет с легаси либо wdf драйверов. Спрашивай если будут вопросы.
149 1413406
>>13303
Давай ссылки, обновлю.
150 1413431
>>13310 (Del)
ты че отсидел уже?
151 1413440
>>13406
Ой, ну это уже думать надо. 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 книжку, читаю потихоньку
152 1413483
>>13363

>Начать наверное лучше будет с легаси либо wdf драйверов.


Это какой тип проектов в VS Studio 2019 Preview?
154 1413529
>>13526
Это второе издание, посвещённое x86-64, AVX, AVX2, AVX-512. Оно не заменяет первое (x86-32, x87, MMX, SSE, а также x86-64 и AVX). Оно частично с ним пересекается. Но в основном его дополняет. Поэтому, нужны оба.
http://booksdescr.org/item/index.php?md5=A6F924CE6277FB3D4AFA71E35F538558
155 1413567
>>13363
Поставил WDK, создал в студии проект типа KMDF Driver, начал писать код, но #include <ntddk.h> не может найти хедер. Где искать этот хедер и wdf.h?
156 1413603
Хочу обмазаться этими статьями: https://vxlab.info/wasm/article.php-article=drvw2k01.htm

Автор использует масм и советует скопировать библиотечные файлы из DDK в каталог \masm32\lib\w2k. Но у меня win10 и стоит WDF. Как использовать то, что у меня имеется, для изучения этих статей?
157 1413604
>>13603

>WDF


WDK
158 1413697
>>13567
Там же где и все остальные инклуды.
C:\Program Files (x86)\Windows Kits\10\Include\

Подключать там же, в настройках проекта, принципиальных различий в использовании ide нет.
159 1413988
Что будет если поделить на ноль на асме?
160 1414002
>>13988
Прерывание.
161 1414048
>>14002
Неинтересно
162 1414065
>>13988
divide by zero exception
163 1414126
>>13988
>>14002
>>14065
Это смотря чем поделить. Кроме div/idiv есть еще инструкции в FPU/SSE.
164 1414142
>>13526
Как скачать?
166 1414233
>>14179
Спасибо, анончик.
167 1414406
>>13045
Мне что-то попадалось на тему полиморфизма в стеке. Может z0mbie что-то писал на эту тему.
168 1414531
Допустим, у меня есть адрес возврата некоторой функции, как мне определить какой конкретно функции принадлежит данный адрес? Нашел только LdrFindEntryForAddress, с помощью данного апи получаю имя модуля, в котором находится нужная функция. Куда дальше копать? Не самому же сканить с дизасмом?
170 1415527
Что такое SMM ring -2 ? Еще более менее могу себе представить гипервизоры. Но куда ниже то?
171 1415555
>>15527
Отдельный режим процессора, который включается при подергивании соответствующей ноги процессора, который в отдельной области памяти выполняет код, практически незаметно (не считая потраченного процессорного времени) и не спрашивая разрешения у гипервизоа и выше.

> Но куда ниже то?


Ну как это куда?! Отдельный чип, который рулит всей системой.
172 1415585
>>15555
Если у ОС нет доступа к SMM, то выходит, попасть в него без физического контакта с машиной не выйдет?
173 1415786
посоветуйте пж годных статей по структурам дампов ОС. типа вот если сдампить процесс винды, то у него будет структура РЕ, в ней там хэдеры, секции, тоси боси, у линуксов ELF с его структурами, а с ОС что? все запросы в гугле переводят на конкретные инструменты типа lime, volatility, а я хотел бы предварительно просто пробежаться по теоретический части структур дампов популярных ОС типа чё в них есть, что в них может быть, чего в них не может быть, как это в теории должно быть выложено, и т.д.
174 1415794
>>15786
Что ты имеешь ввиду под структурами дампов ОС? Читай книги по архитектуре интересующей тебя ОС. Структуры, функции, таблицы и прочее вычленяются с помощью отладочных символов и WinDbg.
175 1415798
>>15786

>если сдампить процесс винды, то у него будет структура РЕ


Чего?
176 1416872
Читаю про аппаратно-программные руткиты, которые в прошлом веке располагались в святая святых BIOS материнки и сетевухи. Насколько это актуально сейчас, когда в материнках UEFI? Дело в том, что мои компы побывали в органах. Данные на дисках затер нулями.
177 1416937
>>16872
То что на это способны наши органы, я сомневаюсь. Естественно сбросить и переустановить прошивку нужно на всякий случай. Более вероятно что тебя будут просто прослушивать. Меняй провайдера, шифрую трафик, сиди с вайфая соседа.
178 1416982
Как лучше заимплементить PE-загрузчик на фасме, если перед загрузкой происходит парсинг заголовков, а после него мапинг?
Определить все структуры, реализовать структуру контекста, в которую напихать все структуры (или наиболее значимые поля) и в процессе парсинга заполнять контекст, а во время отображения дискового образа на память пользоваться этим контекстом?
179 1416984
Поясните по факту, почему какой-нибудь линукс не может заебашить себе читалку и выполнялку для екзешников, чтобы все работало без эмуляторов?
180 1416993
>>16984
Wine Is Not Emulator
181 1417023
>>16982
Но ведь виндовый загрузчик уже делает самое правильное, что можно сделать: мапит заголовки, валидирует заголовки, мапит секции, занимается инициализацей и динамическим связыванием. Зачем тебе контекст с отдельной копией заголовков, если тебе их все равно грузить?

>>16984
binfmt_pe.c написать несложно (и не один раз его уже реализовали), но вот окружение само по себе не появится.
182 1417027
>>17023
Че такое окружение?
183 1417036
>>17027

> окружение


Среда, в которой выполняется код - все, что он видит вокруг себя. Системные вызовы, системные данные в памяти (тот же PEB), библиотеки, структура файловой системы. Все это предоставляет вайн. Можно было бы, как сделала Microsoft для WSL, эмулировать только системные вызовы, пользуясь родными библиотеками, но в винде слишком много всего прибито гвоздями к ядру.
184 1417045
>>17036

>Можно было бы, как сделала Microsoft для WSL, эмулировать только системные вызовы, пользуясь родными библиотеками


Нельзя, проприетарная лицензия-с.

>но в винде слишком много всего прибито гвоздями к ядру.


На самом деле к драйверам. Win подсистема ютится в win32k.sys, и ядру NT она нафиг не нужна, оно может работать и без неё.
Только эмулировать ядро до степени работоспособности драйверов ещё сложнее, чем по внешним интерфейсам. Перед последней задачей даже МС спасовали, в новых версиях WSL они будут запускать едро люнупса в виртуалке.
185 1417047
>>17045

> лицензия


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

> оно может работать и без неё


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

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


Ну вот, теперь в десяточке нет абсолютно ничего хорошего.
186 1417119
>>17023
Пишу упаковщик с лоадером.
Но если не пихать заголовки в контекст, все равно ведь придется делать два прохода по заголовкам: первый раз, чтобы прочитать ImageBase, а второй раз - выделить память по этому адресу и развернуть там образ.
Алсо, как работает лоадер на сисколлах? https://github.com/luis140219/luismark-loader/blob/master/luisldr.asm
В чем плюсы, минусы? Как вообще загрузка образа сводится к вызову ZwCreateSection? Что делает эта функа?
187 1417129
Насколько кэширование процессором кода может помешать выполнению кода при довольно интенсивном его изменении находу? Можно ли как-нибудь избежать отрицательных эффектов? Отключить кэширование кода для приложения/треда?
188 1417221
>>17047

>Нельзя пользоваться либами, но это проблемы юзеров.


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

>Ну ты же понимаешь, что фактически это часть ядра


Не а. Оно, как драйвер, работает в адресном пространстве ядра, пользуется его сервисами, ядро пользуется сервисами этого драйвера, но неотъемлемой частью оно не является.

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


Ну не знаю. Как по уровню интеграции Wine в сравнении с WSL?
>>17129
Кеширование не мешает изменяемому коду, оно помогает неизменяемому, притом существенно.
Решение только одно - не использовать полиморфный код. Отключить кеширование можно для отдельных страниц, обладая правами админа, но будь готов к производительности уровня первых атомов.
189 1417260
>>17221

>Решение только одно - не использовать полиморфный код.


Хотелось-бы наоборот. Есть ли необходимость для этого флагировать страницу как PAGE_NOCACHE? Это что-нибудь даст?
4BDC36D5-9F2E-41F0-99DA-3E20D145D9F3.jpeg116 Кб, 453x640
190 1417261
Если я рассматриваю программирование как хобби и процесс>результат, те могу писать условный хеллоуворлд годами, то ассемблер мой выбор?
Веб мне не нравится, хотя для такого гуманитария как я он лучший выбор, но не хочу и все тут.
Sage 191 1417264
>>17261
Для начала стоит хотя бы понять о чем говоришь. Веб это не только разметку рисовать и конфигами жонглировать. АСМ явно не твой выбор, ибо с текущим уровнем дискурса ты себе даже задачу не сможешь поставить.
192 1417376
>>17260
Ничего не даст, дело не только в кэше, но еще и в конвейере. Изменение страницы, инструкции из которой уже выбраны и декодированы/декодируются = сброс конвейера. Постоянные сбросы конвейера = никакая производительность.

>>17221

> Не а. Оно, как драйвер, работает в адресном пространстве ядра


Это все понятно, но это все детали. Но мы ведь об эмуляции винды говорим? И если рассматривать картину с этой стороны, то win32k и другие дрова вполне можно считать частью ядра. Выбрось их, и это уже будет не винда.
193 1417379
>>17264
>>17261

> АСМ явно не твой выбор, ибо с текущим уровнем дискурса ты себе даже задачу не сможешь поставить.



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

Пускай идёт пиликать МК
По моему лучшей альтернативе аутизма от мира cs - нет
194 1417390
>>17379

>По моему лучшей альтернативе аутизма от мира cs - нет


Можно на FPGA создавать асики для пиликания.
195 1417429
>>17119
Ты видимо вообще нюфаня, раз такие вопросы задаешь и не знаешь, как загрузчик винды работает. Куда собрался то свой писать?
Мы тут уже обсуждали защиту софта, лодеры и прочее, в итоге порешали, что все это херня и единственный рабочий метод - виртуализация кода.

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

Про апи винды на msdn читай. Исходный код ReactOS в помощь.
196 1417451
>>17429

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


В статьях пишут про такой алгоритм:
1) Парсинг хедеров
2) Разбор таблицы секций
3) Проецирование
4) Обработка импорта
5) Рекурсивная загрузка длл
6) Переход на точку входа

А как он работает на самом деле? Знаю, что можно почитать сорцы вин 2000, но их надо снова выкачивать и копаться к них.
197 1417454
>>17451
Ну еще редактирование PEB. Но моя задача проще. Я хочу просто запамить PE-файл и запустить его.
198 1417456
>>17451
Похоже, что половина процесса загрузки вообще происходит с дисковым имиджем: 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!
199 1417459
>>17129
возможно, тебе может помочь CLFLUSH m8
200 1417460
Я правильно понимаю, что в unix-like системах все процессы создаются методом вызовов fork(); exec();, и начинается всё с самого первого процесса init после старта системы?
201 1417465
>>17451

>Исходный код ReactOS в помощь.


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

>>17454
Куда замапить? Где запустить? В каком контексте? Какой PE-file? Ты недоговариваешь. Просто загрузить длл - LdrLoadDll. Ты эту функцию хочешь реализовать?
202 1417568
>>17465

>Куда замапить?


В адресное пространство пакера.

>Где запустить?


В АП пакера.

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


В контексте пакера

>Какой PE-file?


exe, dll

>Ты эту функцию хочешь реализовать?


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

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

Почему вообщн загрузка может сводиться к вызовам ZwCreateSection? Как это работает?
203 1417934
>>17568
Правильный переносимый способ это использование документированных апи, а не копание во внутренних структурах. Есть шанс, что они их изменят, тогда твой лоадер придется переписывать.

>Почему вообщн загрузка может сводиться к вызовам ZwCreateSection? Как это работает?


Чтобы отобразить секцию, сначала нужно создать объект/получить дескриптор этого объекта секции.
MapViewOfFile читай как ZwMapViewOfSection.
image.png15 Кб, 481x307
204 1420434
Как посмотреть место, где находится __imp_CoInitializeEx?
205 1420447
>>20434
Гуглишь на 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.
206 1420502
>>20447

> C:\...\Microsoft_Visual_Studio\2019\Preview\VC\Tools\MSVC\14.22.27706\bin\Hostx64\x64\dumpbin


Проиграл. Все для людей. Вот в 2005 студии такой хуйни не было. На самом деле пердолиться в библиотеки импорта совершенно незачем, есть http://www.dependencywalker.com/

>>20434

> место, где находится


Зависит от того, что ты понимаешь под словом "место". Жмешь Enter на символе, в статусной строке видишь позицию в файле и виртуальный адрес. Скроллишь вверх, видишь имя длл (или ищешь во View->Imports в более удобном для восприятия виде).
207 1420519
>>20502

>http://www.dependencywalker.com/


Это чтобы (рекурсивно) просматривать импорт, если у тебя есть исполняемый файл. Я забыл, что все вы тут дофига реверсеры (свои программы не пишем - чужие ковыряем). А если нет файла? А если только исходник (да и тот не весь)?
image.png38 Кб, 635x429
208 1420687
>>20447
>>20502
Я поэтому и спросил потому что нифига там нет. В api-ms-... пусто, нет реализации. А саму реализацию в combase.dll нашел. Что за бред?
209 1420694
>>20687
А, я, в свою очередь, забыл, что в этих ваших десяточках теперь импорты исключительно через жопу. Вот это посмотри, например: https://github.com/lucasg/Dependencies
210 1420732
>>20694
Вот за это спасибо, давно хотеть альтернативу dependencywalker, который не умеет в новомодные перенаправления.
Мимо ОП
211 1421011
Сап, реверсач
Хочу вкатиться в разработку драйверов на Линукс
С чего начать? Сишкой и плюсами владею на достаточно высоком уровне, умею в структуры данных, знаю основы ОС
Есть топовая книга/курс для начинающих в этом деле?
212 1421185
>>20694
Благодарю. Зачем они этих врапперов налепили? Какое у них предназначение?
213 1421306
>>21185
Для переносимости (читай: чтобы добить нативный софт) и версионирования (как будто нам SxS мало было), теперь API логично сгруппированы по функциональности, а не по подсистемам и абстрагированы от этих самых подсистем. В общем, максимально нинужная фича, как и все остальные фичи восьмерочки и десяточки, которая просочилась обратно в 7 и даже в XP.
214 1421312
>>21306

>чтобы добить нативный софт


Я так и подумал.

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

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

да нибамбит у меня
215 1421315
>>21185
Теоретически производители встраиваемых систем могут собрать свои версии системных библиотек безо всякой хуиты. MinWin называется. Но всем как всегда похуй, и это лишь добавило ещё один нахуй не нужный слой абстракции.
>>21312

>Не понимаю, для кого они апдейты каждые несколько месяцев выкатывают.


Чтобы не обосраться как с вислой.
IDA Pro v7.2.181105 with Hex-Rays x64 216 1421399
https://mega.nz/#!W7Y1lSzC!dESOPpPtUcSC7rQW4WCYiqmbdd-XAb3ecv3AE0KTVAQ
Нашел у Спорова, кто слил информации нет.
217 1421505
>>21399
Я так понимаю сбрутили пароль для утекшей версии.
На меге содержимое потерли, но сам архив уже лежит на рутрекере.
218 1421556
>>21505
Не могу найти, кинь ссыль, пожалуйста.
219 1421587
>>21556
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
>Не могу найти
Как же ты искал?
220 1421637
>>21587
Благодарю, анончик. Жалко x86 hex-rays там нет...
221 1421817
Потестили новый хекс-рейсик? Как вам? Мне понравился, много всего декомпилить начал, чего раньше не мог.
Снимок.PNG7 Кб, 223x211
222 1422191
Есть какой-нибудь эмулятор куда это можно скопипастить и посмотреть на результат? Там иногда переполнения случаются поэтому самому писать долго будет.
223 1422282
>>22191
А ты в Debuggers посмотри, там для выполнения кусков кода специально есть адаптер для Bochs, ничего копипастить не нужно (Bochs, разумеется, нужно поставить).

>>21817
Если там 32-битного x86 и ARM нет, то не нужен.
224 1422291
>>22282
x86 там нет, но он и не нужен, разве что малварь разглядывать.
225 1423804
Аноны, не могу осилить архитектуру устройства памяти в шиндоувс. Почему так сложно? Есть какой-нибудь огромный чертеж/рисунок охватывающий сразу всю иерархию, чтобы можно было примерно посмотреть как это все между собой взаимодействует?
226 1424071
>>23804
Windows internals не помог?
227 1424316
>>24071
Не помог. Я конечно теперь понимаю, что такое VAD, MDL, но не более. В windbg потыкал, все равно остаются вопросы, как это все между собой связанно, а как на физическую память транслируется? Какой-то пиздец, физиком надо быть что-ли чтобы понять?
228 1425122
>>24316

>а как на физическую память транслируется


Ну пиздец. Что ты творишь? Теперь и я думаю, что что-то не понимаю.
d240bc8df69c5a3f472e994892575696.png.jpeg6 Кб, 113x150
229 1425211
Кто-нибудь может поделиться этой книгой?
232 1425235
>>25232
Спасибо
IMG3008.JPG67 Кб, 325x325
233 1425238
>>17379
>>17264
Вообще-хочу писать демо под Z80.
Ну и пиликать STM32.
234 1425240
>>25238

>хочу писать демо под Z80


Мультиколор?
235 1425297
>>25211
Кидали выше вроде. Хорошая книга, но практической информации мало. Весь код протух лет 5 назад.
236 1425338
>>25297

>Кидали выше вроде.


В прошлом треде была ссылка, но протухла.
237 1426191
Асмач, существует ли аналог книг "Windows Internals" и "Linux Inside", но про макось?
239 1426514
Думаю вкатиться в низкоуровневое программирование. Чет я заебался, когда пишешь как по мануалу, а оно не работает. Компилится, но не работает. А я не могу ничего сделать: не я же писал. Сложно ли?
240 1426523
>>26191
Эти книги мне кажутся несравнимыми. С разных углов на ось смотрят. Это из-за того что винда более монолитна и там можна гораздо больше компонентов назвать стандартными и изучить. И в линуксе изучается только ядро и то не достаточно подробно. В 100 страниц едва можно вписать процедуру создания нового процесса в линуксе. Это заняло бы пол книги. И даже этого там нет. Книга про ядро, это не все внутренности линукса.
241 1426586
>>26514

>Компилится, но не работает


Ты написал идеальную программу.
Используй отладчик.
242 1426672
>>26586
Вроде все функции вызываются, но не делают что нужно
243 1426704
>>26495

>(Mac|i)OS Internals


Вот так неожиданность)
Блин, даже стыдно стало за свое гугл-фу, спасибо большое.
>>26523
ИМХО, просто эти две книги первыми приходят в голову, если возникает вопрос, что там у соответствующей ОСи под капотом.
Если ты подскажешь другие варианты, буду только благодарен за толковое чтиво по тематике.
244 1426738
>>26704

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


Я бы сам почитал аналог windows internals про линукс, но кажется его нет.
245 1426959
>>26495
Двачую. Алсо, вангую в макось перспективно вкатываться в плане ресерча и поиска уязвимостей. У них же под откос все идет, сейчас пойдут сокращения в компании, дорогих разработчиков набреют и как всегда сэкономят на безопасности. Надо вкатываться, аноны.
RH-Mockup-cover-e27041b0214268ad47f11898f0231d6e.jpg58 Кб, 1139x1603
246 1426972
А эту книгу где украсть кто-нибудь знает?
247 1427188
>>26972
Не надо. Редакторы все похерили
248 1427192
>>27188
Можно я своё мнение сам составлю?
249 1427262
>>27192
Нельзя.
250 1427447
>>27262
Ну и ладно, все равно книга говно.
251 1427451
>>27447
Рад, что тебе удалось ознакомиться. Поделишься с нами?
252 1427479
>>26514
Как насчёт break and step?
Как бы топик.

мимокрокодил
253 1427487
>>27479
Главный мой вопрос это: сложно ли вкатываться в асм, какие подводные?
254 1427499
>>27487
Да хер его знает.
Мне не сложно, но я РЕ занимаюсь по большей части.
Книжек не читал, функциональные патчи (читай: не только кряки) публиковал.
Я хоббиист и практик — с меня мало толку в советах.
Жди унылых компенсирующих профессиональных кукаретиков теоретиков.

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

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

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

всё ещё крокодил
255 1427508
>>27487
Асм - самый простой язык, потому что процессор делает только то, что ты скажешь, только так, как ты скажешь, и ничего больше по крайней мере, все должно так выглядеть. Подводные в основном в том, что даже в пределах архитектуры есть зоопарк ассемблеров с частично несовместимым синтаксисом.

>>27499

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


Примеры будут?
256 1427519
Просто ссу в рот всем формошлепам. Ебучая помойка. Все работает через 3 пизды, если вообще работает. Если не работает, то соси хуй, ибо сам мало что изменишь. То ли дело всякие приближенные к железу и математике штуки. Все точно, как часы.
Мне нужно было выговориться
sage 257 1427543
>>27519

> Если не работает, то соси хуй, ибо сам мало что изменишь


> То ли дело всякие приближенные к железу


DRAM, например, с его роухаммером. Или те же процессоры, у который кроме распиаренных уязвимостей еще дохуя багов в errata. Тут ты хуй сосать не будешь, прикупишь себе фабрику и зделоешь правильно.
258 1427583
>>26972
Ну кто-нибудь. Ну пожалуйста. Ну дайте книжечку.
image.png132 Кб, 968x209
259 1427827
Гайд от очень известного и крутого дядьки, как стать топовым реверсачером. Без такого графика ты будешь лох-чмо с 30к зп в ООО НИИ ЛАХТА - Рога и Копыта. Что думаете?
260 1427829
Кто нибудь в треде пользуется kaitai struct? Как можно с помощью него описать поле флагов, чтобы в визуализаторе я все это видел в человекочитаемом виде?
261 1427842
Краем глаза заметил, как антивирус быстро сканирует объекты и стало интересно. Написал на Си небольшую программу, сканирующую память процесса на поиск сигнатуры и потерпел фиаско, скорость желает ожидать лучшего. Как они это делают так быстро?
index.jpeg12 Кб, 220x276
262 1427934
>>27842
Не знаю. Но у меня на случай таких вопрос давно скачана и ещё не прочитана эта книга. Может тебе пригодится.
263 1427964
>>06213 (OP)
Забыл как формировать битмаски. http://ideone.com/UFArrz

Почему в op вместо 0x31 записывается 0x49? В чем я ошибся при формировании маски? В макрос я передаю 0b00110001, а получается 0b1001001
264 1427977
Подскажите пожалуйста, как написать следующее в синтаксисе at&t:

Mess_ins equ [bp+4] ;сообщение внутри рамки
Attr_ins equ [bp+2] ;атрибуты сообщения внутри рамки
Other equ [bp] ;иная конфигурация окна
265 1427978
>>27842
Дай угадаю, тебя даже на kmp не хватило, какие уж там рабинкарпы с корасиками?
266 1427980
>>27964
http://ideone.com/WsMn1N
Все работает
267 1427982
>>27978
Что за kmp и карасики?
268 1427983
>>27982
Уверен что гуглиться элементарно, а ты даже не пробовал. Первое не ебу, а второе алгоритм поиска Ахо-Корасика
269 1427984
>>27982
Ну кмп очевидно он про линейную оптимизацию поиска с помощью автоматов, которая вряд ли была реализована в простенькой программе на си. А 2 других слова не знаю.
270 1427987
>>27982
Карасик.
Carasique;
271 1427994
>>27983
>>27984
Да тут дело не в алгоритмах. Я один процесс сканировал секунду, а антивирус за эту же секунду всю память обошел. Черная магия.
Я так понял не написать мне йоба-антивирус без магистратуры мат. фака? Но я все же уверен, что тут дело в каких-то скрытых фишках винды.
272 1428000
>>27994

> Да тут дело не в алгоритмах.


А в чем тогда?
273 1428036
>>27827
Не хватает интенсивности.
274 1428039
>>27829
Бамп.

А вообще тут есть аноны, разбирающие бинарные форматы?
Чем пользуютесь? Нашел synalize it(под винду то же самое называется hexinator) - hex редактор с возможностью полудекларативно писать грамматики и интерактивно с подсветочкой парсить файл и смотреть определенные блоки. Потом нашел то же самое только лучше - kaitai struct и их webide. Но в обоих случаях не могу(или не понял как) нормально отображать битовые области с флагами.
275 1428058
>>28039

> А вообще тут есть аноны, разбирающие бинарные форматы?


Есть. Использую HxD и глаза, параллельно пишу парсеры на питоне или сишке. Считаю эти ваши кайтаи и 010 неюзабельным говном, в лучшем случае пригодным, чтобы .bmp распарсить, но не сложные форматы.
276 1428060
>>27994

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


Ты можешь, например, пропускать регионы, которые не помечены, как исполняемые.
277 1428094
>>28060
Я только rwx, wcx и читал.
278 1428118
>>27827
Как научиться интенсивно веселиться?
279 1428129
>>28118
Это еще ладно. Например не просто лежать и ворониных смотреть, а гулять с корешами и шутить так, чтобы задыхаться. А вот как интенсивно СЕМЬИТСЯ??? или ДОМИТЬСЯ?
280 1428146
Есть еще reg-reg инструкции кроме очевидных xor, or, and, add, sub?
281 1428166
>>28129

>ДОМИТЬСЯ


Сычевать, очевидно же!
282 1428209
>>26704
>>26495

>#MOXiI


Есть у кого сабж свежих версий?
Или может кто из нищебродов типа меня готов скинуться на трехтомник 225$ ?
283 1428225
Где почитать про базовые адреса, буфера сиськи гыгы и тд, нужное для работы с памятью другого процесса. Интересуюсь для использования Memoryapi на c++. Я прям ноль в этом.
284 1428240
>>28146
mov и lea считаются?
285 1428241
>>28225
На msdn.
286 1428246
Есть что почитать про устройство антивирусов и HIPS?
287 1428249
>>28246
я бы кстати тоже чего-нибудь почитал
288 1428405
Randomized base Addres меняет базовый адрес единожды? То есть узнав его однажды, я могу каждый раз обращаться по этому адресу и это всегда будет искомый адрес?
289 1428407
>>28405
И как мне быть уверенным, что тоь адрес который я нашел в exe верен. Вдруг я недоглядел
290 1428416
>>28405
>>28407
Зайди на вики или msdn и почитай про ASLR. Получить базовый адрес - GetModuleHandle(NULL).
291 1428419
>>27934
Благодарю, почитаю.

>>28246
>>28249
Вон выше кидали же книгу.
292 1428420
>>28419
Но этой книги мало будет. Она же не большая совсем по сравнению с темой.
293 1428422
>>28420
Ну а дальше только шерстить MSDN и блоги всякие.
Грубо говоря антивирус работает следующим образом:
Регистрирует мини-фильтры/каллбэки на определенные события.
Например при запуске процесса, их каллбэк срабатывает до точки входа приложения, следовательно они могут провести некоторые проверки и изолировать процесс. Тут больше винду надо исследовать, на то какие она возможности предоставляет для всего этого.
294 1428443
>>27842
Вспомнило как умельцы из ESET написали NOD32, который невероятно быстро на тот момент делал нихуяшеньки.
295 1428455
Как избавиться от того, что link.exe добавляет jump-стабы в .text секцию при импорте?
296 1428457
>>28455
Что за link.exe? Раз у него специфика такая, то никак, лол. Восстанови оригинальные байты, либо отобрази новую секцию в обход патчей.
297 1428460
>>28457
MS Link.exe.

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


Чего? Какие байты? Мне надо, чтобы он секцию не загаживал при пересборке.
298 1428489
>>28416
Ок. Прочту. Я правильно понял, что эта функция не работает для стороннего процесса? Если так, то она мне не подходит
299 1428490
http://www.blackstormsecurity.com/docs/DEFCON_CHINA_ALEXANDRE.pdf
Читали? Согласны? Мое мнение, DTrace - просто имба. Теперь я точно все лето просижу за компом ковыряясь в винде.
Алсо, запись данной конференции есть у кого? Не могу найти.
300 1428495
>>28489
Тогда CreateToolhelp32Snapshot или EnumProcessModules или NtQueryInformationProcess.
301 1428572
>>28455

> jump-стабы


Объявляй импортируемые функции с __declspec(dllimport).
302 1428616
>>28490

> swapon


Звучит как страпон
303 1428949
>>06213 (OP)
Какой принцип работы таких дизассемблеров? https://github.com/vxlabinfo/malware/blob/master/beetle2/beetle/ldasm.cpp

По какому принципу строится таблица? Где-то в ней размещается ОПкод, и по этому опкоду можно найти ModR/M или SIB что ли?
304 1429009
>>28949
Опкод используется в качестве индекса в таблице, из таблицы читаются флаги для инструкции, указывающие, из чего она состоит (офсеты, модрм). Если опкод хочет модрм, читается модрм, если модрм предполагает SIB, читается SIB. С помощью всего этого вычисляется, сколько байт после опкода нужно пропустить. Всё, что приводит к раздуванию таблицы (префиксы, альтернативные таблицы) обрабатывается явно.
305 1429046
>>29009
А как такая таблица строится и почему формула построена именно как return packed_table[packed_table[code / 4] + (code % 4)];

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

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

Хочу начать написание такой же штуки с простейшего случая. Ну или с декодирования NOP, но это неинтересно.
306 1429053
Как записать адрес функции в массив байтов?
memcpy(buffer, &function, 8) - какой-то мусор вместо адреса записывает.
307 1429062
>>29053

>asm-тред


>memcpy


Туда ли ты защёл? C-тред - где-то там.
308 1429072
>>29062
В С-треде даже не знают о существовании memcpy.
309 1429086
>>28246
БАМП
MakabaEatsStars.png145x37
310 1429087
>>29053

>memcpy(buffer, &function, 8)


Судя по документации, ты копируешь 8 первых байт самой функции (тела) вместо её адреса.
Делай проще. Как-нибудь так:
*bufer = &function;
311 1429119
>>29046
Я правильно понимаю, что выражение code%4 выделяет последние два бита типа d и w?
312 1429133
>>29119
Почти. Просто хакиры. У многих инструкций форматы совпадают, поэтому можно не хранить флаги для всех 0x100 + 0x100 (однобайтовых и двубайтовых) опкодов отдельно, а вместо этого положить совпадающие флаги один раз, и на них ссылаться. В таблице фактически сначала индексы лежат, а потом флаги. Но индексы тоже занимают место, и ты вроде бы наоборот должен проиграть. Но как ты верно заметил, у многих инструкций есть d/w биты, и если флаги для группы инструкций положить последовательно, то ты можешь адресовать одним индексом всю такую группу. Так и сделано: code / 4 убирает младшие два бита (нормальный челове написал бы code >> 2), получает индекс группы и прибавляет к нему офсет в группе (code & 3), по получившемуся индексу читает флаги. Можешь это дело распаковать и посмотреть: http://ideone.com/WeETG5
313 1429135
>>29053
#include <stdint.h>
∗(uintptr_t ∗)buffer = (uintptr_t)function;
и ты не ломаешься, когда тебя с -m32 соберут. Правда, здорово?
314 1429136
>>29133
Приду домой после настолочек - поковыряю. Как такую таблицу сгенерить скриптом? Сначала положить все опкоды (это первые 6 бит любой инструкции без префикса), а остальные клетки заполнить флагами?

А насколько актуально морфить код, изменяя бит d в инструкциях типа xor ax, ax с одинаковыми операндами? Таких инструкций в любом коде мало. Я думаю, такой морфинг немного бесполезен. В инструкциях вида op reg, mem и op reg, imm тоже можно поиграть с битами, но я с этим еще не разобрался.
315 1429137
>>29133

>У многих инструкций форматы совпадают, поэтому можно не хранить флаги для всех 0x100 + 0x100 (однобайтовых и двубайтовых) опкодов отдельно, а вместо этого положить совпадающие флаги один раз, и на них ссылаться


Да, форматы совпадают, но инструкции mov ax, ax и add ax, bx кодируются по-разному. Как отобразить обе эти инструкции на одну ячейку с флагами?
316 1429175
>>29136

> Как такую таблицу сгенерить скриптом?


Обновил код по ссылке. Берешь мануалы интела, том 2, appendix A с табличками. Записываешь для каждой из двух таблиц (однобайтовые и двухбайтовые опкоды) нужные флаги (можешь и трехбайтовые поддержать, если хочешь), получаешь список из 512 (768) элементов. Ну а дальше жмешь. Это простейший словарный метод фактически - если последовательность из 4 байтов с флагами есть в таблице - записываешь индекс, если нет - кладешь ее туда и записываешь индекс. Все эти разговоры про d/w-биты интересны лишь для того, чтобы понять, почему именно для 4 байт оно жмется лучше всего.

>>29137

> Как отобразить обе эти инструкции на одну ячейку с флагами?


Записать один и тот же индекс ячейки с флагами для обеих инструкций?
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, все.
317 1429182
>>29135
Так делать безопасно?
318 1429202
>>29182
По большей части (на реально существующих и распространенных платформах) - да. Вот если платформа требует выравнивания для чтения/записи указателей, а буфер не выровнен - может случиться что-нибудь нехорошее. Ну можешь сделать: uintptr_t funcadddr = func; memcpy(buffer, &funcaddr, sizeof(funcaddr)), если тебя это волнует.
319 1429357
>>25211
Кто уже прочитал? Обсудим? Вам не кажется, что слишком мало посвящено современным технологиям? Сейчас нет смысла что-нибудь писать, что не работает в дэфолтной win10 x64 с uefi. И про обход проверки целостности в таких условиях там полторы страницы без описания PoC или разбора какой-нибудь малвари. Упомянули эксплоит в драйвере виртуалбокса всего в одном предложении, хотя эта тема заслуживает отдельной главы. При этом более древние техники с mbr на xp разобраны на 100 страниц.
320 1429406
>>29357
Дочитал. Вот сижу https://www.youtube.com/watch?v=7p2uAgO9lBQ смотрю. Ну да, я тоже большего ожидал, на самом деле, каких-то практических знаний, а вышло по итогу, что я знаю что какие-то технологии / дыры там есть, но как их исследовать не знаю и остается только фантазировать. Короче углубляться надо самому.
321 1429412
>>29357
На сколько я понял, удаленно уже ничего провернуть нельзя. Не зря за удаленное постоянство на уровне железа награда в 1-2 миллиона долларов у эпл и 1 лям у мс. Но атаки с физическим доступом более чем реальны. Погугли блог Dmytro Oleksiuk'a (Cr4sh).
322 1429431
>>29412

>Cr4sh


Этого знаю. Речь не про удалёный jailbreak, а просто как установить драйвер в винду не имея подписи. Ну или не драйвер, а какой-нибудь другой буткит, но он должен работать на чём-то современном, а не пытаться лезть в мбр.
323 1429457
>>27827
и зачем так жить то? если только работа да сон?
324 1429619
>>29431
В таком случае не становятся ли актуальными полиморфные-метаморфные вирусы? Зачем ебаться с подписями, если можно жить в файлах?
325 1429717
Что почитать об оперативной памяти? Меня волнует это, потому что захотел написать свой недо cheat engine с функционалом 1/10000 от оригинала. Как я понял ReadProcessMemory читает всю память процесса (с кодом). А мне код нахуй не нужен. Данные же полюбому как то помечаются на исполняемые и неисполняемые.
326 1429735
>>29133

>В таблице фактически сначала индексы лежат, а потом флаги. Но индексы тоже занимают место, и ты вроде бы наоборот должен проиграть. Но как ты верно заметил, у многих инструкций есть 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?
327 1429767
>>29431

> а просто как установить драйвер в винду не имея подписи


На своем компьютере если, то просто отключаешь проверку подписи драйвера, включаешь режим отладки и грузишь драйвер. Также в биосе есть функции по отключению проверки подписи прошивки.
Удаленно установить прям именно драйвер никак нельзя. Можно разве что выполнить шеллкод в режиме ядра с помощью уязвимостей в компонентах ОС, либо через уязвимый легитимный драйвер но у тебя уже должны быть права админа. Буткит на тачке со всеми включенными функциями защиты то есть по дефолту ты никак не установишь. В теории конечно можно, но очень много где должны сойтись звезды.
328 1429774
>>29619
И как ты себе это представляешь? При заражении файла сигнатура бьется, файл не считается легитимным. Также есть всякие ASLR, DEP, CFG и прочие механизмы, которые убили полиморфные вирусы уже очень давно.
329 1429790
>>29774

>Также есть всякие ASLR


Как рандомизация базового адреса и защита стека убили вирусы, если вирус можно написать базонезависимым?
330 1429826
>>29790

>убили полиморфные вирусы


Ты слова не пропускай то.
331 1429837
>>29735
Я попытался тебе объяснить, почему именно группы по 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 и вычислишь неверную длину в результате.
331 1429837
>>29735
Я попытался тебе объяснить, почему именно группы по 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 и вычислишь неверную длину в результате.
332 1429856
>>29837
Можно вопрос. Где эти знания могут пригодиться вообще? Зачем писать дизасемблер самому, если есть десятки аналогов? Пердолинг ради пердолинга?
333 1429862
>>29856
Это кажется, что есть аналоги, а как до дела дойдет - то нельзя, это не работает, это только через ебаный костыль, вся либа ебаный костыль, пошло оно все в пизду, учу 1С. На самом деле дизассемблеров длин не так много, а если искать одновременно поддерживающий все современные инструкции и чтобы размером в одну-две страницы на Си, то их вообще ноль, наверное.
334 1429935
>>29837
Принцип сжатия я понял. Мне интересно, на какие группы разбиваются все инструкции на x86. Вот у mov eax, [00401000] есть ModR/M и 4-байтный адрес. А у push eax (0x50) больше нет никаких байт, кроме этого опкода. add eax, [00401000] похож на mov выше. А еще есть инструкции с 8-битными, 16-битными и 32-битными операндами. Есть инструкции без операндов. Я предполагаю, что количество групп, на которые можно разделить все инструкции, совпадает с количеством 4--байтных последовательностей флагов. Хочу понять, что это за группы и сколько их.
335 1429955
>>29935

> на какие группы разбиваются все инструкции на 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), там инструкции хоть и сгруппированы по применению, их структура наглядно нарисована, можешь спарсить оттуда данные и погруппировать.
336 1430397
Кто нибудь находил какие либо технические детали по поводу Memory Integrity с использованием HVCI? Такими темпами винда убьет всю малварь сама и антивирусы станут не нужны, как в случае с макосью. Что думаете?
337 1430438
>>30397
А можно инфы по поводу макоси и ее расправы над малварями?
338 1430527
>>30397

> Такими темпами винда убьет всю малварь сама


Как это защитит от на коленке сделанного скрипта из десяти строк, который зашифрует Documents и попросит бетховенов?
339 1430554
>>30397
Винда начиная с 2000 убила всю малварь в прямых руках.
>>30527
Одно слово - SRP.
sage 340 1430608
>>30554

> Одно слово - SRP.


Ну ты у себя настроишь. А кто будет пользователям объяснять, почему у них инсталлятор скачанной программы не запускается? А если запускается? А если в инсталляторе тот самый скрипт?
VEX.png69 Кб, 644x365
341 1431068
VEX считается RISC'ом, или как?
342 1431329
Как на десятке создать виртуальный флоппи диск с бутлоадером?
343 1431372
>>30608
Пользователи не нужны.
344 1431378
Как переводится Second Fault Exception Handler?
ex.png28 Кб, 742x462
345 1431394
Есть такая няка. Как пропатчить эту программу, чтобы MessageBox отобразился два раза? Не примитивные способы типа копипаста.
346 1431396
>>31394
Мириард вариантов.
347 1431401
>>31378
Обработчик ошибок в обработчике ошибок.
348 1431403
>>31394
– Вот как мне, интересно, файлы получше заражать, – размышлял Винни. – Если я положу в начале программы RET, а стек заставлю смотреть на адрес возврата…

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

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

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

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

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

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

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

– Устами поросенка глаголет Истина, – сказал Пух важно, решительно опуская лапы на клавиатуру, и Пятачок заметно покраснел и стал выводить левым задним копытцем неопределенные круги.
350 1431473
Что с форумом exelab?
351 1431515
>>31403
Как это сделать в hiew, чтобы не затирать байты, а добавить новые? В меню edit->asm только затирание
352 1431582
>>31470
Спасибо
353 1431583
>>31515
Ты хочешь в середину сегмента кода новые байты вставить? Тогда у тебя после них все ссылки поедут и ничего не будет работать.
354 1431901
>>31470
В конце 27ой главы пропущены страницы
355 1432027
>>31901
отпиши @Slippery_Fox в телеграме,он слил
356 1432090
>>32027
Ок. Завтра напишу. Если не постесняюсь.

Обсудим теперь эту книгу? Помню алиса в твитере так пафосно прокомментировала книгу. "не буду утверждать, что всё написанное про меня правда". А оказалось, что про неё там 2 абзаца скопипащенных с форбса. И странно, что не упоминали диму краша из-за которого как раз и попала под санкции алиса. Хотя сама виновата, что понабрала школьников с античата в компанию. В gib например всех на полиграфе проверяют и каким бы талантливым он не был его бы туда не взяли.
357 1432095
>>32090
че за алиса?
358 1432096
>>32095
шевченко
359 1432097
>>32090

> В gib например всех на полиграфе проверяют


На предмет чего?
360 1432098
>>32097
криминал в прошлом ищут
361 1432099
>>32098
Ну и нахуй сразу кантору такую. А в жопу с фанариком они не лазают?
362 1432100
>>32099
там и платят мало. идти стоит или студентом, а потом валить или директором, а потом оставиться
363 1432238
это что вообще?
364 1432313
В нулевых был какой-то годный русскоязычный журнал, который каждый уважающий себя асемблятор выписывал, название было из двух слов, журнал точно был one of a kind, может тут кто-то вспомнит?
365 1432353
Что можно почитать о багхантинге и ошибках сравения знаковых чисел с беззнаковыми (ja, jg)?
366 1432368
>>31583
Да, хочу, например, пропатчить адрес возврата и записать что-то типа mov dword ptr[esp+1], 401000h.
Что надо делать, чтобы все ссылки не поехали? Есть инструменты, которые автоматизируют такой патчинг?
367 1432371
>>32313
Системный администратор, любимый журнал Криса
368 1432376
>>32368
Как виннипух тебе написал. Вместо call MessageBoxA делаешь call куда-то в пустое место программы, а там делаешь что нужно. Пчелы подумают, что это маленькая подпрограммка и ничего не заметят.
ex.png23 Кб, 678x437
369 1432460
>>32376
Понял. У меня как-то не так встали адреса. В hiew я выбираю edit->Asm и ввожу push 0401000. Это адрес подпрограммки, которая выводит окно. Но в OllyDbg видно, что обращение происходит вообще не туда. Видимо, я не умею правильно записывать адреса в hiew. Как это делать?
Потом я хотел переместить вывод окна в пустую область нулей, но команда call MessageBoxA не ассемблировалась. Как ассемблировать вызовы импортов?
370 1432510
>>32460

> Но в OllyDbg видно, что обращение происходит вообще не туда


У exe-шника случайно релоков нет?

> hiew


Но зачем пердолиться в это говно мамонта, если ты можешь ассемблировать прямо в ольке?
371 1432609
>>32096
Алису Шевченко обоссали на форуме fuckav за барыжничество чьим-то криптором.
372 1432616
>>32609
Ясен пень, тян априори в лоу левел въехать не могут. Есть книга то в нормальном .pdf формате? А то скачал выше по ссылке, там фотками все.
373 1432621
>>32609
Можно скрин треда?Я просто хз вообще как на факаве регу пройти тк у меня из профилей на форумах только пустой профиль на экспе
374 1432638
>>32621
Где-то здесь было: https://fuckav.ru/forumdisplay.php?f=45
Проигрываю с названий тредов.
375 1432640
>>32638
Вроде, это https://fuckav.ru/showthread.php?t=32169
Суть такова. Там внезапно появилась тян, которая стала активно тусить на форуме и влезать в каждый тред, чтобы показать свою компетентность. Предлагала безвозмездную помощь. Тем не менее, все обращались к "ней" в мужском роде. Потом она там начала барыжить и ее поймали на барыжничестве чьим-то криптором.
376 1432645
>>32640
sweetmika7 это и есть алиса шевченко?
377 1432649
>>32645
Ну ту телку считали Алисой. Еще там в чате говорили, что Алиса раньше сидела на их форуме.
378 1432685
>>32640
Какая-то ересь полная. Заказчик там сам мягко говоря с программированием мало знаком, исполнитель - тоже. Я что-то передумал даже книгу читать, если там о таких товарищах пишется. Или годная все таки?
379 1432688
>>32685

>Я что-то передумал даже книгу читать, если там о таких товарищах пишется.


Это и есть настоящие хакеры. Люди, которые хуево знают программирование, но любят залезать в анусы операционных систем, чтобы поиметь с этого деньги. Такие товарищи носят в своих вирусах bat-файлы. А в книге еще рассказывается про барыгу оружием.
380 1432698
>>32688
Да уж. Из всей этой тусовки только персонаж Indy вызывает доверие. Олдфаг со стажем, помогает бесплатно, ресерчит даже что-то успешно. На забугорных форумах видел упоминания о нем и похвалы. Жалко конечно что у него своего блога нет, приходится в интернетах сообщения выискивать.

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

Тут по-моему единственный адекватный выбор - это идти малварь реверсить к какую-нибудь тир2-3 ав кантору.
381 1432792
>>32698

>Короче нафик этот хакинг, тот еще пердолинг


Ты этот хакинг сначала осиль, вайтишник ебаный.
sage 382 1432816
>>32792
Давай решим сначала, что такое хакинг. По ссылкам выше ребячество. Пару сотен строк кода с использованием документированного апи. Это хакинг разве? Такое даже в джава треде осилят.

Ты чего так загорелся-то? Я тебя задел что-ли? Ну если хочешь, давай проверим чье кунг-фу сильнее. Придумывай задание.
383 1432832
>>32816
А это уже интересно.
мимо другой
384 1432886
>>32616

>Ясен пень, тян априори в лоу левел въехать не могут


Боюсь мне придется хуй тебе по рылу размазать.
ничего личного, Северодвинск рулит
385 1432887
>>32816

>Придумывай задание


На Росинке рут получи.
изображение.png58 Кб, 686x765
386 1432888
>>32887

>Росинке


каво?
мимо
387 1433196
>>32816

>Придумывай задание.


Реализуй аналог WinApi функции LoadLibrary, получающей указатель на буфер в памяти с содержимым DLL-ки вместо имени файла.
388 1433206
>>33196
Скучно. Такое тут каждый первый писал.
другой анон
389 1433207
>>33206

>Такое тут каждый первый писал.


Даже не сомневаюсь.
390 1433210
Хочу написать низкоуровневую программку, которая прочитает от юзера два сколь угодно длинных числа, сложит их и выведет результат на экран. Без аллокаторов памяти и прочего. Как это можно сделать?
Я хочу заюзать прерывания биос, но тогда, наверное, придется работать в реальном режиме. Прерывания ведь недоступны из ПМ?
Как еще можно решить задачу?
391 1433212
>>33210

> Как еще можно решить задачу?


Никак. Защищенный режим на то и защищенный, чтобы не давать тебе доступ к железу в обход дров (мы же про ОС говорим, а не про код, который сам в защищенный режим переключается?). Алсо, вот как раз в реальном режиме ты можешь обойтись и без прерываний, выводя напрямую в видеопамять.
image.png1,2 Мб, 1642x995
392 1433262
какие поля у структуры линуксового модуля могут быть интересны при разработке IDS? можете посоветовать какой нибудь современный цикл статей по фундаментальным структурам линукса типа процессы, сетевые соединения, модули и тд, чтобы читалось легко?
393 1433320
Как распаковать екзешник запокаванный enigma protector 4.xx ???
394 1433350
>>33196
А я бы посмотрел на опенсор реализацию такой штуки
395 1433352
>>33350
А блять хуйню спизданул. Забудьте
396 1433416
>>33196
Издеваешься? Исходники на васме еще с 2000 года висят, куча современных аналогов на гитхабе. Реализаций отображения буфера в целевой процесс может быть несколько, также как и вызова мейн функции. Давай корректное задание с описанными деталями реализации и не то которое придется весь день писать.
397 1433430
>>33416

>куча современных аналогов на гитхабе


Ну кинь сюда хоть один, лол.
398 1433437
>>33430
https://github.com/Zer0Mem0ry/ManualMap/blob/master/ManualInjector/ManualInjector.cpp

Вот например. Самая обычная реализация с использованием высокоуровневого документированного апи. Выделяешь виртуальную память в целевом процессе, записываешь туда буфер, правишь его согласно правилам pe-формата, вызываешь мейн функцию по средствам создания нового потока. Никаких хаков.
399 1433447
>>33437
Сойдет, хотя код жопошный, конечно.
Хоть бы RAII-врапперы понаписал для базовых вещей, и макрос для доступа в структуру с проверкой валидности смещения.
sage 400 1433462
>>33437

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


Давай заценим:
1) Формат не проверяется совсем, вообще, никак. Скормив этой фукции сломанную длл или неподдерживаемую длл (см., например, типы поправок, которые не проверяются тоже), можно уронить все нахуй. Да этой хуйней можно mp3 грузить!
2) Модуля нет в PEB_LDR_DATA, многие функции Windows API с этой "длл" работать не будут. Например, та же работа с ресурсами.
3) TLS не поддерживается.
4) Activation context-ы не поддерживаются, load configuration не поддерживается, 64 бита не поддерживаются, runtime function table, куча других сколько-нибудь современных вещей - нет. И это я еще молчу о тонкостях PE-формата.

Выводы сделаешь сам?
401 1433471
>>33447
По хорошему надо PE-парсер туда имплантировать и разные врапперы/хелперы, а так да, нечитабельно.

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

А что там за тонкости PE-формата?
sage 402 1433520
>>33471

> А что там за тонкости PE-формата?


Ну я имел в виду всякие банальности типа VirtualSize = 0 у секций. Код не читал, только скроллил.

> инжектят голые длл или шеллкод


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

> я уверяю тебя, что все это вообще не нужно


Это у тебя просто никогда MessageBox() не фэйлился из-за того, что лоадер SxS не умеет.
403 1433546
>>33520
Тогда и смысла реализовывать это все руками нет, если не для хакинга. Некорректная задача. Реализовать все и не получится, потому что есть куча мест, куда нужно что-то впихнуть, где-то счетчик ссылок поправить забыл и у тебя все упадет.

>Это у тебя просто никогда MessageBox() не фэйлился из-за того, что лоадер SxS не умеет.


Приведи пример.
sage 404 1433604
>>33546

> Приведи пример.


Деталей уже не помню, много лет прошло. Примерно так: XP, comctl32 в импортах, отсутствие InitCommonControls. MessageBox возвращал 0 с валидными параметрами. Допилили SxS и заработало.

> если не для хакинга


Для моддинга. Грузилась игра, правились/подменялись импорты и код на лету. На WriteProcessMemory возбуждался антивирус, пользователи пугались, поэтому был запилен лоадер. Потом по-другому сделали, правда.
405 1434588
>>32090
А неплохая все таки книженция. Интересные истории получились, кому-то повезло, кому-то совсем нет. Ну а про наше внутреннее устройство и так все знали, разве что навальнята вон пусть просвещаются.
406 1434641
407 1434671
>>34641
Лол, только скачал, и уже забанили канал?
Туровский, ты не охуел там, часом?
изображение.png999 Кб, 1630x927
408 1434683
>>34671
чего?где забанил?
409 1434685
>>34683
Channel with username @freedom_fox not found
410 1434706
>>34685
Ты с айфона что ли сидишь?
411 1434711
>>34706
Тарищ майор, хватит вынюхивать! У меня андроид.
412 1434733
>>34711
Да это Туровский, я гарантирую это.
413 1434867
>>34683
Залейте эту версию книги куда-нибудь еще.

мимо бдло без телерама
414 1434938
Пытаюсь расковырять в IDA Pro обычную программу (хэллоуворлд), скомпиленную в Visual Studio. Я долго искал main через _start, в итоге обнаружил, что он вызывает метод с двумя вложенными методами с двумя вложенными методами и так далее... Разок наткнулся на строку, которую программа выводит, а сам метод printf вызывается не в той подпрограмме, где значение кладется в стек, а через два слоя таких вот sub'ов! Анончик, почему все так дико?
415 1434947
>>34938
Алсо, платформа - шиндовс, язык - С++.
416 1435017
>>34947
Енджой ер вижуал сиплюсплюс и компилятор вс
417 1435020
>>35017
А как мне виндовый софт реверсить-то, блджад?
sage 418 1435034
>>34938
Выложи, давай посмотрим.
419 1435172
>>34867
https://dropmefiles.com/MGhyH

Открывать только на реальной машине. На виртуалке не сработает.
420 1435183
Студентоты полон тред. Кто нибудь здесь хоть раз операторы местами переставлял для того чтобы уменьшить время переключения пайплайна?
421 1435205
>>35172
Посоны не качайте, там вишмастер, пишу с тостера.
sage 422 1435292
>>35172
Не скачивается.
423 1435294
>>35172
судя по размеру тут первая версия с пальцами
>>35292
держи няш
https://anonfile.com/f0wd6ez8n6/Turovskiy_Vtorjenie_pdf
424 1435302
немного оффтоп, но может кто нибудь знает.
есть произвольная линуксовая система, на которой запущен скрипт командой python3 scriptname.py от имени рута, но запускал не я, хоть и есть доступ к руту. ни в / ни в ~ рута скрипта scriptname.py нет, да и через find/locate по всей системе он тоже не находится. мне нужно узнать, что именно делает скрипт, в иделае вообще получить его сорсы. как это можно сделать?
425 1435337
>>35302
Через /proc/<pid>/fd
Надеюсь, ты не ленивый студент, хотя все на это указывает.
image.png170 Кб, 697x216
426 1435340
>>35337
я ленивый студент и иду по https://gist.github.com/simonw/8aa492e59265c1a021f5c5618f9e6b12 вот этому гайду.
почитал про /proc/pid/fd на so. в моём случае выдаёт пикрилейтед. что это может значить?
427 1435353
>>35340
Это значит, что ты пидор не умеешь учиться, и ждешь, что кто-то решит за тебя задачу. С таким подходом в ИБ делать нечего.
В качестве общего подхода, могу посоветовать тебе смоделировать ситуацию, и смотреть там, что и как.
428 1435359
>>35353
ух ты блять какой. ну и ладно, придется тратить время и гуглить, я пришёл сюда за помощью с нетривиальной проблемой, потому что вроде как для этого форумы и нужны, но если тут только нахуй посылают с вопросами, то чё делать, пойду искать решение сам.
sage 429 1435402
>>35340
Это значит, что питон не держит файл со скриптом открытым, а скрипт, скорее всего, себя уже удолил, раз find не находит. Хотя ты в /proc/<pid>/cwd смотрел? сдампи память процесса
430 1435415
>>35294

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


Там сжато. не хотел 60 мегабайт по сети загружать
431 1436416
>>32090

>Обсудим теперь эту книгу?


Хунта из под коня.
Серьезно, кроме пары интервью вообще ничего нового/интересного.
О каких-нибудь технических деталях я уже вообще молчу.
432 1436491
Такой вопрос. Я тут статью на хабре прочитал, там парень рассказывал, как занимался реверс инжинирингом контроллера лифта в подъезде.
Насколько нужно быть профессионалом, чтобы провернуть такое?
Вот допустим я чисто поприколу хочу влезть в лифт в падике и кнопки перемешать (теоретическая ситуация).
Сколько мне нужно будет обучаться, чтобы смочь такое?
433 1436495
>>36491
Профессионалом тут быть не нужно. Только анус разработать не забудь.
sage 434 1436496
435 1436637
>>06213 (OP)
дело было вечером, делать было нечего, забэкапил на гит/гитбук с wasm.in перевод "Введение в реверсинг с нуля, используя IDA PRO" от Яши. Из плюсов гитбука - полнтекстовый поиск.
Есть еще чем там заняться, но это уже по времени/возможности. Или если кто то сам поправит и пулреквест пришлет

https://yutewiyof.gitbook.io/intro-rev-ida-pro
436 1436638
>>36491
это как вырезать гланды через жопу. Залезаешь в падк, снимаешь панель, тасуешь кнопки. профит.
а в статье описано то что делалось овердохуя жопачасов
437 1436695
>>36495

>анус разработать


Да я же незаметно. Ночью залезу и сделаю всё.
А если серьезно, интересен просто сам вопрос, сколько времени нужно изучать материал, чтобы смочь сделать такую вещь.
Или, вот адекватный пример. Есть у меня например кофемашина. И я пару кнопок не использую (ну там где пенка и тд). Я хочу сам залезть и перепрограммировать так, чтобы на эти две кнопки делалось другое (кофе с выбранными параметрами). Чтобы не крутить вертушки и не настраивать, а просто кнопку нажать.

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

>>36638
Так не интересно. Да и это решения уровня, стереть вообще цифры у кнопок.
Тут же вопрос скорее общий и теоретический.
438 1436721
>>36695
чтобы ты смог взять чип с кофеварки,написать свою прошивку на асме проца этой платы и все прошить?Или что ты имеешь ввиду?Найми спецов лучше
439 1436744
>>36695

>Тут же вопрос скорее общий и теоретический.


к каждой цели надо идти разумными средствами/способами.
440 1436755
>>36721
А обязательно свою прошивку писать? Нельзя ли просто немного изменить ту, что уже есть? Может и тупой вопрос, я просто никогда этим не занимался.
441 1436766
>>36755
зависит от целей и размаха. начни для начала прогать, и смотри на результат. Заодно разбирай все что пишешь. У Юрича все хорошо написано.

В шапке :
beginners.re - "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна!
442 1436770
>>36755
ЗЫ. если прогать сложно будет, то в реверс лесть тем более. Там многое завязано на багаж опыта.
443 1436978
>>36637
А вот за это большое благодарочка, анон. В шапку можно будет добавить. Алсо, куда Яшечка в итоге ушел? С васма то его выгнали, к сожалению.
444 1437025
>>36637
ОП добавь в шапку!
оп
445 1437067
>>36978
не выгнали, он по прежнему там, но обида и тд. что как дальше будет - хз.
446 1437095
>>37067
А Володий общак вернул?
447 1437109
>>37067
Так забанили же его вроде? Или уже разбанили?
448 1437127
>>37095
не вкурси я мимо крокодил
>>37109
может ридонли? в личку всё норм а на форуме не видать
449 1437416
Володуа, верни общак
450 1437468
аноны, помогите, как работать с режимами процессора в асме? я знаю его не очень, но просто интересно для себя покапаться в защищёных и прочих режимах проца, чтобы понять разобраться и получить базовые скилы.
451 1437483
Извиняюсь за небольшой оффтоп
Кто может сказать где сейчас 29A,z0mbie и прочие крутые вирмейкеры из начала нулевых?Когда они все это творили я только родился,так что не застал.Интересна их судьба
452 1437664
>>10579
Добавлю. Вот перевод мануала для fasmg:
https://conspectuses.blogspot.com/2019/03/fasmg.html
image.png356 Кб, 678x1138
453 1437673
>>37468
Наврено самое доступное и более менее актуальное:
Аблязов Руслан Зуфярович - Программирование на ассемблере на платформе x86-64
454 1437674
>>37664
а что случилось что он теперь fasmg? вроде раньше же всегда был просто fasm
15603542212290.png1008 Кб, 629x888
455 1437865
Кроссплатформенный Ассемблер!

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

Совершенно случайно наткнулся на такую тему, вопрос в том: КАК?
456 1437949
>>37674
Ничего не случилось, fasm остался. fasmg - это fasm2 движок для написания ассемблеров с помощью допиленных макросов fasm.

>>37865
Ну начинается...
457 1437955
>>37483
На бутылке скорее всего. Без шуток.
458 1437958
>>37865
Опять ты. Еще и анимешник. Понятно все с тобой.
C.jpg10 Кб, 198x322
459 1437999
>>37865

>Совершенно случайно наткнулся на такую тему, вопрос в том: КАК?


Кроссплатформенный Ассемблер это С, без шуток.
Inori-Aizawatransformation.jpg114 Кб, 679x960
460 1438001
>>37999
почему си постоянно рисуют взрослотянкой а не нердодевочкой -_-
461 1438003
>>38001

>год появления 1970


Потому что ему (ей) больше, чем большинству посетителей этой (и любой другой) борды.
Хотя уже яваскрипту с пыхой больше 18, теперь даже с ними не зазорно трахаться.
462 1438006
>>38003

>Хотя уже яваскрипту с пыхой больше 18, теперь даже с ними не зазорно трахаться


Я бы не стал. Велики шансы подцепить рак глаз или даже мозга.
1562409396016.png1 Мб, 1920x1080
463 1438009
>>38003
ну и что
алсо на картинке откуда она взята руби моложе джавы хотя должна быть старше
и самая милая там - лол визуал бейсик
464 1438070
>>37999
Без шуток, ассемблер это классический бейсик, буквально. Портянка инструкций с адресами, джампы, джампы с возвратом.
465 1438081
>>37949
но эти же охуянные макросы и тогда были)
466 1438116
>>36637
>>06213 (OP)

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

Аналогичный бэкап курса Нарвахи по азам но уже на примере Ольки КМК, тут основы лучше рассказаны чем в курсе с идой, там их по верхам. И вообще базу все же лучше отдельно, а материал по инструментам отдельно. Но как есть
467 1438120
>>06213 (OP)
ТЫ, КТО СМЕЕТ ЭТО ВАШЕ ДЕРЬМО ПОГАНОЕ ЗДЕСЬ ХЕРАЧИТЬ, ЭТО ТЫ, ТАК НАЗЫВАЕМЫЙ БАЙТОСЛЕСАРЬ, ТЫ ГЕЙСКАЯ МРАЗЬ ПОГАНАЯ, ТЫ МУДАК СРАНЫЙ, ВОНЮЧИЙ ТЫ УРОД, ПОДОНОК, ЧТОБ ТЫ В НИИ ЗА 30К В МЕСЯЦ ГНИЛ, ТВАРЬ, ГНИДА ПОГАНАЯ! Я ТОЛЬКО НАТУРАЛ АБСОЛЮТНЫЙ, ЧИСТЕЙШИЙ ГЕТЕРО ПОЛНОСТЬЮ, НАВСЕГДА ТОЛЬКО НАТУРАЛ Я - ТОЛЬКО ДЕВУШЕК ОДНИХ ЛЮБЛЮ, ТОЛЬКО ДЕВУШЕК КРАСАВИЦ И ВСЁ!! ТОЛЬКО С ДЕВУШКАМИ ВСТРЕЧАЮСЬ, ТРАХАЮСЬ С ДЕВУШКАМИ СПЛЮ ТОЛЬКО! И ПРОГРАММИСТ Я ТОЛЬКО И ВСЁ!
468 1438151
>>37955
Да уже же 20 лет прошло с тех событий.все сроки давно прошли
469 1438308
>>38120
Код не пишешь, хуй не сосешь - зачем вообще ты на свете живешь?
470 1438319
>>38120

>ЧТОБ ТЫ В НИИ ЗА 30К В МЕСЯЦ ГНИЛ


Ну я и так как бы. Что сказать-то хотел?
471 1438447
>>38081
Нет, макросы fasmg гораздо мощнее и позволяют делать вещи, невозможные или требующие костылей в fasm1 (хотя кое-что Томаш бэкпортировал уже).
472 1438491
>>38447
Хорошо. Спасибо. Поищу почитаю.
научился ли fasm Делать дебаг инфу в ехешниках?
473 1438528
>>37958
В смысле, опять я ещё и анимешник?
474 1438548
>>38120

>В НИИ ЗА 30К В МЕСЯЦ


А где там зарплаты? Последнее предложение, что я видел, было 12. А я и в частной программистом на битриксе 30 умудряюсь получать.
475 1438572
>>38548
В ДСах аж до 100к доходит белая зп в НИИ.
476 1438581
>>06213 (OP)
Аноны, вопрос не совсем по теме, но спрошу - какие книги есть по машинному обучению в RE? Машоб-тред - помойка, там спрашивать бессмысленно.
477 1438582
>>38581
даташиты в рдф от производителя

канкретный камень канкретные инструкции
01.JPG6 Кб, 491x68
478 1438583
прошу проверить
дано
одно прерывание приходит каждые 13.57см
необходима скорость в кмч
это инт
могу на индекаторе отображать только 4 знака
тое 1234
точку естествеенно буду ставить в ручную
тое 45.5кмч это 455

на пике код

пожалуйста проверьте эту константу
04м.JPG65 Кб, 590x590
479 1438587
а именно 37980
последний нуль смущает
нелюблю нули
оказываеца
тхл и тхх
карочи
это таймера и прерывания
к примеру
есть таймер
у него 2 регистра по байту
тх и тл
как только тл 256 тое =0 0хфф
он клацает камнем
тое нельзя сделать так
нижний регитр +2 кагда он 254
верхний не щелница нихуя

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

а можите и меня обассат
480 1438588
>>37865
не тупи маняме
....
после кросплатформы у твай няфы вместо ушей хуи вместо глаз залупа...
один хуй все перещитывать в ручную
я эту константу шитал 10 часов в течении полугода
и та мине не нравица
потомучто физики дахуя
тое внешних условий сверх быстрых просто ниебическое количество
481 1438597
>>38491
Ну вот с fasmg ты можешь генерировать дебагинфу в любом формате, для которого только сможешь написать макросы (азаза. А в обычном фасме у тебя есть .fas и конвертеры какие-то вроде были для него, но сразу CodeView (PDB) он тебе не сделает.
blob353 Кб, 1152x864
482 1438604
>>38597
не трахай мозг мальчик
поверь мне
достаточно всеголиш знать канкретные точки и количество времени
да оно будет плавать +- 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
blob353 Кб, 1152x864
482 1438604
>>38597
не трахай мозг мальчик
поверь мне
достаточно всеголиш знать канкретные точки и количество времени
да оно будет плавать +- 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
483 1438614
>>06213 (OP)
ОП, ты ведь добавишь в шапку восстановленный бэкап старого ВАСМа?
484 1438615
485 1438617
>>38548
>>38572
не в ДСах тоже может если образование соответсвующие - кандидатская есть, идешь на пол ставки туда на пол ставки сюда, и полявляешься по 2-3 часа в неделю. А получаешь как за полные ставки)
486 1438618
>>38597

> но сразу CodeView (PDB) он тебе не сделает


единственный минус с другими :(
>>38614
еще на рутрекере есть бэкап в CHM https://rutracker.org/forum/viewtopic.php?t=407571
487 1438620
>>38604

>и тут я начал знатно обсераца - осозновая что оказываеца полуволна это синусоида


тое .....

>карочи я пришел сюда с этой проблемой и гдето неделю >формулировал анону задачу


>он мне дал решение



блэт. еще один сказочни пропустил школьную математику.
488 1438622
>>38604

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


еба, ты чо тут чешешь, птушник что ле?

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



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

>и я даже за12(ДВЕНАДЦАТЬ) лет все в сраном 8 битном камне все не знаю, не говоря уже о переходных 16 битных и современных 32битных стмах


это всего лишь твои 12 лет которые ты нахуй проебал вместо того чтоб что то изучать. методом тыка и изобретением велосипедов занимался
489 1438623
>>38604
Дед, ты чего это в нотпаде код пишешь?
490 1438723
Вы чё уебки? Да благодаря ардуино даже самый отсталый птушный электрик без опыта проги может закодить игровой автомат и каждого пиздюка в округе на десятку наебать. У меня все. рты ваши ебал, дети, выросшие на журнале хакер
491 1438726
Подкиньте, где есть подробное описание флагов секций pe-файла и какие они могут принимать значения (или в теории там можно выставить любые комбинации, и файл останется валидным?)
492 1438935
>>38913 (Del)
У исполняемого файла есть секции, у секций есть набор характеристик - по-моему, dword. Где можно прочитать подробно про значения, которые туда могут устанавливаться?
493 1438945
>>38588
ты бухой или што?
494 1438962
>>38958 (Del)
Очень смешно, какой-то уебок нажрался и врубил вот эту в стиле "пойми, мальчик".
А ты ведь очень тупой и тебя не накрыли хуями только потому что через твою орфографию лень продираться.
495 1439048
>>38962
Ты ахуел на старикана выебываться? Внемли мудрости или съеби.
496 1439068
>>39048
что этот старый пердун сделал чтоб его слушать. пока по его роскозням он страдает хуетой)
497 1439081
>>38618

> единственный минус с другими :(


Запили, все только рады будут.

>>38935
https://docs.microsoft.com/en-us/windows/win32/debug/pe-format
498 1439082
>>38958 (Del)
перудн пездуй отсюдава, тема не про асм и кодинг, а про реверс. ты на старости лет ошибся малость
499 1439085
>>39081
за столько лет, никаких подвижек, ничего не изменилось, значит никому не нужно это) и ты предлагаешь ему запилить?)))
опенсорс такой опенсорс.
500 1439100
>>38904 (Del)

>себя вспомни епта



себя и вспоминаю. сел почитал повторил. как конструктор же. у ардуины плюс что прям по USB Шьешь и всё, но такое сейчас и в нормальных stm-ках есть которые на развес, да и атмеги такие имеются.
Ардуина изначально неверное понятие у ребенка складывает о теме программирования железок в принципе.
501 1439101
>>39082

>тема не про асм и кодинг


Ты название треда давно читал?
502 1439136
>>39085
Ему нужно, видимо. Я вот не пилю, потому что не понимаю, что может добавить отладочная инфа в изначально ассемблерный код, который тобой же и написан. А вообще, решения разной степени костыльности уже запилили, просто прямой генерации .pdb нет.
503 1439207
>>39198 (Del)
в какой жопе у тебя абсолютизм то лол.
заебал тему без причин апать.
504 1439541
>>39222 (Del)

>моче похуй


Причём здесь моча, даун? Тред я перекатываю, я тут не живу. Вы тут срёте со скоростью 1024 поста в секунду, и ещё чему-то удивляетесь.
505 1439557
Ну в общем
Трипл-перекат
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
Трипл-перекат
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)
>>1439555 (OP)

Если бы моча убрала сраную рекапчу, запостил бы быстрее. Иногда думаю, что перерубание нахуй всего зарубежного интернета пойдёт рунету на пользу - хоть рекапчи не будет!!!
Тред утонул или удален.
Это копия, сохраненная 13 августа 2019 года.

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

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