Этого треда уже нет.
Это копия, сохраненная 9 марта 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ASM & Reverse engineering №10 /asm/ 1499956 В конец треда | Веб
В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).

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

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

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

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

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

Инструменты для RE:
Дизассемблеры:
1) IDA Pro 7.2.torrent
2) IDA Pro 7.0.torrent (x64 only, для XP нужно патчить PE + вылеты)
3) IDA Pro 6.8.torrent
4) IDA Pro 5.0 - бесплатная версия для некоммерческого использования
5) Radare 2 - наконец прикрутили гуй, но по прежнему нужна только клиническим, не умеющим в скачивания торрентов, или пользователям альтернативных ОС
6) Ghidra для любителей анальных зондов от АНБ не такие уж они и анальные
7) Остальное

Все книги и статьи Криса Касперски (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 http://booksdescr.org/item/index.php?md5=73957AEFEADCB7F0C112DCAED165FEB6
С.В. Зубков: Assembler. Язык неограниченных возможностей.
Randall Hyde: The Art of Assembly Language http://booksdescr.org/item/index.php?md5=9C0F88DC623FCE96A4F5B901ADCE95D3

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

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

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

Документация Intel
https://software.intel.com/en-us/articles/intel-sdm

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

Предыдущие
№8 https://arhivach.ng/thread/455487/
№9 https://arhivach.ng/thread/489188/ >>1439555 (OP)
2 1499963
>>1499835
T W O ' S C O M P L E M E N T
W
O
'
S

C
O
M
P
L
E
M
E
N
T
3 1499975
бампецкий
4 1500019
Продублирую

Может кто объяснить почему при создании буфера char[128]

https://pastebin.com/e7ZzDKGk

В машинном коде к регистру ESP прибавляют 0xffffff80, это на 127
меньше чем 0xffffffff, но вопрос не только почему 127, почему по сути стек растет с конечных адресов. Это норма? Я думал он со середины куда-то растет(к уменьшению или к увеличению)

https://pastebin.com/69BBJeLa
5 1500094
>>500019

> это на 127


> почему 127


Это дополнительный код. Отрицательное число. 0x100000000-0xffffff80=(~0xffffff80)+1=0x80=128

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


В числе прочего - легаси. Раньше было так (считая с младших адресов): код, константы, инициализированные переменные, неинициализированные переменные, неиспользуемая память ... стек. Память выделялась вперед, к стеку, к старшим адресам, стек рос назад, к памяти, к младшим. Очень удобно, размер стека ограничен общим размером всех данных, кода и адресным пространством, и он не фиксирован. Так и прилипло. А сейчас это уже захардкожено в каждом первом процессоре, даже в тех, которые вроде бы умеют в любой вариант стека например, в ARM в нормальном режиме - будет расти, как сам решишь - он аж четыре варианта умеет, а вот в Thumb уже захардкожено.
image.png54 Кб, 320x320
6 1501062
В начале недели на редите в RE разделе был занятный пост о том, как челик начал потрошить актуальный BattlEye с его VMProtect-ом. В посте была только ссылка на бложик, но я никак не могу найти ни тему, ни сам бложик наверное я рукожоп и мое гугл-фу недостаточно сильно, а может разрабы надавили какой-нибудь своей EULA-ой и заставили все потереть.
Может кто-то тоже видел/заинтересовался/схоронил?
7 1501069
>>500019

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


Мне понравилось сравнение Юричева - представь что ты студент и у тебя одна тетрадка память приложения для записи лекций и практических занятий всякие text/bss/heap/stack. Ты можешь их чередовать и потом ебаться разбираясь что и где записано или просто ебашить лекции с начала, а практику перевернув тетрадь с конца.
Ну и как >>500094 антон заметил, все эти правила - реализация конкретной архитектуры.
8 1501107
9 1501125
>>501107

>идут навстречу друг другу


Все верно иногда не стоит углубляться в сравнения

>не это примерно?


Спасибо, но нет)
Тему нашел просто искал жопой, вдруг кому интересно:
https://www.reddit.com/r/ReverseEngineering/comments/dbtnnh/hello_all_started_on_the_past_week_working_on/
10 1501697
>>501125
Нихуя толком не написал. Подписался на всякий, интересно, что он наковыряет там.
image.png48 Кб, 1014x1225
11 1502524
Сабж никто не находил?
Который 8th edition.
12 1502542
>>499956 (OP)

>beginners.re - "Reverse Engineering для начинающих"-


Блядь, я по приколу скачал, не могу остановиться лол.
Охуенно пишет.
Очень нравится привязка к С, написал - хоп, посмотрел что высралось в годболт.
Вообще класс.
13 1502578
>>502542
Серьезно? А я еле читал, аж зубами скрипел, кое как осилил.
14 1502602
>>502542

>>beginners.re


>связь между кодом на Си/Си++и тем, что генерирует компилятор, вбилась в его подсознание достаточно глубоко.


Так и деградирует программист в типичного реверсера
Дальше можно не читать.
15 1502664
А насм это точно про "низкоуровневость"? Макросы-хуякросы, строковые контсрукции; а я думал, мне тут будут пояснять как с mov и inc помещать "приветмир" на вывод.
16 1502944
>>502578
Просто не зашло, бывает.
А мне очень понравилось.

>>502602

>Так и деградирует программист в типичного реверсера


Я не программист, хуй я клал на программирование с галерами. У меня профессия есть.
17 1503170
>>502664
Не нравятся макросы - не пользуйся. Когда реально понадобятся - разберешься.
18 1503195
https://www.youtube.com/watch?v=ZJpvdl_VpSM

Как вам коллега?
19 1503253
>>503195
Няша, евреечка, может в сишечку, плюсы и асм.
12 из 10.
sage 20 1503290
>>503195

> Как вам коллега?


Очень плохо, до обычного уровня CppCon не дотягивает. Настоящие программы с множественным наследованием, интерфейсами и без символов она не реверсила, иначе презентация была бы о другом. Все, о чем она рассказала, знает любой C++-мидл, не являющийся реверсером никаким местом.
21 1503529
https://github.com/REhints/HexRaysCodeXplorer

У меня на 7.0 и 7.2 иде не хочет работать. У кого также?
sage 22 1503534
>>503529
А насколько оно удобнее стало со времен конкурса? В то время плагин был совсем неюзабельным, reconstruct лажает,
object explorer нинужен, больше там не было ничего. Проще свои скрипты писать.
23 1503549
>>503534
Не знаю, не работает у меня. Я из-за reconstruct'a качал, есть аналог какой-то?
24 1506308
Перекатываться на гидру или подождать еще? В разы быстрее иды развивается, плагины пилят каждый день. Отговорите меня.
25 1507008
>>503290
куда воевать, чтобы знать столько, сколько С++миддл не являющийся реверсером никаким местом?
26 1507025
>>507008
Ну везде же описывается, как крестообъекты и крестоисключения устроены в основных компиляторах. Про исключения даже на том же CppCon было.
27 1507031
>>506308
Бабла ща хватает? Сиди и не рыпайся, лучше тяночку поищи.
28 1507969
>>507031
Не хватает. Что по сабжу то? Ида заебала.
29 1508719
>>507031
>>507969

>Бабла ща хватает?


>Не хватает.


Вот сейчас без рофлов:
- Есть тут те, кто зарабатывает на жизнь реверсингом? Как к этому пришли?
- Какие варианты вообще пристроить свою тушку сейчас существуют? Понятно, что самое явное из белого это AV, возможно поиск/продажа дыр заинтересованным. А из серого, помимо явной мальвари/сплоитов?
30 1508721
>>507008
Для начала с уровнем джуна ознакомиться.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpTFea2FYxp7mFfbZW-xavhL
https://www.youtube.com/playlist?list=PLlb7e2G7aSpRs7YafQ1GgJvyRku10m1RN
Паралельно работа виндовс/линукс/алгоритмы/патерны
image.png1 Кб, 24x287
31 1509278
Что значит эта символика в Ida? Некоторые функции экспорта помечены ею, самих функций в бинарнике нет.
32 1509459
>>509278

> функции экспорта


Это значок ASCII-строк. Либо это forwarded-функции, т.е., указание лоадеру брать функцию из другой длл (у строки формат "ИмяДлл.ИмяФункции"), либо IDA ошибочно распознала функцию как строку, такое бывает.
33 1509472
>>509459
Как это работает? Во время загрузки изображения в память, загрузчик автоматически проставляет переходы? И при вызове этой функции, напрямую вызывается функция из другого модуля, правильно?
34 1509492
>>509472

> И при вызове этой функции, напрямую вызывается функция из другого модуля, правильно?


Правильно, если при ресолве импорта загрузчик видит, что экспортируемая функция - это форвард, он подгружает целевую длл (которая до точки) и ресолвит функцию оттуда.
35 1510020
>>509492
Понял, спасибо. А как мне самому собрать такой экспорт?
36 1510137
>>510020

> как мне самому собрать


Положить вместо адреса функции строку с именем форварда, при этом, чтобы она была воспринята как имя форварда, а не как эспортируемая переменная, эта строка должна находиться в пределах директории экспорта.

Пример на fasm:
MyFunc: ret ; Обычная функция для примера.
...
data export
export 'MYDLL.DLL',\
MyFunc,'MyFunc',\
ForwardName,'ForwardedFunc'
ForwardName db 'KERNEL32.ExitProcess',0
end data

Пример с линкером, для сишки/масма:

// mylib.c
#include <windows.h>
void MyFunc(void) {}
BOOL CALLBACK DllMain(HMODULE hInstDLL, DWORD fdwReason, LPVOID pvReserved) { return TRUE; }

// mylib.def
LIBRARY MYLIB
EXPORTS
MyFunc
ForwardedFunc = KERNEL32.ExitProcess

Собираешь и линкуешь: cl /c mylib.c && link mylib.obj /DLL /DEF:mylib.def.
36 1510137
>>510020

> как мне самому собрать


Положить вместо адреса функции строку с именем форварда, при этом, чтобы она была воспринята как имя форварда, а не как эспортируемая переменная, эта строка должна находиться в пределах директории экспорта.

Пример на fasm:
MyFunc: ret ; Обычная функция для примера.
...
data export
export 'MYDLL.DLL',\
MyFunc,'MyFunc',\
ForwardName,'ForwardedFunc'
ForwardName db 'KERNEL32.ExitProcess',0
end data

Пример с линкером, для сишки/масма:

// mylib.c
#include <windows.h>
void MyFunc(void) {}
BOOL CALLBACK DllMain(HMODULE hInstDLL, DWORD fdwReason, LPVOID pvReserved) { return TRUE; }

// mylib.def
LIBRARY MYLIB
EXPORTS
MyFunc
ForwardedFunc = KERNEL32.ExitProcess

Собираешь и линкуешь: cl /c mylib.c && link mylib.obj /DLL /DEF:mylib.def.
37 1510177
>>510137
Благодарю, то что нужно.
38 1511143
>>508721
Хороший курс, просмотрел первую часть, узнал больше вещей, чем за все курсы со степика и прочих онлайн дрочильнь, в которых кроме жиденького ОПП ничему не учат.
39 1511174
>>499956 (OP)

>Программируете микроконтролёры, пишете драйвера для ОС, а то и саму ОС?


Для этого есть си с классами
40 1511634
>>511174
Без асма в написании ОС всё равно не обойтись.
41 1511664
>>511634
Если компилятор поддерживает интринсики, то асм совершенно необходим только в обработчиках прерываний и для переключения контекста. Буквально полсотни строк на весь проект. Остальное отлично делается интринсиками.
42 1511776
>>511664
О, вылез очередной скриптохолоп со своей сермяжной правлойtm
А ничего что это реверсинга тред и тут похуй на чем ты та накропал свое говно?
Нам же за тебя, обосрыша, разбирать твои какули.
43 1512043
Драсте. Есть картинка. Нужно узнать закодированный текст. Как сделать?
44 1512051
>>512043
Провести анализ и раскодировать текст.
45 1512055
>>512051
Вопрос конечно глупый, но есть же какие то штуки, которые можно попробовать. Вот я открыл его в hex редакторе и заметил там одну деталь. Повторяющиеся почти одинаковые последовательности. Че дальше хз
1kRSCUhfOeo.jpg442 Кб, 1366x768
46 1512064
>>512055
На сто это похоже?
47 1512131
>>512064
на бинарные данные
ты файл выкладывай, поковыряем.
48 1512270
>>512131
А собака и смесь твердого знака с Б? Я открыл другую картинку и в ней такого не оказалось.
49 1512274
>>512270
Если картинка с палитрой, то черный пиксел и серый рядом, например. Тащи файл, по куску скриншота, не зная формата, ничего сказать нельзя.
50 1512356
>>512274
Файл слишком большой. Сейчас куда нибудь в облако скину
52 1512718
>>512358
А ты уверен, что тебе нужно лезть в бинарное представление данных? Я вижу 4 цвета, которые можно раскодировать в 00, 01, 10, 11 тупо читая файл построчно любой либой для работы с PNG. Непонятно правда, что означают прозрачные блоки, да и над присвоением комбинации цвету нужно повозиться, но это вопрос простого перебора.
sage 53 1513291
>>512718

> 4 цвета, которые можно раскодировать в 00, 01, 10, 11


Этого явно недостаточно. Пока моя самая гениальная мысль состоит в том, что семь сегментов на картинке - это битовые плоскости, которые потом собираются в байт.
54 1513346
>>512718
>>513291
Сейчас скажу смешную вещь. Это задача для 10 класса
image.png602 Кб, 2560x1440
55 1513422
>>513346

>Это задача для 10 класса


Если не шутка, то меня сейчас немного задело.. мимо-другой-анчоус
А можешь саму задачу в оригинале скинуть, может там в контексте какие-то подсказки есть? Просто явной, школьного лвл-а, стеганографии текстовые чанки, EXIF, вставки после IEND в файле не вижу. В самой картинке в разных BitPlanes режимах подсказок тоже не увидел хотя картинка большая, может конечно где-то что-то проглядел...
56 1513439
>>513422
Скрин задачи не кину. Олимпиада закрыта уже. Но там ничего не было. Задача называлась цифровизация. Задание было "расшифруйте. В ответе запишите фразу"
image.png233 Кб, 600x300
57 1513440
>>512064
Дебил блядь, нахуй ты это сюда кинул, ведь весь вечер потрачу чтоб это раскодировать

мимо Джон Нэш
image.png445 Кб, 889x829
58 1513448
>>513422
похоже на какой-то типа qr код, только поврежденный\зашумленный.
59 1513458
>>513448
может попробуй наложи куски у которых голубые квадраты по угам и смотри где цвета на всех шести совпадают, то там 1, иначе 0 или я хз. ПРИДУМАЙ ШТО-НИБУДЬ
code-2.png43 Кб, 640x702
60 1513467
>>513448
Удалил шум из этой фигни, получилось такая штука, дальше хз
image.png15 Кб, 1080x1184
61 1513470
>>513467
Кек..
Я теперь не человек, я Space Invader нахуй..
image.png447 Кб, 889x829
62 1513473
>>513467
еще есть подозрительные желтые квадраты
63 1514647
Пишу, значит
64 1514648
Пишу, значит
MESS1 db "privet $"
MESS2 db 0dh,0ah,"kak dela? $"
MESS3 db 0dh,"chto delaesh? $"
MESS4 db 0ah,"jasno",0dh,0ah,"$"
Эти сообщения выводятся ровно в столбик, как и положено. Почему?
sage 65 1514918
>>514648

> Эти сообщения выводятся ровно в столбик


1) Используешь недоэмулятор (DOSBox в дефолтном режиме или NTVDM), который трактует \n как \r\n. Возьми образ доса и нормальную виртуалку или сделай в досбоксе boot msdos.img для полноценной эмуляции - увидишь разницу.
2) kak dela выводится, но тут же затирается следующей фразой, ты не должен его видеть даже если у тебя пункт 1.
66 1514929
>>514918
Я использую ТАСМ в досбоксе
67 1514932
>>514918
Кстати, а ведь зачем писать 0dh, если 0ah это перенос на новую строку? Если мы переносим курсор на новую строку, то он по умолчанию должен быть в начале строки, ведь строка новая.
sage 68 1514947
>>514932

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


Нет. Ну то есть в 2019 да, но легаси. Пока не смыло, смотри сюда: >>1484880 Если ты возьмешь нормальный дос, то увидишь, что после 0a позиция курсора внутри строки не меняется, меняется только строка. То же самое, после 0d строка не меняется, и ты можешь делать няшные спиннеры и прогрессбары, каждый раз затирая их новой строкой.
69 1514949
>>514932
Видел старинные печатные машинки? Вот там машинистки делают так рукой справа на лево громко, хуяк, и печатают с новой строки.
Тут тоже самое - 0dh (перевод коректи в начало строки), 0ah (просто переход на новую строку).

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


Только в твоем сознании зумера, фактически раньше бы просто шагнуло вниз на новую строку.
70 1514983
>>514949
Не видел и мне это не интересно. Сейчас 2019 год, ни о каких печатных машинках и речи быть не может! Компьютер НЕ ПЕЧАТНАЯ МАШИНКА!
71 1514994
>>514983
Да, а компы в 1980х появились, ты тогда еще у мамки с лобка стекал.
72 1515026
>>514983

>Компьютер НЕ ПЕЧАТНАЯ МАШИНКА!


Компьютер это ёбанный фрактал из легаси, привыкай. Даже ширина ракеты зависит от толщины лошадиной задницы.
73 1515028
>>514994

>компы в 1980х появились

74 1515059
Имеет ли значение последовательность "переменных" в dataseg?
sage 75 1515063
>>515059
Судя по слову "dataseg" - нет. А вообще, да. Желательно, чтобы одновременно используемые переменные лежали рядом, чтобы они не вылетали из кэша, и все такое.
изображение.png84 Кб, 894x811
76 1515069
>>515063
У меня в методичке именно dataseg, а не .data. По значение порядка там напрямую не написано, но судя по примеру, это действительно важно. Спросил здесь чисто чтобы развеять сомнения.
sage 77 1515098
>>515069

> У меня в методичке именно dataseg


Я имел в виду, что для доса похуй.

> скрин


Да, тут важно, потому что фактически это структура, а не отдельные переменные. При нормальных ассемблере и преподе у тебя была бы структура.
78 1515112
>>515098
Препод тут ни при чём. Эта методичка вместо практик, а авторов у этой методички несколько.
1.PNG11 Кб, 808x117
79 1515191
>>499956 (OP)
Здравствуйте. Вообщем есть такая задача пик 1.
Вот мой вариант решения.
mov ax, 10110110b
and ax, 10100010b
xor ax, 10101010b
sar ax, 2
not ax
Препод говорит что неправильно так как. Алгоритм данного задания должен выполняться для любого числа. Я вообще не понимаю как это можно реализовать для любого числа. Может подскажет кто?
sage 80 1515713
>>515191
Ты на верном пути, но: маска в and у тебя явно неправильная - во-первых, она обнуляет по большей части четные разряды, а надо нечетные (разряды принято считать справа и с нуля), а во-вторых, она и один нечетный затрагивает; маска xor у тебя флипает нечетные разряды, а надо четные; и вообще маски по-хорошему нужно расширить до 16-бит, если ты с 16-битными регистрами работаешь; ну и вопрос выбора между sar/shr - спорный.
81 1515774
>>515713
я официально в ассемблере не очень, тем не менее
mov ax, 10110110b так понимаю что тут мы записываем число для издевательств
and ax, 10100010b если это маска обнуления нечетных разрядов, то я написал бы её так: 10101010b
маска в xor на мой взгляд правильная, как раз чётные разряды переворачиваются.
82 1515776
>>515713>>515774
Этому зумерку был дан правильный ответ в ньюфаготреде, но он начал кидаться какашками по причине своей тупизны
83 1515899
Есть шеллкод из метасплоита. Как сгенерировать экзэшник чтобы этот шеллкод был в сегменте текстаи при этом сам бинарник был корректный. Не важно, что он на рантайме крашится. Главное чтобы он просто создался
84 1515922
>>513473
может нарезать на равные куски и совместить, перебрать цвета попробовать за прозрачность
85 1515950
>>515899
__declspec(allocate(".text")) твой шеллкод.
86 1516054
>>515776
Так ты же тупой даун и сам нихуя не понял
87 1516571
Кто-нибудь пользовался Cerbero Suite? Что скажете?
88 1516700
Народ, у меня досбокс при прохождении команды ret закрывается. Так и должно быть?
89 1516805
Кто то знает как именно можно узнать инфу про температуру и скорость вращения куллера проца? гуглил чип монитринга, который установлен на моей мат плате. Там обьяснено, но нихера не понятно
90 1517082
sage 91 1517086
>>516700
Может быть, не DOSBox, а окно консоли (NTVDM)? Да, так и должно быть, если ты запускаешь программу не вводом команды в консоли, а непосредственным запуском бинарника. Можешь воткнуть перед выходом ожидание нажатия клавиши (xor ax,ax int 16h или mov ah,1 int21h).
92 1517268
В чем различие данных от исполняемого кода? Допустим у меня есть массив байтиков, как понять данные это или инструкции ( исполняемый код) ?
sage 93 1517344
>>517268

> как понять данные это или инструкции


Никак. Исполняемый код - это непосредственно байт (или байты) на который в данный момент указывает IP (PC, или как он там в твоем процессоре называется). Все остальное вполне может быть данными. Или кодом. Или и тем и другим одновременно. Или даже несколькими параллельными потоками кода. Например, 68 5a 31 с0 с3 может быть данными, может быть кодом push 0c3с0315ah (с непосредственным значением, которое вроде бы данные), а стоит добавить к этому коду jmp $-4, и это становится вторым потоком кода, который делает return 0 (5a 31 c0 c3: pop edx, xor eax,eax, ret).
94 1517444
В ассемблере всякие jz, jl и подобные команды выполняют переход к команде с двоеточием в случае соответствия тому, что про них пишут? Например, в случае с
95 1517445
В ассемблере всякие jz, jl и подобные команды выполняют переход к команде с двоеточием в случае соответствия тому, что про них пишут? Например, в случае с:

mov AX, 1
cmd AX, 1
jl perehod
add AX, 1
perehod:

AX станет содержать число 1 или 2?
96 1517460
>>517344
Понятно, но по косвенным признакам то можно сделать предположение? Например, в ридонли памяти скорее всего лежат данные, в r/e - код. Какие еще признаки могут быть?
sage 97 1517495
>>517445
Да, будет 2. Все же читаемо в простых случаях: "compare ax with 1", "jump if it was lower".

>>517460
Зависит от бинарника. Но вообще статически трейсят control flow просто, строят граф (естественно, это ломается на первом же виртуальном вызове или таблице переходов). Или тупо пытаются попробовать дизассемблировать, и потом либо оно обламывается совсем, либо ты можешь всякие эвристики притащить на тему странно выглядящего кода. Всякие избыточные инструкции, которые перезаписывают результаты предыдущих инструкций, ебля сегментных регистров, различные привилегированные инструкции, несбалансированный стек - это либо написано вручную, либо упаковано/обфусцировано, либо не код совсем.
98 1517499
>>517495

>"compare ax with 1", "jump if it was lower


Не всем же быть полиглотами.
изображение.png49 Кб, 1086x673
99 1517508
Это нормальный алгоритм поиска количества вхождений строки в подстроку? Какие регистры тут лучше не использовать так, как я их использую здесь? На какие поменять? Я ведь в правильный тред пишу с таким вопросом?
изображение.png49 Кб, 1075x656
100 1517509
>>517508
Я там регистры местами перепутал, вот то, что я имел в виду.
sage 101 1517510
>>517508

> Я ведь в правильный тред пишу с таким вопросом?


Нет, ты доской ошибся. https://2ch.hk/pa/ (М)

> Какие регистры тут лучше не использовать


Как минимум SP портить не стоит, иначе программа кончится, как только произойдет прерывание. Остальные регистры можно сохранять, если они тебе нужны и не сохранять, если не нужны.
102 1517511
>>517510
Какой ещё есть свободные в такой задаче регистр? Не хотелось бы через стек значениями жанглировать.
103 1517512
>>517511

>Какой ещё есть свободныЙй в такой задаче регистр? Не хотелось бы через стек значениями жОнглировать.

sage 104 1517514
>>517512

> Какой ещё есть свободныЙй в такой задаче регистр?


ax/dx/si/di - овердохуя.
105 1518320
>>517344
Понял, спасибо. Человек же сразу почти видит, что перед ним, мусор из байтиков или код. В теории, какие-нибудь нейросетки тоже смогут различать?
106 1518324
Аноны, молю о помощи. Ищу годную книгу (офк, желательно на английском) по сетевой безопасности, желательно, которая совмещает теорию с кодингом по сабжу.
Как пример для годного контента - ламповая книга Hacking: The Art of Exploitation 2nd edition 2008 года, там есть очень вкусная глава по сетям, которая совмещает описание различных сетевых атак со снипеттами с кодом для лучшего понимания. Проблема в том, что книге скоро 12 лет и там есть лишь одна глава по сабжу, а я ищу фулл книгу по подобной тематике и желательно поновее. Все, что находил до этого, унылый шлак с кучей теории и хуйней для скрипт-кидди вроде метасплойта. Погромирую на Си, крестах, знаю х86 асм, основы ОС (с явным уклоном в Линукс) и основы сетей + программирование сокетов.
С меня цистерна чая и лучи добра с пожеланиями вечного здоровья и счастья всем, кто поможет. Заранее спасибо.
107 1518355
>>518324
Могу https://www.corelan.be/index.php/articles/ посоветовать, правда он больше по винде.
И опять дать книжку real world bug hunting, lol
108 1518361
Как в иде фильтры работают? Хочу отобразить символы из нужной мне секции, а не всего бинарника.
sage 109 1518382
>>518320
Не знаю. В x86 может и видно, а возьми какой-нибудь восьмибитный мк, да еще если не слишком хорошо архитектуру знаешь, и у тебя тут же проблемы.

>>518361

> Как в иде фильтры работают?


Плохо.

> Хочу отобразить символы из нужной мне секции


В Functions можно фильтровать по сегменту, в Names нельзя, import idaapi тебе в помощь или по адресу отсортируй и ищи нужный кусок.
110 1518584
Ананасы, имеет ли значение каким компиллятором собирался бинарник? Влияет ли это на реверсинг самого бинарника?
111 1518586
>>518355

>real world bug hunting


Это веб-секьюрити, а не сетевая (разница есть), е-мое
sage 112 1518812
>>518584
Спроси более развернуто. По идее, код более-менее одинаковый, если, конечно, gcc с tcc и прочими "игрушечными" компиляторами не сравнивать. В основном все же влияет то, с какими оптимизациями код был собран, включена ли link time code generation и все такое.
113 1518904
Пишу

mov DI, 1
mov SI, 0
cmp DI, 1
jnle PEREHOD
add SI, 1
PEREHOD:

SI=1. При DI=2 SI=1, и при DI=0 опять SI=1. ПОЧЕМУ???!!!!!!

jnl, кстати, тоже нихуя не работает.
114 1518909
>>518904
А, я всё понял. Это мне бред кое-кто написал, типа опечатка.
115 1518910
>>518904
Пушто мнемонику полезно запоминать
jump if not less or equal - т.е. аналог jg jump if greater
116 1518932
Реально ли писать ассемблерный код лучше O3?
117 1518934
>>518932
Как писать ассемблерный код лучше O3?
sage 118 1518938
>>518932
Реально, но долго. Обмазываешься optimization manual-ом от интела, агнерфогом, профилировщиками всякими, vtune-ом и пишешь.
119 1518958
>>518938

>нахуя сажа то тред сагнул сага сага пасскод абу


Вот ещё вопрос:
Какой уровень знания языкаозначает, что ты не червь-пидор?
Или так и надо - знать только то, что сделал сам?
По вершкам знаю дохуя языков, могу понять чужой код, чтобы спиздить, а че-нить достойное жид хаба высрать не могу.
120 1519047
>>515950
а энтри поинт он сам подефолту в начало сегмента текста ставит? написал так, скомпили и работает?
121 1519054
>>518932
Лучше O3 кода от васяна - да, лучше O3 кода от себя самого, при условии что ты обмазался >>518938 - нет
122 1519156
Ананасы, че там по эксплоитам в 2к19? Слышал, что появляются новые языки для системщины, вроде раста, который безопасный и сводит на нет все возможные ошибки, связанные с memory corruption. Когда яп немножко окрепнет, как можно будет ломать такое чудо? Это же пиздец. Он даже некоторые виды состояния гонки между тредами нивелирует, если код не будет писать совсем макака - пиши пропало.
123 1519159
>>519047
Иди учи основы программирования, а не метасплоиты хуярь. Тут половина треда тарищи майоры.
124 1519196
Анонасы, как реализовать уникальную для каждого потока глобальную переменную?
Пока вижу два варианта:
1. thread environment block ( использовать unused/reserved/padding ячейки )
2. thread local storage ( __declspec(thread) global )
Кстати, кто-нибудь подскажет, как получить доступ к этой переменной из masm файла?
125 1519308
>>519159
Это лаба в универе. А что посоветуешь почитать? Просто я не вкурсе что ещё не знаю
126 1519455
Ку, реверсач
Есть ли ресурс наподобие overthewire, только более серьезного уровня, который хоть как-то связан с реальным миром, а не эксплуатацией ебучего хэллоуворлда?
127 1519458
>>519455
Hack the Box. Не благодари.
128 1519476
>>503253

>евреечка


Фу, как вообще к ним как к людям относиться?
129 1519488
Вы тут спрашивали куда реверсер может вырасти из ковыряльщика малвари, вот вам пример: https://vimeo.com/335166152
Красавчик мужик, крадет прямо из под носа у мягких целые ОС и тусит с няшами в командировках. Глянул ценник на посещение его двухдневного семинара, чуть в обморок не упал, несколько тыщ вечнозеленых, такие вот дела.
130 1519500
>>519488
впаривать курсы по всякой хуйне всегда было оч выгодно. И не важно ойти это , лнп, пикап или еще что угодно. Суть уметь втирать дичь, а не быть спецом)
132 1519537
В WinDbg есть аналог xrefs? Как найти все ссылки на определенный адрес из дампа памяти? Какой же в этом дебагере низкий юзабилити.
133 1519550
>>519196

> уникальную для каждого потока глобальную переменную


А чем тебя tls не устраивает? Оно уже 9 лет как в стандарте Си (_Thread_local/thread_local).

> как получить доступ к этой переменной


Переменная в сишке создается? Тогда у тебя имя_переменной в том объектнике, и ты такой:
mov ecx,[__tls_index]
mov eax,[fs:0x2c] ; gs:0x58 для 64-битной винды
mov edx,[eax+ecx*4] ; Укозатель на блок переменных в TLS.
mov eax,[edx+имя_переменной]
И все. То же самое ты можешь делать вручную, кладешь имя_переменной dd 13245 в секцию .tls$, а __tls_index для тебя создаст линкер.

>>519503

> re4b


И что? Ты точно не промахнулся с ответом?

>>519537

> Какой же в этом дебагере низкий юзабилити.


Он предназначен не для обратной разработки, а для отладки свеого кода. С доступными символами.
134 1519651
>>519550

> А чем тебя tls не устраивает? Оно уже 9 лет как в стандарте Си (_Thread_local/thread_local).


Может есть варианты лучше, решил спросить.

>>519550

> Переменная в сишке создается? Тогда у тебя имя_переменной в том объектнике, и ты такой:


В сишке. Нужен быстрый доступ, как в случае с TEB, те mov eax, [gs:0e8h]. Я так и не понял, могу ли я сделать что-то типо mov eax, globalvar_in_cpp_file ?

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


Это же единственный отладчик режима ядра, чем еще крашдамп анализировать? Что правда нет аналога xrefs? Как жить то..
135 1519733
>>519651

> могу ли я сделать что-то типо mov eax, globalvar_in_cpp_file


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

> Нужен быстрый доступ,


А кто мешает? Выделяешь один регистр под это. В начале треда/процедуры выполняешь первые три строки из кода, который я выше постил. Кладешь результат в какой-нибудь ebx. Когда нужна переменная - ходишь до нее через [ebx+имя]. Если жалко ebx, можешь выкинуть стекфрейм нахуй и использовать под TLS ebp, а к локальным переменным на стеке адресоваться через esp. Если стекфрейма жалко, просто кладешь вычисленный адрес TLS в стек, тогда доступ будет mov eax,[ebp+tls_addr_in_stack], mov eax,[eax+имя].
136 1519769
>>519733
Дело в том, что это каллбек с неопределенным количеством аргументов, который передает управление в другое место в зависимости от индекса, который я загружу в eax регистр. Придется шифтить аргументы туда сюда, чтобы освободить регистры и моя асм портянка из пары строк кода разрастется на экран в лучшем случае... А для меня это боль, ибо я не гуру асма..
137 1519782
>>519769

> я не гуру асма


Пиши на си тогда, в чем проблема?
138 1519795
>>519782
Не могу, интринсиков не хватает под 64битную архитектуру.
139 1519796
>>519782
В любом случае спасибо, поступлю дедовским методом, реализую оба метода и уже походу решу какой использовать.
140 1520047
Признавайтесь,кто где работает?Что реверсите?Молварь?Сколько кому платят?
141 1520064
Ананасы, помогите советом. Хочу глубоко вкатиться в exploit development, есть неплохая база для этого (Си, кресты, асм х86, знания основ ОС, базовый уровень реверсинга и эксплуатации простых уязвимостей). Сразу говорю, отговаривать меня от этого не надо, в моей стране это более востребовано, чем в странах СНГ, и в этом работают здесь далеко не невыездные тарищи майоры за 40к рублей в месяц.
Суть: как сделать так, чтобы хотя бы пригласили на собес, а не выкинули резюме в мусорку при подаче оного? Подрочить pwnы на HackTheBox? Или сходить на CTFы пару раз? Ведь на реальных примерах это не показать, ибо, ясень-пень, незаконно.
142 1520103
>>520064
Так делай локальные сплоенты. Вон в блокноте умудряются шелл запускать.
алсо в помощь https://www.corelan.be/index.php/articles/
143 1520226
>>520064
1) Напизди в резюме про опыт работы;
2) Закидывай резюме вообще на все вакансии (даже смежные) на похуй (большая часть всё равно не ответит ибо висит на сайте из-за проёба хрюш);
3) Ходи на все тусовочки по теме.
144 1520262
>>520103
спасибо за линк, но я покамест грызу эксплуатацию в юникс-подобных системах. Винду потом по мере необходимости подтяну
145 1520471
>>520064
Забугром без сертификатов тебя никто на работу не возьмет. На HTB нужно быть в топе, чтобы это хоть что-то значило для работодателя. Ну и вся мякотка в том, что не бывает джунов в этой теме, ты либо компетентен и тебя нанимают для выполнения реальной работы, либо ты сидишь дома и учишься, получаешь сертификаты и становишься компетентным.
146 1521091
>>515028
норм компы только в 2000тысячные появились.
147 1521676
>>520471
но сертификации есть только по веб-хакингу, который к бинарой эксплуатации не имеет никакого отношения. Ну и про сетевой безопасности там что-то, но по реверсу и разработке эксплоитов я не видел.
148 1521764
>>521676

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


Прикинь, это 90% всех сплоитов. Еще скажи, что JS учить не хочешь, а придется.
https://www.giac.org/certifications/get-certified/roadmap
149 1522130
можно как то не особо сложным способом вставить свои опкоды в x86/arm линуксовую либу и прыгать в них а потом обратно?

и вопрос по иде. есть игра только с арм либами, соответственно она под эмулем работает через гудини. Пробую дебажить через x86 сервер, ида логично посылает меня нахуй, пробую армовский но ида коннектится к процессу и сразу отваливаентся. У меня выбор только арм виртуалка или физ устройство?
150 1522566
Знаю, что вопросы не по теме, но также знаю что здесь сидят нужны эе люди.

Есть одна игра и два человека, которые написали ботов, которые распознают экран и не лезут в память. Одного банят, второй спокойно играет.
1. Как можно задетектить бота, который не лезет в память, и единственное что делает это эмулирует нажатия на клаву?
2. Как может быть, что за эмуляцию одного банят, а второго нет? Может зависеть от способа эмуляции нажатия?
151 1522600
>>522566

> Одного банят, второй спокойно играет


Один жадюга фармит 24/7, другой ставит на пару часиков. Бан скорее всего ручной, по логам.

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


Есть несколько способов сделать это из юзермода. Низкоуровневый хук мыши и запрос операции ввода мыши.

Дай угадаю, игра WoW? Они как раз второй метод используют.
152 1522604
>>522600

>Один жадюга фармит 24/7, другой ставит на пару часиков. Бан скорее всего ручной, по логам


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

>Есть несколько способов сделать это из юзермода. Низкоуровневый хук мыши и запрос операции ввода мыши.


>Дай угадаю, игра WoW? Они как раз второй метод используют.


То есть нарушают законы и пишут малварь? Им же никто не давал разрешения хукать мои процессы. Нет, игра Lost Ark из новых.
153 1522742
Реверсач, привет
Я начинающий реверсер, хорошо знаю асм, си и кресты тоже хорошо знаю, но вот заметил, что статический анализ даже относительно простых крэкми занимает у меня довольно много времени, плюс у меня есть постоянное желание рисовать стэк на бумаге, чтобы помочь себе не запутаться по ходу анализа. Мб я неправильно юзаю софт, мб есть акие-то фичи, чтобы реверсить быстрее и без использования листочка? Или нужно просто очень много опыта и нет никаких фокусов/трюков для облегчения самого процесса реверсинга в плане "не потеряться"?
image.png33 Кб, 940x348
154 1522808
>>522604

>То есть нарушают законы и пишут малварь?


Коммерческие античиты очень многое себе открыто разрешают прямо в EULA. Не удивлюсь, если в темную они используют совсем уж грязные способы детекта.
В конце концов, раз речь идет о деньгах, то прайваси потребителя может и сходить найух.
155 1522851
https://exploit.education/

Если я пройду все виртуалки здесь, я буду компетентен хоть на какую-то йоту или это все игрушки?
156 1523040
>>522604

> То есть нарушают законы и пишут малварь?


С пробуждением. Я тебе больше скажу, винда сама по себе малварь.
157 1523164
>>522600

>Низкоуровневый хук мыши и запрос операции ввода мыши.


по факту всё это можно обойти просто юзая посредника в виде железного эмулятора клавомыши на стмке к примеру?
158 1523561
>>519550

>И что? Ты точно не промахнулся с ответом?


да, промах, ответ должен был быть туда же куда и твой
159 1523562
>>523164
где то даже были примеры, правда на ардуинке)
160 1523588
Сап, реверсач
Имеет ли место быть бинарная эксплуатация в языках типа раста, джавы, сишарп, где сложно выстрелить себе в ногу из-за автоматизированного мемори менеджмента? Или все эти ваши зиродеи только в дырявых сишечке и плюсах? Я говорю именно про разного рода переполнения, юафы и т.п., не про веб-атаки
161 1523591
>>523588
Поправка: бинарная эксплуатация программ, написанных на перечисленных языках
162 1523600
>>523588
В любых проектах чуть больше и сложнее хеллоу ворлда используется unsafe код, так что да.
163 1523622
1
164 1523792
>>523600
Это известно, многие об этом говорят. Но вопрос состоит в другом - ПОЧЕМУ есть такая надобность? Без этого код недостаточно гибкий?
165 1523803
>>523164
Конечно, если устройство будет представляться обычной мышкой и эмулировать все проверяемые паттерны.
Ещё можно индуса посадить.
166 1524074
Дратути. Допустим я планирую читать память игры, сможет ли античит меня выловить, существуют ли у него такие способы?
image.png1,1 Мб, 1910x1032
167 1524172
Что это за тулза? Пикрилейтед.
168 1524186
>>524074

>сможет ли античит меня выловить


Если сделан не на отъебись, то сможет.

>существуют ли у него такие способы


Вагон и маленькая тележка.
sage 169 1524203
>>524074
Вот тут >>524186 я про чтение внаглую из юзерспейса с использованием стандартных WinAPI.
Уточнение, на всякий случай.
170 1524775
Позеры страдают хернёй.
https://www.youtube.com/watch?v=ODjOJMqR-Xw
171 1524865
>>524074
Запусти игру в виртуалке. поставь Из хоста поставь процесс виртуалка на паузу, сдампь память волатилити, извлеки из дампа всей виртуалки только память процесса игры. Античит даже не поймёт, что игру прерывали

Рейт идею, кто шарит
172 1524999
>>524865
Античит может обнаружить присутствие гипервизора/отладчика и прочий известный инструментарий. Вообще каждая игра может быть запущена отдельно от античита на какое-то время, этого вполне достаточно чтобы сделать дамп.
173 1525011
>>524999
Чекнул. Действительно античиты вполне рутинно детектят гипервизор. Оказывается не только малварь пытается избегать виртуалок
174 1525075
Скажите нуфагу. Какие навыки RE мне помогут в гемедеве?
175 1525164
Где можно посмотреть либы с этими вашими мов, инк, пуш итд?
176 1525177
>>525164
Либы? Что ты имеешь в виду?
177 1525598
>>525011
Античиты и есть малварь, как и антивирусы. По крайней мере методы у них одинаковые.
178 1525635
Нужно добавить секцию в файл программно, читаю файл в заранее выделенный буфер, через ReadFile. Что дальше то делать? Просто добавить описание секции в хедер, указать на пустой участок памяти и сделать запись в файл?
sage 179 1525661
>>525635
Если в OptionalHeader.SizeOfHeaders заголовок секции влезет - то все так. Если не влезет, придется расширять последнюю секцию. Ну еще про выравнивание в файле и в памяти почитаешь.
180 1525750
Реверсач, сяп. В каком из регистров или где именно в стэковом кадре может храниться количество переданных аргументов в функцию конвенция cdecl, разумеется?
Или хотя бы оффсет к стэковому поинтеру как узнать, чтобы вычислить это количество?

Если что, в асмах не разбираюсь нихуя, так что нид хелп.
181 1525983
>>525750
Эта инфа не хранится в регистре. Когда у тебя начинает стэк фрейм новой процедуры, обращение к аргументам процедуры происходит через [ebp+Z] где Z = 0x4, 0x8, 0xc... в случае 32-битного бинарника и 0х8, 0х10... в случае 64-битного бинарника.
182 1525984
>>525983
Upd:
Ebp - 32 битный бинарник
Rdp - 64 битный
183 1526045
>>525983
>>525983

>через [ebp+Z] где Z = 0x4, 0x8


Но ведь я правильно понимаю, что аргументы энивей будут хранится в стэке, причём в 4-байтовых блоках, и рядом с друг другом?
Алсо я сам себя наебал с cdecl, оказывается в моём случае - смешанная конвенция, где какая-то часть (в зависимости от арх-ры) аргументов пиздует сразу в регистры, а та что не влезла - по старинке в стэк. И если это так, то как мне тогда в сишечке достать те, что попали в регистры, без ассемблерных заплаток?
184 1526132
>>526045
Да. Просто повтори конвенции, чтобы не путаться. Алсо, для сисколлов есть своя конвенция, там как раз-таки аргументы хранятся в регистрах. Для реверса плюсового кода тоже есть свои конвенции, ибо там есть ооп (например, в ecx/rcx хранится указатель на объект). Конвенции различаются даже между 32 и 64 битными бинарями. Расписывать это здесь не имеет смысла, ибо есть гугл. Когда наберешься опыта в реверсинге, то уже будешь помнить все наизусть.
185 1526134
>>521764
Не пизди. Есть очень много уязвимостей именно в бинарниках, которые с веб-атаками не имеют ничего общего. Веб-атаки и бинарная эксплуатация - разные отрасли тащемта.
186 1526135
>>524865
hiberfil/pagefile можно так использовать?
все нативно, никто ругаться не будет. игру свернул (если настройки и оперативка позволят оси передвинуть ее в подкачку) или просто гибернацию нажал и потом с харда переписал на другой системе.
187 1526146
>>519156
иногда можно зайти с черного хода или вообще через канализацию.
от виртуалок и работы с микрухами памяти до еба-скоростных логических девайсов на шине проца.
188 1526153
>>517086
вау, научи также разбираться в основах. посоветуй книгу пожалуйста.
sage 189 1526189
>>526045

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


Писать ассемблерные заплатки. Точнее, там всего несколько простых инструкций, поэтому проще всего захардкодить их и динамически собирать враппер из твоего __usercall в какой-нибудь __stdcall (и/или обратно), выделить память с флагом на выполнение и положить туда этот враппер.
190 1526239
>>525661
Вот эти выравнивания и rva/va на диске не вкуриваю. Что есть база файла хранящегося на диске? OptionalHeader.ImageBase? Есть вообще какой-то инструментарий для подобных махинаций, винапи/макросы в каких-нибудь майковских хедерах?
sage 191 1526328
>>526239
На диске у тебя офсеты от начала, никакой базы. А вот в память файл грузится по image base (или не по ней, но тогда все немногочисленные виртуальные адреса исправляются на разницу между записанной image base и реально использованной).

> Вот эти выравнивания и rva/va на диске не вкуриваю


> VA


Просто адрес в памяти внутри образа

> RVA


Дельта относительно использованной при загрузке image base, т.е., GetModuleHandle(...) + RVA = VA.

> Есть вообще какой-то инструментарий для подобных махинаций


PE file editor в ассортименте.

> винапи/макросы в каких-нибудь майковских хедерах


Есть в основном недокументированные LdrXXX и RtlImageXXX, есть макросы в winnt.h, но это все в основном для чтения.
192 1526368
>>526132

>Да.


Тогда наверное, я чего-то не понимаю

int funct (int n,...)
{
char ptr = &n; // теперь поинтер указывает на первый байт первого аргумента в СТЭКЕ, не так ли?

/
далее поБАЙТово (изза врожденной паранои) прогоняю/ /поинтер назад и вперёд с радиусом в 1 килобайт/
/
можно и с большим, но не думаю, что поможет/
---------->
/
ни ОДИН из переданных аргументов с мэйна не/ /засветился*/
}
То есть, судя по всему, аргументы хранятся исключительно в регистрах. Либо поинтер указывает вовсе не на то, что я думаю.
Алсо подозреваю, что если в самом начале вызвать любую функцию, то эти аргументы по выходу из неё проёбываются в небытиё; так как КДбг показывает, что нужных значений в регистрах уже нет, а попытка найти их тем же способом также провальна.

>Просто повтори конвенции,


>The registers RDI, RSI, RDX, RCX, R8, and R9 are used for integer and memory address arguments and XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6 and XMM7 are used for floating point arguments.


>For system calls, R10 is used instead of RCX. Additional arguments are passed on the stack and the return value is stored in RAX.



Очень похоже на мой кудахтер, только зарезвервированных регистров не 6, а 14.
193 1526370
>>526368
Отладчиком пробовал пользоваться? Поставь точку останова на вызове функции и проанализируй регистры/стек, там все наглядно видно.
194 1526741
Сколько нынче реверс-инженеры получают на фуллтайме?
195 1526828
>>526741
300кк в наносекунду
sage 196 1526974
>>526368

> теперь поинтер указывает на первый байт первого аргумента в СТЭКЕ


Или на первый аргумент, который был сохранен из регистра в стек, потому что компилятор очень хотел сделать то, что ты сказал, но у регистра взять адрес не очень получалось. Что ты сделать-то хочешь?
197 1527209
>>526741
если смотреть на зп в аверах,то очень мало
настолько мало,что я ебал
198 1527242
>>527209

>в аверах


Их больше одного?
199 1527252
>>527242
ты про виндеф щас или я не выкупил?
200 1527253
>>527252
Не ебу про что ты, по я на пост про зарплату в авреах для реверсеров отвечал. Там же почти монополия и хуй куда в рф перекатишься.
201 1527254
>>527253
каспер,дрвеб,есет,груп биби в конце концов,хотя к дебилу сачкову пойти самому это нужно постараться
202 1527256
>>527254

>каспер


монополист

>дрвеб


это бренд, а не рабочий продукт и реверсеры им не нужны чтобы зарабатывать

>есет


в россии нет ресёрч центра

>груп биби


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

какая же это всё хуйня. а сачков пидор
203 1527257
>>527252

>виндеф


Только щас понял, что ты говорил про встроенный в десятку дэфолтный виндеф. А я ещё туплю мол при чём тут виндовс когда мы говорим про хуёвую работу в рф
204 1527258
>>527256

> а сачков пидор


полностью согласен,я бы даже сказал пидарасина
>>527257
да,сорян,я просто сначала не вьехал о чем ты говоришь
205 1527259
>>527258

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


Как я рад, что кто-то согласен. А то у меня 2 знакомых к нему пошли и один планирует. Удивляются почему я носом ворочу и не соглашаюсь в гиб переходить. А у тебя к нему какие претензии? Может и тут сойдёмся?
206 1527260
>>527259
Мерзкий тип он,посмотрев его интервью,с этими "Смотрю им в глаза на задержаниях","Ух сука бля всех бы нахуй посадил",рассказами что он хотел пойти в ментуру,но его просто не взяли.
От этого всего у меня о нем складывается впечатление,что он такой обиженный,но при этом полностью уверенный в том,что делает супер-пупер-добро всему миру когда ловит ужасных преужасных блечеров
Ну это помимо того что он педрилло которое сидит на госконтрактах и пиздит бабки

>А то у меня 2 знакомых к нему пошли и один планирует.


Я хз,смотря на ЗП всех этих пентестеров,реверсеров и прочих в ру конторах,которая редка превышает 100к и чет прям у меня непонимание,кто туда идет.
Уж лучше малварь пилитьмы не одобряем
207 1527262
>>527260

>блечеров


Это кто такой?
208 1527265
>>527262
black hat
209 1527281
Так сколько платят по итогу? Вчера елозил по ххрю, на первый взгляд 80-150к выходит на рядового реверсера.
В Dr.web уже год висят вакансии на джуна вирусного аналитика и обычного вирусного аналитика. Мало платят что-ли? Ну не верю я, что меньше 60к.
210 1527311
Давно в VS есть удаленный отладчик ядра? Как он по сравнению с WinDbg?
211 1527315
>>526974

>Или на первый аргумент, который был сохранен из регистра в стек,


Это точно не так - принтом выдает первый обязательный аргумент n, expected. Поинтер, согласно отладчику, хранит адрес 4(%rbp), что похоже на истину. Если начать дальше сдвигать его вверх будь-то по байту, или 4 байтам, то необязательных аргументов не видно совсем.

>Что ты сделать-то хочешь?


Хочу понять куда проебываются остальные аргументы после вызова любой другой функции в int funct(), раз. Второе, просто понять как работать с этими функциями в таких конвенциях на высокоуровневом языке, просто для себя, уж больно зацепило.
212 1527576
>>527281
в вебе вроде джуну 50 или 60к,а нормальному то ли 70,то ли 80
213 1527609
>>527315
Подержу в курсе. Сейчас глазками пробежался по ассемблеру из клэнга, и моих знаний хватило на вывод, что необязательные аргументы в регистрах просто-напросто испаряются нахуй перед вызовом подпрограммы. Подозреваю, что в гцц та же морковь. Наверное конпеляторы думают, что если у объекта нет имени в исходнике, значит хуй с ним, понимаешь, так и говорят, хуй с ним, зачем это говно нам в стэк кидать
sage 214 1527880
>>527315

> понять как работать с этими функциями в таких конвенциях на высокоуровневом языке


Да никак, врапперы писать или динамически генерировать. Максимум, что тебе сишка дает - это variadic-функции (которые с точечками - void foo(int first, ...)) и va_list/va_start/va_next для них, а уж дальше оно само.
215 1528116
Кто-то под RISC-V ассемблил, прогал на нем?
sage 216 1528129
>>528116

> Кто-то под RISC-V ассемблил


Те же мифические люди, которые в r2 реверсят.
217 1528133
>>528129
Значит пора написать один такой и эмулятор.
218 1528149
>>527576
Это в питере. В москве у каспера джун с 60ти начинается. Это если без сэйвборда. Через стажировку проще вкатиться, но меньше платят
219 1528157
>>528149
Так это все равно мало сука
Очень блядь мало
Посмотри сколько получают всякие макаки на жыэсе и прочем и сравни уровень знаний который должен иметь средний макак и средний реверсер
уж лучше пилить моды всяких isfb за 5к долларов в месяц,чем дрочить семплы на потоке за 60 ссаных к в МСК
220 1528158
>>528157
Это только первое время 60к, но потом тоже мало.
221 1528159
>>528158
мало которое потом это сколько?
222 1528163
>>528159
Не знаю. Не стал допрашивать. Подозреваю, что мне бы чуть больше 100к предложили. Хотя есть люди, которые на 50 евро в час в какую-нибудь германию уезжают. А иностранцы, которые в грите работают получают шестизначную зарплату в долларах.
223 1528164
>>528163
грите?это что?
224 1528168
>>528164
great, которая все касперовкие апт репорты пишет
225 1528174
>>528168
шестизначную в долларах это в год,я полагаю?
Нормально конечно,но сколько надо проработать на эту хуйню чтобы столько получать
как-то меня это все портит настроение,когда я начинаю думать об этом.Вся эта срань с апт,аверы-хуяверы,шансы сесть в тюрьму,хуевые зп почти у всех
на кой хуй я поперся сюда..пилил бы сраные сайтики и сидел бы довольный
Единственный вариант который я вижу - спиздить откуда-то много биткойнов и всю жизнь заниматься любимыми делами,не боясь оказаться на улице
226 1528176
>>528174
Хуевая идея, лучше работать всю жизнь; иначе ты быстрее превратишься в животное, чем будешь заниматься любимыми делами.
227 1528179
>>528176
Почему?Уехал бы куда-нибудь в швейцарию,взял книжки по биологии и химии,ходил бы на лекции,нашел бы девушку с которой можно было-бы приятно проводить время,забыл бы нахуй это айти и прожил бы счастливую жизнь
228 1528191
>>528179
юпд. прыгать со скал с парашютом,наслаждаться красивыми видами,даже можно попутешествовать и даже завести детей
Эээх...Как бы хотелось прожить такую жизнь сук...
>>528176
да хер его знает,дрочить всю жизнь малваре в авлабе это тоже не верх интеллектуальной деятельности.
+надоест быстро,я думаю
Всякие великие штуки типа лекарства от рака ты без миллионов долларов и кучи свободного времени не сделаешь все таки
229 1528194
>>528191
100 среднепрофессиональных рабочих всегда лучше одного гения...
230 1528195
>>528194
к чему это,друг?Я просто уже спать хочу,чуть туплю
231 1528196
>>528195
Я о том, что хватит мечтать и делай работу, что делает другая сотня людей. Ну и развивайся.
А вот сидеть нихуя не делать 10 лет, и потом выпускать нечто гениальное уже менее полезно.
232 1528197
>>528196
так это же отстойно,сидеть и делать рутину...
Мне моя концепция с спизжеными битками и деланьем любимого дела нравится больше,если честно
233 1528198
>>528197
Жизнь сама по себе рутина, меньше фильмов смотри, ага.
234 1528199
>>528198
Да пошли вы в пизду тогда с своим программированием,в рот я вас ебал делать однообразную хуйню всю жизнь
На днях займусь тем чем собирался,ты меня окончательно переубедил.
235 1528295
>>528157
По-моему норм, там из требований только знание x86 ассемблера, который осваивается за 2 месяца.
236 1528300
>>528157
Макак как раз таки рыночек порешал, там сейчас дикий пердолинг фуллстек с кучей йоба технологий или иди гуляй, а реверсеров годами ждут и ценят. Только что погуглил, у джунов макак тоже в районе 60-80к зп. Вы переоцениваете сложность реверса, это абсолютно аналогичное по сложности осваивания ремесло и чем-то даже менее стрессовое чем программирование. Сидишь пердолишь семплы, никуда не торопишься, пока макаку ебут в жопу за проебаные дедлайны и говнокод.
237 1528475
>>528300
кто ждет?на хх 1-2 обычно,если вообще есть,обновляются редко
но в чем-то ты прав,а потом можно накачаться и сплойты пилить и продавать например
238 1528721
После вызова syscall, что происходит с потоком, который его вызвал? Ждет возврата, пока ядро обработает его вызов? Или система пропускает этот поток в ядро для обработки вызова?
sage 239 1528831
>>528721
Контекст потока сохраняется, переключается на ядро. А дальше либо ядро сразу обрабатывает вызов, либо откладывает поток в список ожидающих io. Когда все обработалось, контекст заменяется на юзермодный обратно.

> пропускает


После того, как eip/rip сменился, об этом уже сложно сказать "пропускает".
240 1528849
>>528831
Так кто обрабатывает мой системный вызов? Системный ядерный тред из тредпула или у моего юзермодного треда меняется контекст и он выполняет всю работу?
image.png28 Кб, 937x115
241 1529200
Переведите плиз. Почему two's complement так называется?
242 1529717
>>529200
Потому что дополнение до двух, ты что, совсем тупой?
image.png177 Кб, 506x884
243 1529961
Ахуеть, это вообще возможно? Статистика за год, если что. Это же нереально руками столько сплоитов найти. Может где-то на просторах гитхаба лежат навороченные фазеры ака кнопка бабло? Дискасс.
244 1530209
>>529961
Ну нашел чувак кормушку, можно и не только ковыряя асм найти.
245 1530258
>>530209
Кстати да, заметил что все крутые багхантеры долбят 1-2 конторы. Так они по-любому какой-то сканер ставят, которым им алерты выдает чуть что в инфраструктуре изменилось. Вангую у них там покрыто все, похлеще блекхетовский штучек. Ну не верю я, что они руками каждый раз аудит проводят по новой.
246 1530284
>>529961
Я тебе одну вещь скажу, ты только не обижайся (с)
Нравится ковырять бинари - ковыряй на здоровье. Кто-то готов тебе платить тебе, за то, что ты круто ковыряешь бинари - еще ахуеннее.
Но, ты увидел скрин чувака, который, возможно, поднял бабла ковыряя дыры в софте и решил, что тоже так хочешь - wrong.
ИМХО, возможно данный гражданин пиздит, возможно данный гражданин - официальный рекламный партнер H1 (сам не был их клиентом, но видел неоднозначные отзывы), возможно данный гражданин медиа представитель команды рабов NSA завлекающий соответствующих ботанов-аутистов работать на благо родины. Короче, я бы не стал доверять никаким красивым картинкам.
То, в чем можно быть уверенным - шансы на успех минимальны, если ты хочешь только результат и при этом не наслаждаешься самим процессом.
247 1530324
>>530284
Я уже давно хотел вкатиться в автоматику, а тут твит в глаза бросился, еще раз убедился в том, что нужно копать в эту сторону. Думаю здесь без автоматики здесь не обошлось, решил у анонов спросить что вы думаете по этому поводу.

Алсо, на счет бинарей, где можно скачать нужные мне бинари конкретной версии винды? Дллки беру здесь https://www.dll.ru/, но нужны экзешики и дрова в том числе.
248 1530582
Решил в Гидру вкатиться после семилетнего перерыва в реверсе (не сказать, что я блистал, но без Иды пару кейгенов написал когда-то).

0. В декомпиле не подсвечивается переменная в соседних никаким образом, когда на нее курсор наводишь. При скролле и курсор сдвигается. Нередко приходится выхлоп декомпиля в нормальный текстовый редактор копировать, чтобы удобно по нему ориентироваться.
1. Постоянно ломается что-то, когда переименовываешь локальную переменную. Она переименовывается в какое-то говно вида aQstack59 и вываливается ошибка по размеру данных. Видимо, простое переименование триггерит какой-то DataFlow-анализ, который почему-то обламывается. Если откатиться (не по Ctrl+Z, а через переоткрытие проекта), то может прокатить повторная попытка.
2. Снова переименование, но уже класса. Его можно переименовать в окне редактирования его полей, с вероятностью 80% это ломает вообще все. Можно переименовать в SymbolTree, но при этом у меня часть функций продолжили ссылаться на уже не существующий тип данных, через Clear Flow and Repair привязки исправилась, стерев при этом названия всех полей класса, которые я собирал по кусочкам последние два часа.

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

Не отрицаю, что я вообще не очень понимаю, что делаю, и, возможно, эти постоянные ошибки парой действий можно уверенно исправлять, не теряя проделанной работы, но такая нестабильность удивляет, ведь Гидру должны были сотни реверсомакак каждодневно использовать.
249 1534184
Можно ли заработать фрилансиром малварь реверсером? Самому ловить в ханипотах малварь, реверсить, писать яра правила и продавать их эксклюзивно какой-нибудь thread intelligence конторе.
250 1534526
>>534184
Если объемы приличные, то можно, наверное.
251 1534569
>>534526
Как можно одному большие объёмы выдавать?
252 1534826
>>534569
Пишешь генератор малвари и сразу же разбираешь скриптами.
253 1534969
>>534184
Есть очень большой шанс что ты окажешься под мостом
Можно просто делать малварь:)
254 1535964
>>534969
Малварь пишет исключительно школота и макаки, брысь отсюда с такими советами.
255 1536277
>>535964

>Малварь пишет исключительно школота и макаки


малварь для целевых атак - нет
а на обычной можно быстро заработать,а не жрать гордым дошик,а после пары лет идти в групиби чтобв работать за 50-60к и дальше сосать хуй
уж лучше делать говномалварь с такими зп
256 1537219
>>536277

> малварь для целевых атак - нет


А ее пилят студентики какого-нибудь ИТМО/МГУ, макаки те же, но с мат. бэком. Тему с зп и карьерным ростом уже обсуждали, все в порядке. Уходи из треда, здесь белые шляпы обитают.
257 1537267
>>537219
а нахуя мат. бэк чтобы пилить малварь?
258 1537269
>>537219

>здесь белые шляпы обитают


попрошу говорить только для себя
image.png69 Кб, 197x195
259 1537270
>>537219

>А ее пилят студентики какого-нибудь ИТМО/МГУ, макаки те же, но с мат. бэком.


Зачем тебе мат бэк чтобы малваре пилить?Почему именно студентики?есть же гос группы у которых бюджеты пиздец какие и там явно не студентота
И почему они макаки?
260 1537280
>>537267
>>537270
Я к тому, что гуманитарий сможет написать что-то уровня хеллоуворлд-малвари, которую дятел расковыряет за часик под пивко или которую автоматика сама проглотит, но точно не малварь для целевых атак.

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


Там как раз студентота и сидит.

> И почему они макаки?


Потому что студентота, очевидно же. Нет опыта = говнокодят = макаки.

>>537269
Зерепортил.
261 1537284
>>537280

>Зерепортил


по какой причине?я не спрашивал/советовал как делать малварь
262 1537285
>>537280

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


У тебя какое-то странно представление малвари для целевых атак(Или у меня)
Малварь для ца должно быть сложно отреверсить или что?(с автоматикой понятно,она должна быть наебана чтобы все нормально отработало)
263 1537290
>>537285
У этого >>536277 спроси, я без понятия какой смысл он вкладывает в это понятие. Даже малварь для целевых атак может быть написана школотой и макаками. Обычно для целевых атак используется спайварь и естественно ее должно быть сложно детектировать, анализировать и как либо маркировать.
264 1537291
>>537290
это я и есть,мы тут с тобой одни сидим
ну вообщем тебя понял

школотрон
265 1537307
>>537291
Зачем тогда семенишь? Шифруешься, малварьщик? Кидай сюда свою малварь для целевых атак, посмеемся. Она как минимум должна быть уровня Cobalt Strike.
266 1537310
>>537307

>Шифруешься, малварьщик?


Да не особо если честно.Так,тыкаю сэмплы с твиттера разве что и смотрю что нового выходит на рынок

>Кидай сюда свою малварь для целевых атак, посмеемся


Я говорил что я ее делаю?Я говорил что я малварщик или тем более хороший малварщик?
Че ты накинулся вообще?

>Cobalt Strike


Это который гуй под метасплойт?
267 1537524
>>537307

>Cobalt Strike


Он как раз и "реверсится за час под пивко" т.к. там нет никакой защиты от рерса. Только функционал
268 1537672
>>529961
Руками в серьезном софте практически никакие дырки не находятся, лол. Грубый ручной статический анализ бинаря, в котором несколько десятков, а то и тысяч, функций, да еще если он stripped - чисто физически нереально. К тому же, очень легко самому прощелкать еблом и проебать дыру.
Ищут софтом (не только фаззерами, если чо), вручную долбят только подозрительные процедуры дополнительно. Найти уязвимость - полдела. Ее еще надо эксплуатировать (ну, или хотя бы вменяемый РоС написать), что с нынешними технологиями защиты не так просто. Ломать бинарь, даже с уже известной уязвимостью, при включенном ASLR, DEP, Full RelRo, ASCII armor, PIE - очень непросто. Если бинарник 64-битный, коих в 2к19 абсолютное большинство, то написать под него надежный эксплоит ОЧЕНЬ сложно, особенно если нет бага, который приводит к утечке данных (как в ошибке форматирования строки, но такие баги сейчас - большая редкость). Поэтому это энивей требует огромного багажа знаний в ОСях, структуре бинарников, да и вообще требует креативный и пытливый разум, поэтому не думай, что софт делает за исследователя всю работу, это лишь вспомогательная фича.
269 1537728
>>537310
А нечего малварь здесь форсить, если у тебя деструктивный образ мышления, то не надо его распространять на других.

>>537524
Там даже из коробки модулей на несколько метров. Тот же бикон можно в проксю завернуть, как он сам это делает с другими тулзами и отреверсить получится только хуй с маслом, потому что вся логика останется на тим сервере.
270 1538213
Ананасы, нужен хелп от +- дилетанта
Написал лабу челику из интернетов, но он не может её сдать, потому что не может в ней разобраться, мол они такого не проходили, как сделать её примитивней я хуй знает, может у вас буду мысли, как упростить
Ввести с клавиатуры строку с разделителями, поменять местами первое слово с последним, второе с предпоследним и тд, вывести результат
Вот что я писал, он жалуется на непонятную обработку в мейне и чето блять с выводом ему не ясно, я уже не могу с ним разговаривать
.model small

.stack 200h

data segment
DelimChar equ ' ' ;символ, разделитель слов
_STDOUT_ equ 1 ;описатель вывода на экран
;обрабатываемая строка
String db 'loll goog bbooob suup mooling some paper to garbage'
Len dw $-String
;сообщения программы
CrLf db 0Dh, 0Ah, '$'
msgSourceString db 'Instant:', 0Dh, 0Ah, '$'
msgResultString db 'Result:', 0Dh, 0Ah, '$'
data ends

code segment

Reverse proc
push si
push di
jmp @@next
@@while:
mov al, [si]
mov ah, [di]
mov [di], al
mov [si], ah
inc si
dec di
@@next:
cmp si, di
jb @@while
pop di
pop si
ret
Reverse endp

main proc
mov ax, @data
mov ds, ax
;обработка строки
lea si, String
mov cx, Len
cld
;реверс всей строки
mov di, si
add di, cx
dec di
call Reverse

@@Loop:
;пропускаем все разделители
@@WhileDelimiter:
lodsb
cmp al, DelimChar
loope @@WhileDelimiter
jcxz @@Finish ;если строка закончилась - выйти
;найдено новое слово
mov di, si ;(di-1) указатель на начало слова
;пропускаем все буквы слова до разделителя
@@WhileWord:
lodsb
cmp al, DelimChar
loopne @@WhileWord
cmp cx, 1 ;учтём возможный выход из цикла по завершению строки
adc si, 0 ;когда на первый символ слова будет указывать (esi+1)
;теперь слово выделено
;(di-1) - начало слова
;(si-2) - конец слова
sub si, 2
dec di
xchg si, di
call Reverse
xchg si, di
add si, 2

test cx, cx
jnz @@Loop
@@Finish:
;вывод результатов
mov ah, 09h
lea dx, [msgSourceString]
int 21h
mov ah, 09h
lea dx, [msgResultString]
int 21h
;завершение программы
mov ax, 4C00h

main endp
code ends
end main
270 1538213
Ананасы, нужен хелп от +- дилетанта
Написал лабу челику из интернетов, но он не может её сдать, потому что не может в ней разобраться, мол они такого не проходили, как сделать её примитивней я хуй знает, может у вас буду мысли, как упростить
Ввести с клавиатуры строку с разделителями, поменять местами первое слово с последним, второе с предпоследним и тд, вывести результат
Вот что я писал, он жалуется на непонятную обработку в мейне и чето блять с выводом ему не ясно, я уже не могу с ним разговаривать
.model small

.stack 200h

data segment
DelimChar equ ' ' ;символ, разделитель слов
_STDOUT_ equ 1 ;описатель вывода на экран
;обрабатываемая строка
String db 'loll goog bbooob suup mooling some paper to garbage'
Len dw $-String
;сообщения программы
CrLf db 0Dh, 0Ah, '$'
msgSourceString db 'Instant:', 0Dh, 0Ah, '$'
msgResultString db 'Result:', 0Dh, 0Ah, '$'
data ends

code segment

Reverse proc
push si
push di
jmp @@next
@@while:
mov al, [si]
mov ah, [di]
mov [di], al
mov [si], ah
inc si
dec di
@@next:
cmp si, di
jb @@while
pop di
pop si
ret
Reverse endp

main proc
mov ax, @data
mov ds, ax
;обработка строки
lea si, String
mov cx, Len
cld
;реверс всей строки
mov di, si
add di, cx
dec di
call Reverse

@@Loop:
;пропускаем все разделители
@@WhileDelimiter:
lodsb
cmp al, DelimChar
loope @@WhileDelimiter
jcxz @@Finish ;если строка закончилась - выйти
;найдено новое слово
mov di, si ;(di-1) указатель на начало слова
;пропускаем все буквы слова до разделителя
@@WhileWord:
lodsb
cmp al, DelimChar
loopne @@WhileWord
cmp cx, 1 ;учтём возможный выход из цикла по завершению строки
adc si, 0 ;когда на первый символ слова будет указывать (esi+1)
;теперь слово выделено
;(di-1) - начало слова
;(si-2) - конец слова
sub si, 2
dec di
xchg si, di
call Reverse
xchg si, di
add si, 2

test cx, cx
jnz @@Loop
@@Finish:
;вывод результатов
mov ah, 09h
lea dx, [msgSourceString]
int 21h
mov ah, 09h
lea dx, [msgResultString]
int 21h
;завершение программы
mov ax, 4C00h

main endp
code ends
end main
sage 271 1538452
>>538213

> как сделать её примитивней я хуй знает


Зачем ты строку разворачиваешь, поехавший? Просто сканируй ее с конца на предмет пробелов и копируй/выводи найденное таким образом слово.
image.png37 Кб, 797x527
272 1538581
/v/тард репортинг. Поясните за уровень сложности трюка, который провернул чувак, о котором идет речь на пике.
273 1538750
>>537672
Инди, ты что ли?
274 1538752
>>538581
ну погугли историю про то как реверсили вмпрот, вот те же грабли. Ну и не чел а группа людей по предварительному сговору. охуилярд человекочасов.
275 1538788
>>538581
Это время в пустую, разок ради ачивки разве что, другое дело если бы он автоматикой распаковывал и действительно нашел способ обрабатывать любые исключительные случаи вмпрота.
276 1538803
>>538788
заладил ты со своей автоматикой. автоматика появляется только после ручных разборов лол. До этого макаки страдают и ждут пока кто то сделает/
Ну и вполне возможно что у них все же уже софтина почти/готовая. скопипащу:

>--> vmprotect 3 trojan unvirtualize <-- - сэмпл автоматика разбирала, сам дамп не рабочий. Но явно близко до выпиливания вмпрота из малвары с последующим восстановлением исходного кода.


>DENUVO 1-3 (VMProtect 2.06 - удалось установить точную версию) в теории и "ломается" за два/три клика. Под "ломается" подразумеваю построение зависимостей HWID от набора секретных DWORD, вшитых в файл лицензии Origin/Steam. В ранних версиях за OEP даже ехать не требуется. Допишите "trace analyser" (анализ хендлеров VM и трассировщик с подавлением защиты целостности VMProtect готов, количество VM не играет никакой роли) для Denuvo_Profiler и будет Вам счастье

277 1538865
>>538581
Там два этапа, распаковка это практически автоматика, а вот девиртуализация это примерно как собирать банкноту после перекрёстного шреддера, переваренную и высранную слоном. Если по-простому, есть два варианта - делать это полу-вручную, копаясь в слонячьем говне, для этого нужно быть человеком дождя, и сделать робота для сбора этой банкноты, что еще сложней.
278 1538866
>>538788

>разок ради ачивки разве что


>the main idea of this project was to verify whether Denuvo affects CPU usage and overall performance of this game

279 1539210
280 1539410
>>539210
Это другое.
be9cc22dadbd7a269251fc7cd0ab641a.jpg41 Кб, 500x382
281 1539883
282 1540216
>>537728

>потому что вся логика останется на тим сервере


Это не усложняет реверс, а вообще делает его неприменимым. Я про дэфолтный бикон. На нём нет обфускации. Хексрэйс сами с ним спрявятся. А исходники метерпретора вообще на гитхабе лежат. И насколько я помню у коблаьтстрайка с метаслплоитом нет встроеных модулей чтобы их обфусцировать. Они скорее зашифруют длл, а потом инджектнут в тругой процесс чем будут пытаться что-то офусцировать на уровне asm кода. А именно сложность чтения ассемблера делает реверс сложным. Вот я и говорю, что раз не обфусцирован, то и реверсить легко.
283 1541178
Как я заебался глобальный хук делать. Есть тут те кто смог?
284 1541183
>>541178
Ваш хук уходит в зрительный зал
285 1541206
>>541183
Вы всё о высоком, а толковых мануалов о том как сделать глобальный хук я чёто не наблюдаю.
286 1541212
>>541206

>толковых мануалов


готовых исходников конечно же)
287 1541363
>>541178
В ядро спустился хоть?
288 1541494
>>541363
На подступах
Сообщения ловит, но не передаёт в основной поток. Можно же весь код в эту дллку запихнуть, че я мучаюсь.
619fc6eda6902d1e5e5192ff0c3b823b.png96 Кб, 1073x503
289 1541743
Есть одна прошивка в бинарном формате.
Открыл ее в binEdit(OllyDbg не смогла)
Правильно я понял что комментарии к коду сгенирировал
сам binEdit?
image.png531 Кб, 632x492
290 1542707
Всем привет, ананасы
Тут есть жизнь?
Кто че делает?
291 1542805
>>542707
О,кробомемы
292 1542809
>>542707
Проиграл.
293 1542898
>>542809
Поздравляю, ты дегенерат
294 1542925
>>542898
Почему? Жизненный мем же. Всегда проигрываю с маня-хантеров, которые на серьезных щах пишут о том, как они нашли xss на васян.ру проставив ковычечки. Такое то достижение!
295 1543002
>>542925
Мы и так знаем что ты в теме бро, не нужно вкидывать раковые мемы и объяснять их. Лучше расскажи из жизни что-нибудь по теме имела интересного
296 1543113
>>543002
Но вкидывал я, а писал - он)

По теме сейчас классную книгу читаю. The art of exploitation. Очень мощно, прям в подробностях объясняют базовые бинарные уязвимости и эксплуатации.

Собсна, мем потому такой и выбрал, что плавно вникаю в тему pwn/rop/aslr, а вокруг мои знакомые ковычки кругом тыкают да в бурпе сидят

Я надеялся что тут кипит хоть какая-то жизнь, а тут весьма вяленько
297 1543117
>>542805
Меня там иногда постят!
298 1543119
>>543113
Так это ASM & Reverse engineering тред, мы здесь малварь ковыряем, да винду ресерчим, а не баги ищем.
299 1543128
>>543119
Я например в играх читерю. (и шинду ресерчу, да)
Хотя античит по сути и есть малварь, и по устройству и по цели применения.
300 1543129
>>543119
Ну тут ведь нету PWN CTF треда. А создавать я его не хочу, это ж напряги вот эти вот. А я себе баночку курнул, иду открыл, GDB запустил и развлекаюсь. Че, нельзя тут, гражданин начальник?
301 1543130
>>543128
Ооо! Умеешь читы писать? А на что?
302 1543133
>>543130
Я относительно ньюфаг, обламываю зубы об ЕАК пока, расковыриваю дамп, ковыряюсь пальчиком в ядре, пытаюсь байпас захерачить. У меня уже каждый кусочек железа в тестовой пеке там побанен наверно. А сам пейлоад писать да игру реверсить ума много не надо.
изображение.png11 Кб, 556x198
303 1543478
>>543113

>а вокруг мои знакомые ковычки кругом тыкают да в бурпе сидят


Как будто что-то плохое.
Устав от реверса я вкатился в баунтихантинг.
На пиво хватает.
304 1543588
>>543129
Да можно. На HTB зарегался уже?

>>543133
Это поделие не годится для обнаружения чего либо, но самое смешное, что это самый продвинутый продукт на рынке. Они отстают на года.
асм.png193 Кб, 424x610
305 1544756
>>499956 (OP)
Вкатываюсь в асм, есть годный учебник на пикрилейтед, но листинги кода там для FASM.
А мне нужен годный учебник с хорошим введением в принципы работы процессора (не обязательно) и (обязательно) адаптированный под синтаксис TASM. Потому что в FASM нету отладчика под DOS.

Подскажите учебники плиз.
306 1544895
>>544756
Tasm ? Если новичок вкатись лучше в MASM, уйма документации, .chm Юрова и его книги с примерами ещё быстрее помогают вкатиться
15281432191660.mp423,4 Мб, mp4,
1280x720, 1:18
307 1545225
>>544756
https://norseev.ru/books/windowapplicationfasm/
FASM сила, masm могила
Изучай Olly
https://wasm.in/blogs/vvedenie-v-krehking-s-nulja-ispolzuja-ollydbg-glava-1.433/
Я тут единственный кто смог что-то написать, остальные умничают а толку нет.
308 1545230
Они не понимают философию асма, думают что асм нужен только для того чтобы кичиться им, как и кичиться владением других более высокоуровневых языков.
Однако суть асма это работа, асм должен работать, хоть что-то делать, хоть складывать 2+2, но асм должен работать.
Но я не вижу чтобы асм работал, одни заумные фразы, но по факту то ноль.
Fasm придерживается именно такой филасофии - он для того чтобы делали.
309 1545231
Я полностью согласен с этим
310 1545409
>>544895
А отлаживать проги под DOS там разве можно?
311 1545514
>>545230
Любой программист понимает, что понимание асма, это ключ к пониманию любого высокоуровнегого транслируемого языка и его компилятора.
А также ключ к пониманию работы самого железа.
312 1545575
>>545514
Ну вот я выше спрашивал про глобальный хук. Но ведь ничего не сделано же. Мне нужен глобальный хук чтобы прога за меня перепечатывала сообщения в игры, в которых отсутствует возможность вставить текст через ctrl+v, и вообще получить доступ к управлению приложением через посылаемые сообщения.
Вы мне тогда не ответили про команду sleep и вот это продолжается. Это не упрёк вам, просто на этом можно делать деньги.
313 1545596
Попробую обобщить вышесказанное. В этой стране преобладает такое мнение, или я бы даже сказал атмосфера такая. Что все вокруг дохуя умные и значит дохуя хитрые.
Но это АСМ детка. Научись писать на нём законченные приложения. Очень много предприятий нуждаются в асм-приложениях, просто они об этом не знают. Особенно предприятия занимающиеся торговлей, там где точность сократит расходы, сократит время сотрудников.
314 1545613
У них нет запросов, понимаете. А нет запросов потому что им какой-нибудь 1С-програмист сделал и всё, они и тому рады. А то что эта поверхностная поибень в 2к20-ом, он конечно же умолчал.
Поэтому мы должны именно делать, мы должны дать понять людям что это не предел мечтаний, что можно ещё так и вот так. И всё, у них станут появляться запросы, высокоуровневые конечно же будут возмущаться и говорить нам какие мы бестолковые и ничего не умеем, но мы то будем делать, а они просто говорить.
315 1545700
>>545575
>>545596
>>545613
Очередной шизик протек. Что ты сделать то хочешь? И причем здесь вообще асм?
316 1545731
>>545700
Да че-то да, пива перепил. Хотел сказать что есть много задач которые можно решить асмом, но они не всплывают, потому что.. Потому что никто не задумывается, все живут в высоких материях. Я дра там компилят и прочее
А эти потребности это деньги, но даже сам потенциальный клиент не знает что он нуждается в "моей" программе, это как бы суть эпохи.
Ну и мне хотелось бы обсуждать этот вопрос, как, где, в какой области искать этих потенциальных клиентов, как им доносить что это им нужно.
317 1545750
Такой, очень гипотетический пример:
Предприниматель занимается продажей помидор, у него скажем 100 точек. На каждой точке у него есть весы, на эти весы он покупает по, чтобы они вообще взвешивали. Этот предприниматель знает что один продавец сможет взвесить на этих весах 100 кг помидор в день, поэтому у него максимальный оборот 100 кг помидор в день.
Но потом на одну из точек устраиваюсь работать я, и вижу что тут нужно всего 30 строк на асме и весы будут взвешивать в 10 раз быстрее, и предпринимателю не нужно покупать по на каждую точку, а нужно всего лишь заплатить один раз мне.
Вопрос: как мне узнать в чём нуждается конкретный предприниматель? Как мне его убедить в том что он нуждается?
318 1545758
Прикол в том что этот предприниматель ни сном ни духом, ему вот дали это по и все, он думает что это предел мечтаний.
319 1546031
>>545750

>помидор


помидоров сука
320 1546035
>>545731
Всем похуй на асм, кроме реверса. Всем нужны либо веб-макаки с пистоном/пхп впридачу, либо с++ кодеры.
321 1546036
>>545750
Никак. Ты либо убеждаешь быстро за два предложения, либо ему это просто не нужно.
image.png94 Кб, 1153x425
322 1546582
Пишу компилятор по туториалам и что-то не пойму как работает деление. Зачем надо это обьединение двух регистров? Почему для умножения, сложения и вычитания нам достаточно одного 64 битного регистра, а тут div работает только при делении 128 бит на 64?
И почему если не написать mov 0 rdx, то выходит floating point exception? еще можно написать cqo, но я так и не понял что эта инструкция делает
323 1546904
1
324 1546993
>>546582

>а тут div работает только при делении 128 бит на 64?


Так у тебя на картинке 64-bit dividend и 32-bit divisor, откуда ты взял 128 и 64 бит соответственно?
sage 325 1547030
>>546582

> Почему для умножения, сложения и вычитания нам достаточно одного 64 битного регистра


Нет, не достаточно. При умножении 64 на 64 результат может быть больше 64 битов, поэтому на x86 при 64-битном умножении ты получаешь 128-битный результат в паре rdx:rax.

Соответственно, чтобы получить при делении свои 64-битные множители обратно, тебе нужно вот это 128-битное делимое в паре регистров и 64-битный делитель.

В высокоуровневых языках эту проблему обходят, отбрасывая старшие биты произведения (если они есть) и делая размер частного равным размеру делимого. А раз компилятор пишешь ты, и размер делителя у тебя 64, тебе приходится использовать то, что умеет процессор, т.е., 128/64 деление, для этого ты расширяешь делимое до 128:

> cqo


convert quadword to octword, она делает из 4x16=64-битного операнда 8x16=128-битный, расширяя бит знака из rax по всему rdx. Это для чисел со знаком, а для беззнаковых ты rdx просто обнуляешь.

>>546993

> откуда ты взял 128 и 64 бит


Ну очевидно же, что он под 64-битную машину пишет, а на картинке 32-битная. Суть-то не меняется.
326 1547146
На процессоре i8080 есть комманда 0х03 inx B, кто-нибудь мог бы объяснить что именно она делает? Это инкремент двух регистров ВС рассматриваемых как 1 число? Но как тогда обращаться с переполнением? Или это всё-таки инкремент обьекта по адресу (ВС)? Что-то я совсем запутался...
sage 327 1547675
>>547146
Да, inx инкрементириует пару (BC/DE/HL) или SP, указываешь первый регистр в паре.

> Но как тогда обращаться с переполнением?


Страдать, проверяя результат на 0 вручную, например. Эта инструкция вообще в основном требуется, чтобы по массивам гулять (инкрементировать указатель после LDAX/STAX/M у MOV - вот это все), и в таком варианте использования случаях тебе не особо нужно думать о переполнениях.
328 1548193
>>547675
Спасибо!
330 1548993
>>548989
Я в шоке, как ЭТО может называться коммерческим продуктом. Срань полная.
331 1549445
>>548989
>>548993
У античитов своя атмосфера. Им невыгодно сразу рвать жопу, иначе читописцы тоже подтянутся и придется рвать жопу еще больше, а единичных васянов вроде меня с кастомным дерьмом всех всё равно не заловишь. Они пытаются глушить наибольший текущий раздражитель в виде текущих коммерческих читов, не более. Поэтому работают по схеме что-то произошло - как-то отреагировали. Обычно это происходит мега-уебански и на полных похуях, например в одной игре недавно заблочили USB VID/PID всех мышей A4Tech, ибо некоторые из них могут макросы на антиотдачу на контроллере мыши исполнять. (уже представляю как афотеки выпускают прошивку со спуфингом ID). Кроме того, в паблик античитах стараются особо не параноить, по куче причин. В лиговых более параноидальный режим.

Про то, что практически все античиты это как минимум спайварь, я и говорить не буду. В 2013 esea умудрился даже майнить на компах клиентов, лол.
332 1549490
>>549445

>В 2013 esea умудрился даже майнить на компах клиентов


Можно подробностей, пжлста?
333 1549507
>>549490
Гуглится же.
https://play.esea.net/forums/492102
Этих даунов потом штрафанули на лям
https://nj.gov/oag/newsreleases13/pr20131119a.html
помимо этих линков, дохуя шитшторма было на разных ресурсах
334 1549828
>>549445
Кастомный драйвер понятие растяжимое. Я уверен, что смог бы отловить его на 100%, только если это не гипервизор другой уровень пердолинга, придется фазить гипервизор для поиска уязвимости и последующего детекта или загрузочный пакет UEFI. Кроме того, конечная точка любого софта - это процесс игры, следовательно его модификация, которую скрыть просто невозможно можно через SLAT.
335 1549844
https://www.securitylab.ru/news/503507.php

Алсо, за читы тоже уже бутылят. Скоро за обычный фриланс сажать начнут. А что? Налоги не платят - пусть сидят. Пиздец конечно.
sage 336 1549905
>>549844
А вот это пиздос конечно..
Может он именно малварь под видом читов пытался распространять? Просто как бот/кликер под 273 можно подвести? Да и кому прижало его в РФ искать за бота в забугорной игре?
337 1549914
>>549844
Слышал в китае челам, которые для пубг читы писали, давали реальные сроки лол
338 1549939
Было у вас такое, что вы ресерчили/находили уязвимость, уже было хотели опубликовать результаты своих исследований, как вдруг в твиттере натыкаетесь на пост о том, что кто-то это уже проделал аналогичную работу и релизнулся? Пиздец, мне вот обидно стало, даже не знаю стоит ли теперь продолжать в этом направлении. И что мне теперь делать с этой работой? А я ведь ее несколько месяцев обсасывал и уже предвкушал лавры. Надо видимо заканчивать с этой деятельностью и искать нормальную работу :(
339 1550042
>>549939
Напиши статью с подробным разбором. В сети не хватает нормальных тьюториалов по каким-нибудь большим работам, а не по крэкми на сорок минут.
340 1550120
В дизассемблированной программе есть куча функций ровно из одной операции безусловного перехода. Откуда они берутся и зачем нужны?
341 1550193
>>550120
jump table? Ты бы хоть показал.
342 1550243
>>549939
Серьезное что-то нашел?
Аж интересно стало, напиши подробнее что и как, плиз если конечно ценности уже не представляет.
343 1550275
>>549828

>Кастомный драйвер понятие растяжимое. Я уверен, что смог бы отловить его на 100%, только если это не гипервизор другой уровень пердолинга, придется фазить гипервизор для поиска уязвимости и последующего детекта или загрузочный пакет UEFI. Кроме того, конечная точка любого софта - это процесс игры, следовательно его модификация, которую скрыть просто невозможно можно через SLAT.



Рано или поздно проблему решат радикальным образом - у пекарастов отнимут швабоду нахер, введут анальный chain-of-trust на уровне EFI, забанят прыщеОС, а для "программмируевать" разершат использовать только вижуалстудию и только для зарегистрированных лиц с паспортными данными и под NDA.
344 1550302
>>550275
Ну да, у эпл все оси на таком принципе и работают. Анальный вендорлок, пукнуть никуда нельзя.
sage 345 1550421
>>550120
Вангую, что это последствия линковки. Берутся, потому что так удобнее линкеру и компилятору. Второй вариант - разработчик сам обернул внутренний апи функциями с точно такими же аргументами (в виде задела на будущее), а компилятор увидел, что аргументы совпадают и заменил обертки на jmp.

>>550275

> у пекарастов отнимут швабоду нахер


Фантазии такие фантазии. Скорее x86 умрет, чем обычные пользователи начнут жить исключительно с подписанным кодом. На самом деле, худшее, что могло случиться с читами, уже случилось, и называется оно Google Stadia.
346 1550567
>>550421

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


Уже есть такое, гугли Windows 10 S (secure).
347 1550583
>>550275
А смысл? Цепочка доверия и сейчас есть, читам она не мешает и никто особо не морочится чтобы её отключить, есть попроще способы поковыряться в ядре, чем в уефи лезть. Если на системе можно выполнять произвольный код, и есть драйверы от криворуких вендоров, её всегда можно будет сломать, как ни закручивай анальные гайки. В читерстве ты контролируешь систему и можешь легитимно привести её в произвольно уязвимое состояние, а обычно оно такое и по дефолту.

>>550421
Стриминг-сервисам лет уже больше десятка. Стадию в гугле кто-то внедрил ради KPI, и она не особо. Хороши в этом плане разве что разработки OTOY, но рендерить лайтфилды обосрёшься. В любом случае, стриминг скорее наоборот приведет к необнаруживаемым читам. Уже сейчас в пиксельных аимботах успешно играются с ML, просто сейчас игра не стоит свеч.

>>549828
Гипервизоры тоже довольно популярное дело, да. И модификация не всегда нужна.
348 1550591
>>550583
Дыры драйверов от криворуких вендеров патчат каждый апдейт и добавляют в блэклист, ось их тупо не загрузит. В инсайдер версиях винды уже никакие дрова не работают.

> И модификация не всегда нужна.


А как по-другому? Мышь эмулировать, да квадраты рисовать? Это еще проще спалить и софт выходит низкого качества.

В любом случае на текущий момент все античиты говно полное. Вангую им майки скоро подгонят интерфейс, типо threat-intelligence.
Также в инсайдер версиях винды уже обкатывают легитимный перехват системных вызовов в ядре, скоро наступит пиздец всей малвари.
349 1550793
На процессоре i8080 есть parity flag, я думал он ставится в зависимости от четности результата операции(result % 2)
Но сейчас прочитал в датабуке

>>Parity: If the modulo 2 sum of the bits of the re-


sult of the operation is 0, (Le., if the
result has even parity), this flag is set;
otherwise it is reset (Le., if the result has
odd parity).
Я правильно понимаю: он проверяет на четность сумму битов?
Например: $0f+$01=$10=10000 -> parity=0
$04+$01=$05=101 -> parity=1 ?????????
sage 350 1551172
>>550793

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


Ту четность ты можешь and-ом проверить. А эта предназначена для контроля целостности: ты берешь данные, дописываешь к ним PF и отправляешь по какому-нибудь модему. Принимаешь, кладешь в регистр и тестишь PF (вариант: аппаратно ксоришь биты между собой и инвертируешь результат). Если результат 1, то была ошибка при передаче, если 0 - при передаче ошибок либо не было, либо было больше одной 1-битовой ошибки.

> он проверяет на четность сумму битов


Да. Или проверяет, что количество ненулевых битов четное.
351 1551301
>>551172
Пасиб!
352 1552277
Нужно добавить пустую секцию заданного размера во время компиляции в студии. Пробую вот так:
#pragma data_seg(".sec")
__declspec(allocate(".sec")) unsigned char buffer[size];
#pragma data_seg()

Работает, но если включить оптимизацию, то очевидно компилятор оптимизирует этот хак. Как это делается по канону?
sage 353 1553156
>>552277
Положи в отдельный файл и выключи оптимизацию для этого файла, очевидно же.
354 1553438
>>553156
Все равно исключал из сборки, но я разобрался, нужно было нулевой указатель добавить, как это делается при сборке TLS директории. А я был убежден, что должна быть какая-то директива для подобным манипуляций. По-моему уж где, а в студии должны быть такие вещи. Я уже месяц пердолюсь с этим PE-форматом и у меня реально голова болит от этого пиздеца, особенно от таблицы релокаций.
355 1553527
>>508721
А практикум к этому курсу есть?
15723440276070.jpg5 Кб, 230x219
356 1553543
Что такое r13?
357 1553557
>>553543
Все разобрался
Просто рандомное название для 64 регистра, думал конкретно "13" может что-то значит
359 1554248
Почему в иде нет нормального function call graph/trees? Или я в глаза долблюсь? Даже в гидре есть.
sage 360 1554827
>>554173
Многое спасибо
361 1555134
Есть у кого-нибудь исходные коды программ из книжки Калашникова?
362 1556011
Ананасы, привет.
Хочу написать фаззер средней паршивости в качестве проекта (не уровня afl офк, Москва не сразу строилась, но с чего-то надо начинать), че посоветуете покурить?
363 1556048
>>556011
https://youtu.be/BrDujogxYSk
У него вроде еще самоделки с пояснениями были полистай канал, если зайдет.
364 1556113
>>556011
А конкретнее? Что фазить собрался?
365 1556630
>>556113
Программы, которые имеют выход в сеть (или либы, которые дают сетевой функционал программе).
Совершенно очевидно, что фаззер должен будет искать в бинарнике функции инпута, которые получают и обрабатывают пакеты, и фаззить их. И иметь функционал black box фаззинга на случай, если нет исходного кода.
366 1556907
Мне нужно написать программу на ассемблере.
Эта программа должна находить корень на промежутке a, b по формуле f(x)=x3+5x2–4x–20 с точностью до e. Е здесь это не число e, а просто переменная.

Вроде бы всё понятно, кроме одного: что значит "с точностью до e"? Если что, e здесь просто переменная, а не число вроде пи.
367 1556908
>>556907
Ай, бля, с пояснением про E повторился. Повторенье мать ученья, да?
368 1556922
Вот, кстати, мне программу такую скинули, но мне кажется, что она как-то не правильно работает. Или правильно? Программа для ТАСМ.
https://yadi.sk/d/8aVM6NhjK3fvcA
369 1556958
>>556630
Плагин для бурпа/шарка напиши.
370 1557363
Объясните пожалуйста простым языком, зачем нужна метка в ассемблере?
Я из этого определения не понял ровным счётом нихуя

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


>Существуют разные способы определения меток. Простейший из них – двое-точие после названия метки. За этой директивой на той же строке может следовать инструкция или директива. Она определяет метку, значение которой равно смеще-нию, т.е. адресу точки, в которой она определена. Вернее, смещению следующей директивы или инструкции. Этот метод обычно используется, чтобы пометить ме-ста в коде, но ничто не мешает вам пометить этим методом данные.

371 1557747
>>557363
Метка - абстракция для людишек, ибо гораздо удобнее воспринимать адрес как yobaaddress, нежели 0x0804f5a7. По той же причине, что и удобнее написать mov eax, 10 , нежели писать эту инструкцию в виде опкодов.
372 1558285
Пишу на маке. В универе начинаем копаться в tasm. Где можно без заебов начать на нем писать и желательно прогонять в каком-нибудь эмуляторе (все таки в маке регисторы дорогие, а я обязательно что-нибудь асмом сломаю себе ибо рукожоп).
Гуглил много, именно для tasm не нашел нормального решения без пердолинга в жопу, XCode посылает нахуй даже препода и не хочет компилировать вообще ничего.
15756640940580.png117 Кб, 240x358
373 1558289
Может кто-нибудь не поленится объяснить: чем machine cycles отличаются от clock cycles? И можно ли зная одни перейти к другим?
374 1558517
Посоветуйте нормальный дебаггер (На подобие ollydbg), которые может в FASM синтаксис
375 1558518
>>558517
Да, забыл сказать, что он должен быть x86
376 1558526
>>558517

> которые может в FASM синтаксис


Нахуя?

> Посоветуйте нормальный дебаггер


WinDbg единственный нормальный дебагер, но там сложна. x64dbg твой выбор.
377 1558529
>>558526

>Нахуя?


Потому что я с фасмом работать хочу
378 1558534
>>558529
В твоем IDE нет дебагера? Или ты в нотпаде пишешь код?
sage 379 1558863
>>558285

> tasm


Ну досбокс же.

>>558517

> FASM синтаксис


fdbg лол, но ты не захочешь им пользоваться.

>>558526
>>558529

> Нахуя?


Двачую вопрос. Ты так говоришь, как будто от тебя что-то отвалится, если ты в OllyDbg увидишь dword ptr в своем коде.
15699451571580.jpg74 Кб, 700x393
380 1558908
>>558289

>clock cycles


Понятие из электроники, как правило есть электрическая цепь, физически скорее всего расположенная на материнской плате, которая генерирует напряжение, например куски по 0 и 5 вольт, с некоторой частотой (генератор тактовых импульсов). Первая половина периода 0 вольт, вторая половина 5 вольт. И так пока компьютер включен. Зачем это надо? Синхронизировать работу регистров, то есть памяти, расположенных на интегральной схеме (центральном процессоре). Пока идет изменение от 0 до 5 вольт (это очень короткий промежуток времени), регистры работают, изменяют свое состояние, в остальное время они ничего не воспринимают и работают только элементы типо и, или, не, комбинированные друг с другом, чтобы получить желаемую логику. Эти логические элементы успевают выдать что-то на вход регистров, которые на следующем периоде в течение изменения сигнала с 0 до 5 вольт опять в зависимости от того что у них на входах меняют свое состояние. И логические элементы в зависимости от выходов регистров снова изменяют свой сигнал, выдавая что-то новое на вход регистров. То есть один clock cycle - это сам период, в первой половине которого напряжение выдаваемое генератором 0 вольт, а во второй 5 вольт, если например у процессора частота 3 Ггц, то этот период равен 0.3 наносекудны. Важно в нем переключение с 0 до 5 вольт.

>machine cycles


machine cycle это количество clock cycles, которое нужно, чтобы процессор выполнил что-то. Машинные инструкции, например, разбиваются на какие-то шаги, типо fetch, decode, execute, write. Fetch может например занимать 4 clock cycles. То есть при частоте 3 Ггц будет выполняться за 1.2 наносекунды.
381 1559141
>>558908
Чому всё так слоожнооо?: Оказывается еще что в мануале под "cycles" понимается "machine cycles" а "clock cycles" - это "flags", но "flags" это так же и матоп флаги... Ааааааааааа!!!!!1
пасиб.
382 1559430
>>556907
Методом итераций делай. И там не e скорее всего, а ε, иначе составитель официально хуесос.
383 1559665
Почему когда считается размер адрессуемого пространства оперативной памяти, отнимается один байт? (например, 232 - 1)
384 1559847
>>559665
Пушто от нуля считают.
385 1559877
Почему на виртуалке могут не работать брекпоинты? Установил с офф. сайта 7 винду под VMware, а там такая засада. На соседней 10 винде такой проблемы нет, в настройках все перекопал уже. Если включить дебаг мод, то вообще система фризится по достижению бряка. Это гипервизор кривой или майкрософт накосячили?
386 1560172
Связаны ли как-то размер сегмента и его базовый адрес?
13449892f9c2.jpg2 Мб, 1175x2087
387 1560309
Поясните. Есть отладчики, которые могут читать ввод из текстового файла и писать вывод в текстовый же файл, или хотя бы в стандартные потоки (stdin / stdout в глинуксе)?
388 1560448
>>560309
Ну перехвати инпут/аутпут и делай с ними все что хочешь.
389 1560867
Объясните кто-нибудь как реализуется многопоточность на языке процессора

В процессоре каждое ядро имеет свои собственные регистры, или регистры одни на весь процессор?
Если второй вариант, то как работает тот же рендеринг на процессорных ядрах? Ведь там по сути всё идёт параллельно, а значит по логике, должнен быть отдельный набор регистров для каждого ядра. Но ни в одной книге по ассемблеру, или архитектуре процессора я не нашёл ни одного упоминания о том как работает многопоточность
ducxt-2wpesryw7bayyfxwnva2m.gif37 Кб, 1920x1080
390 1560933
>>560867
Если коротко, то так (отсюда https://habr.com/ru/post/482170 ) а длинно - открой любую книгу по архитектуре процов
391 1560964
>>560867

>языке процессора


Ассемблере всмысле? https://stackoverflow.com/questions/980999/what-does-multicore-assembly-language-look-like
392 1561015
>>560867
Параллелизм != многопоточность. У процессора нет потоков, потоки это абстракция ОС.
sage 393 1561582
>>561015
Последовательность выполняющихся инструкций - это поток. Процессор инструкции выполняет? Тогда какие проблемы? У всех процессоров есть потоки (но не те, что в ОС), а у x86 есть даже задачи настоящие (только ими никто не пользуется).
394 1561657
>>561582
Ну да, я это и имел ввиду, мне кажется не совсем корректно называть это потоками, тк это не объект, как в случае с абстракцией ос, тогда уж поток выполнения. Код выполняется на логическом/физическом процессоре (ядре).
изображение.png29 Кб, 1250x496
395 1561718
Пытался сделать стандартный хеллоуворлд на FASM-е.
Сам асмокод компилится, но вылетает ошибка пикрелейтед
Я нихуя не понимаю, в чём проблема
396 1561751
Алсо, реквестирую современную IDE с поддержкой fasm'a/masm'a. Кто что использует?
397 1561754
>>561751
Есть SASM
Но он какой-то багнутый. Может это я криворучка, но у меня черезнего не компилился код, экзамплов, которые идут в комплекте с ФАСМом с оф сайта При чём при запуске через стандартный "IDE" если его так можно назвать, ФАСМА всё спокойно компилилось
398 1561774
>>561718
Нет такой функции, это сишный макрос.
399 1561779
>>561774
Я в курсе. Но как ни крути, работать это так или иначе должно. Но тем не менее не работает
400 1561799
>>561779
MessegaBoxA/W, нюфань...
401 1561905
Всем хорошего нового года
Отложите дебаггер,вим,ИДЕ и прочие инструменты
Постарайтесь провести его хорошо :3
402 1561951
>>561905
И тебе, анончик.

А у меня наоборот вдохновение пришло. Составил себе список пет-проектов на год, книжки подобрал для чтения там Востоков опять годноту написал по отладке, windows internals
2 часть 7 издания выходит и еще много всего
, листаю твитер в поисках годных блогов, слепил пару плейлистов на ютубчике, итд.
403 1561982
>>561779
Убираешь import, пишеш: include 'api/user32.inc', вот там автоматические A/W макросы, как в сишке.

>>561905

> Отложите дебаггер,вим,ИДЕ


Да ты охуел! ну разве что вим Нет ничего охуеннее, чем лампово и лениво потыкивать одним пальцем иду в новогоднюю ночь! Всех с наступающим.
404 1561987
>>561982

> лениво потыкивать одним пальцем иду в новогоднюю ночь


Надеюсь ты найдешь себе в этом году,в кого еще можно было бы потыкивать пальцем :D
>>561951
ладно,всего хорошего вам тут аноны,будьте счастливы епт
А я пошел
405 1562502
>>561951

>книжки подобрал для чтения


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


>слепил пару плейлистов на ютубчике


Поделишься?
image.png60 Кб, 453x669
406 1562634
>>562502

> книжки подобрал для чтения


https://www.patterndiagnostics.com/
https://www.amazon.com/Windows-Internals-Part-2-7th/dp/0135462401
https://www.amazon.com/Hardware-Software-Virtualization-Synthesis-Architecture/dp/1627056939
https://www.amazon.com/Windows-via-C-6th/dp/0135953391/
+ пикрил моя текущая библиотека

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


>слепил пару плейлистов на ютубчике


Всего подряд накидал, не сортировал еще, ссылок 100 вышло. Плейлисты буду собирать из выступлений на конференциях, их тоже надо посмотреть сначала.
407 1562876
Какая либа для перехвата сейчас актуальна? По идеи Detours от майков должно хватить на все нужды?
sage 408 1562903
>>562634
Thnx a lot
409 1564653
Как следует реверсить встроенное программное обеспечение, которое работает в режиме ядра? Есть файл с расширением .fw - прошивка для Mi Band 3, мне необходимо вскрыть его в IDA Pro, и она не может даже определить архитектуру - а мне еще дебаг надо будет проводить, используя эмуляцию аппаратного обеспечения.
410 1565106
В каспер или доктор вэб на удалёнку берут?
изображение.png2,1 Мб, 1440x1080
411 1565245
412 1565660
Часто возникает такая ситуация, что нужно проверить функционал какого-либо винапи, естественно открывать ide, лезть в документацию и подключать отладчик лень. Мб есть тулза/плагин для отладчика, в котором можно выбрать нужный апишник, указать параметры и получить всю необходимую информацию?
15714088624360.png221 Кб, 496x512
413 1565714
Прошаренные на месте? Я тут читаю System V AMD64 ABI и там указано, что rbx и rbp (еще r12-r15) - должны сохраняться и по завершению функции восстанавливаться вызываемой функцией. С rbp понятно, он указывает на основание стек фрейма, а у rbx в чем прикол, он как то исторически по особенному использовался/используется тоже или что? r12-r15 callee-saved просто чтоб было как мне кажется.
414 1566035
>>548989
>>501062
Апдейт того, что у них изменилось за год нихуя https://vmcall.blog/battleye-analysis-2020/
415 1566064
В чем разница между фаззером и санитайзером?
sage 416 1566067
>>566035

>нихуя


неожиданно (нет)
Интересно, что там с этим >>549844 читаком..
417 1566069
Кстати, тут соседи ябло-разрабы слили самую актуальную (вроде обнов больше не будет) версию трилогии алчного Левина про OSX в херовом качестве.
Кому надо - велкам в их телегу https://telegra.ph/MIYAMOTO-SYNDICATE-06-16
418 1566341
Готовы делать сасамбу, высокоуровневые теоретики, любители попиздеть о высоком?
1.jpg736 Кб, 720x1520
419 1566345
>>566341
GO
Начинайте
111.mp414,5 Мб, mp4,
640x360, 4:58
420 1566381
421 1566390
>>566064
В чём?
422 1566394
>>566064
Два совершенно разных инструмента, грубо говоря фаззер подготавливает и грузит пейлоады, а санитайзер отлавливает ошибки. Обычно работают в паре.
423 1566396
>>566069
У меня тут встал вопрос. А могу ли я накатить макось на виртуалку и ковырять ее там? Или без техники ЭПЛ не обойтись?
424 1566480
Сап, реверсач
Скажите плиз, в реальном софте, а не в крэкмис или челленджах на ситиэфах, вручную статическим анализом ищут дыры в софте или в нынешних реалиях это невозможно? И без скриптов/фаззеров не обойтись никак от слова совсем? Просто написать эксплоит под дыру - сам по себе челлендж в реалиях 2к20 года со всеми технологиями защиты целостности памяти, а найти дыру в сотнях тысяч строк кода, пусть даже если есть исходник, это же пиздец анрил.
425 1566592
>>566480
Ищут. Читал статью (хотя возможно смотрел видео) как чувак прочитал описание одного cve в виндосовском драйвере. Увидел, что там неправильно аргументы передали в какую-то стандартную функцию перепутав 2 аргумента местами. Это позволило экспоитить rce. Потом он тупо скачал драйверы разных антивирусов, прошёлся глазами по всем вызовам этой функции во всех драйверах и в некоторых из них нашёл такую же ошибку разработчиков. Дальше эксплоить не стал.
15723517504600.jpg176 Кб, 1280x1024
426 1566630
Какие отладчики показывают не только регистры процессора, но и адреса памяти, используемой текущей инструкцией?
427 1566632
>>566067

>Интересно, что там с этим >>549844 читаком..


Если дело завели, значит посадили/посадят, 99%.
Но стори натурально мутная, просто так им нахуй не сдалось бы бутылить. Под 273 читы пока вроде не подводили, может там еще что было. Подробностей бы.

>>549844
Я абсолютно уверен что у кого-то такой бизнес даже оформлен по закону.
428 1566634
>>566630
Так показывают
429 1566637
>>566630
Ты про instruction pointer? Или effective address ? Любой отладчик показывает. Любой отладчик в принципе показывает все что нужно и даже больше.
430 1566643
>>566637
Нужно (в виде текста или стандартного потока) отображение всех регистров, которые использует и меняет конкретная инструкция, соответственно до и после выполнения инструкции.
image.png45 Кб, 1119x297
431 1566648
>>566643
Так это цветом обозначается. Во всех отладчиках. Не замечал что ли?
432 1566674
>>566396
Можешь, хотя это и является нарушением EULA. Даже PowerPCшную можешь, правда быстродействие там будет такое, что даже железный G4 с 1ггц процом и 1 гигом памяти работает быстрее.
433 1566974
>>565106
Бамп. Кто-нибудь в курсе где подработать студенту из миллионика?
434 1567010
>>566674
Спасибо.

Алсо, реквестирую какой-нибудь гайд по быстрому вкату в пердолинг макоса. Как там правильно все задеплоить, какой отладчик использовать для удаленной отладки итд итп.
435 1567014
>>567010
Ставишь xcode, там почти всё есть.
436 1567102
Есть сишная структура типа:
struct
{
int a;
int b;
int c;
} MyStruct;

Как получить доступ к членам этой структуры из .asm файла прилинкованного студией? Использовать указатель и смещения?

Для обычной переменной работал следующий код:
-> .asm
externdef MyVar : dword
.data
MyVar db 0
-> .c
extern "C" DWORD MyVar;
После чего я мог использовать переменную в обоих файлах.
437 1567103
>>567102

> MyVar dd 0


Быстрофикс
438 1567292
>>567010
В старых - ставишь xcode с образа вида xcode-хуй-пизда.dmg
Если чисто в консольку пердолиться и шеллкоды писать - можешь поставить консольные тулзы. Но они ставятся где-то только начиная
Конпялятор - очевидный gcc или шланг в зависимости от версии хкода, ассемблер - очевидный nasm или gas (под ppc nasm нирикоминдую). Отладчик - gdb.
Если понадобятся m4, лексы-хуексы, cmake - всё это ставится из brew или портов.
439 1567298
Что такое шеллкод?Код который передается в шелл(командную строку)?
сш скрипт с echo hui pizda внутри это будет шелкодом?
Я пиздец тупой,знаю
440 1567301
>>567292
Тфу, не дописал.
Скрипт для автоустановки консольных тулзов есть только где-то начиная с 10.10. За полным образом xcode надо ходить на девелопер.кукоблядь.ком и иметь apple id.
>>567298
Шеллкод это хуйня написанная на асме (или вообще в hex-кодах), которая запихивается в дырку (переполненный буфер) и на неё передаётся управление.
Например, если в проге буфер длиной 100 байт - можно передать ей 101 букву А + в конце шеллкод, который запустит rm -rf /
sage 441 1567302
>>567298

> Что такое шеллкод


Исторически - код, который спавнит шелл и привязывает его к сокету. Чтобы ты байтики отправил =-получил удаленный шелл. А сейчас любой исполняемый код, который удалось запустить не предназначенным для этого способом, даже если он калькулятор запускает.
442 1567591
>>567102
Решил проблему, оказывается на masm'e можно кастить, прям как на сях.
443 1567874
В чем разница между веб уязвимостями (sql injection, xss, csrf) и бинарными вроде переполнения буфера, целочисленной переменной и т.п. в плане силы? Почему на зеродиуме покупают за миллионы только бинарные уязвимости?
444 1567900
>>567874

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


Сложность их доставания их и потенциальный дамаг который ты можешь им нанести.
Зиродиум селлит только госам,а им не очень интересно где там можно поставить ковычьку,а вот всякие рце в хромах это пожалуйста
довен.jpg47 Кб, 500x500
445 1567903
>>499956 (OP)
мужики выручайте
https://github.com/Inndy/ggpk-tools
переделайте под fasm, ну или хотя бы что то накидайте, а я буду пробывать. а пока я пойду пофармлю эхальт
446 1567923
>>567874

>Почему


Для веба достаточно уметь подставить кавычку, а в бинарях нужно комбинировать [0-9A-F].
Сложность 1 к 16 -> оплата соразмерна))
Если без рофлов, то >>567900
447 1567928
>>567923
проиграл,спасибо
448 1567934
>>567903
gcc -S -masm=intel тебе "накидает". А вообще иди нахуй, никто бесплатно за тебя твои лабы делать не будет.
449 1568839
>>567934
Шизик, ты уже целый месяц в нескольких тредах всех нахуй посылаешь. Не устал? Что-то мне подсказывает, что ты сам нихуя не знаешь.
450 1568920
>>568839
Тебе уже сказали, как переложить твои 30 строчек кода на сях в ассемблер. Если ты настолько тупорогий, что сам этого сделать не можешь.
451 1570362
Как рассчитывается декомпилятором IDки размер (тип) переменной/элемента массива? Я тупо смотрю в оба асм кода и не вижу разницы, вот только в одном случае переменная и элемент помечены как int, а в другом - _DWORD. Все крутится вокруг регистра PC (в него оно возвращает значение (указатель на массив), если верить декомпилятору - LDR PC, [R3,#0x2EC]), однако смещения (+0x2EC) в обоих случаях одинаковые. Могу скинуть конкретно листинги с примерами.
sage 452 1570497
>>570362

> Могу скинуть конкретно листинги с примерами.


Кидай.
453 1570540
>>570362
Так инт это и есть дворд, не?
454 1570613
>>570540
В принципе, да - 32 бита, двойное слово. Там вообще лонг с интом конфликтуют в JNI. Чувствую, это надолго.
>>570497
Сразу тебе спасибо, ты мне уже тут однажды помог.
https://ideone.com/3sqDGp
455 1570814
>>499956 (OP)
Где можно скачать крякнутый фулл hiew?
456 1570936
>>570540
Нет, инт платформозависимый.
457 1571375
Нужно ли применять какие либо блокировки во время чтения глобальной переменной несколькими потоками?
458 1572340
Допустим, я отреверсил в иде приложение, все красиво, все читабельно, вдруг выходит обновленная версия этого файла, как по-быстрому применить все изменения из первого файла во второй? Не заново же мне пердолить переименования итд.
sage 459 1573219
Поясните за Volatility Framework. В каких кейсах его применяют? Какие у него преимущества перед отладчиком? Набор готовых эвристик и все?
460 1573391
Аноны, начал читать RE4B, понимаю от слова НИХУЯ, вот нихуя не понимаю о чем он пишет. В том же искусстве эксплойта более низкий порог вхождения. Как быть? Читать и плакать? Выучить основы С, чтоб хоть что-то понимать?
461 1573905
>>573391
Я тоже нихуя не понял, странная методика у него. Попробуй что-то другое почитать.
462 1574552
>>573391
Челик, если ты не знаешь Си, кресты, асм хотя бы одной архитектуры, основы операционных систем и системного программирования, лезть в реверсинг, а тем более бинарную эксплуатацию, вообще смысла не имеет. Это все равно, что начать изучать математику в первом классе не с арифметики, а курса матанализа уровня MIT. Камон.
463 1574558
Суп, реверсач
Почему во время статического анализа меня тянет взять листок и ручку и рисовать стэк, дабы не запутаться в асме? Это норма или не?
464 1574617
>>574552
Ага, только определенные знаки в этом году смогут залезть в реверсинг. Читать дальше....
465 1574691
>>573391

>Выучить основы С, чтоб хоть что-то понимать?


Нет, с ОСНОВАМИ си тебе разве пхп получится выучить. Тебе надо углубиться в си. Учи указатели. Как работает память. В идеале пиши собственные программы, и исследуй их листинг ассемблера. Посети ##^nkcANUSfr`,xeenodePUNCTUMne%gJt и спрашивай местных все, что хочешь знать - учат бесплатно, за спасибку.
466 1574832
>>574552
Сказки не рассказывай, каждый может вкатиться с нуля. Достаточно быть обучаемым и замотивированным.
467 1576408
Что значит loc_цифры в IDA Pro, sub_цифры это функция, а это что?
468 1576624
>>566035
Кстати это ведь я так понял просто шелкод который переодически сканит изнутри процесса игры, в самом драйвере там наверное еще дохуя всего.
469 1576643
>>576624
Нет там в драйвере нихуя, античит - говно от поехавшего немца-бухарика и это не шутка.
470 1576654
>>576643
А какой смысл им делать все эти сканы из под юзер мода, если можно делать все то же самое и даже больше из ядра?
471 1576711
>>576654
Потому что:

> античит - говно от поехавшего немца-бухарика



Собственно поэтому китайцы и убили пубг и прочие дрочильни, а сами разрабы пубга пошли по стопам близзард и пилят интегрированную защиту.
472 1576773
>>576408
loc == location, кусок кода под лейблом, куда идет прыжок при выполнении каких-либо условий (не функция, засим новый стэковый фрейм там не открывается)
bf3-hacks05demo.jpg113 Кб, 600x390
473 1576875
Сори за тупой вопрос, а как читы обычно отличают, что сейчас идет геймплей и надо искать/менять переменные по определенным адресам, а в другой момент отрисовывается глав меню и по искомым адресам лежит мусор/ничего и можно отдыхать?
474 1576880
>>576875
Очевидно, что у игрового движка будет класс отвечающий за текущее состояние игры и в нем будет переменная определяющая идет игра или нет.
sage 475 1576902
>>576880
Спасиб
476 1577628
>>564653
лол, всё начинается с мибендовскими прошивками примерно так (но путь пройден до тебя) https://myamazfit.ru/threads/instrukcii-po-rabote-s-proshivkami-cherez-ida-pro-i-binedit.97/
image.png78 Кб, 674x837
477 1578132
Какого хуя не работает мой божественный код?
https://pastebin.com/bZG2Zgyn
Программа должна переводить две 8-длинные строки в числа, суммировать их, переводить в третью строку и печатать ее на stdout. До суммирования включительно все заебись, но при первом же делении результата на 10 случается хуйня. Я ебал.
sage 478 1578331
>>578132
Открой отладчик и шаг за шагом анализируй действия программы.
479 1578418
>>578331
А я, блядь не могу. Оно не хочет по одной инструкции выполнять. Может надо не голый _start писать, а main, потому что отладчику там уютнее с первой точкой останова размещаться? Anyway, я четко вижу, что в регистре rsi 22222222, он копируется в rax и делится на r8, который 10. ЧЗХ?!?!
image.png457 Кб, 640x612
480 1578438
Ааааа, b _start не помогает! Первым же step выполнение в миг продристывается до моего SIGFPE...
481 1578449
Итак, с брейками почему-то не падает, но результат деления неадекватный.
482 1578578
>>578132
секунда в гугле https://stackoverflow.com/questions/8649180/assembly-divisions-and-floating-points

RDX занули, он divом воспринимается как верхняя часть делимого
483 1578594
>>578578
ага, значит надо делать divl, и все будет ок?
484 1578601
>>578578
Спасибо, анон. Буду внимательнее. Знал лишь, что умножение в RDX верхнюю часть кладет, а деление - остаток. Данный же случай вполне, однако, логичен.
485 1578607
>>578594

>divl


это деление 16 битного AX на 8 битовое значение имеется ввиду? Ну если делимое в 8 бит укладывается, то можешь и так. Удобнее просто rdx занулить и работать с 64 битным делимым как мне кажется.
486 1578732
>>578607
Да я так и сделал. А суффикс L - это ведь dword. Только частное и остаток разбиваются на два регистра даже при ширине типа в полрегистра и меньше, т.к. логически разные части результата, чтоб SHR-ом не извлекать), исключение - однобайтовый, т.к. есть AH:AL.
487 1580930
Что надо знать перед тем как читать re4b
488 1580970
>>518584
Как ускорить статический анализ? Есть какие-то дзен-техники/скрипты? Невозможно же читать асм листинг всего бинаря, особенно если он огромен, и тем более, если stripped
Че делать?
489 1581199
>>580970

> Невозможно же читать асм листинг всего бинаря


Именно поэтому изобрели декомпилятор. Монополии Ильфака пришел конец, теперь почти во всех опенсурсных решениях присутствует этот компонент. Также, у тех же самых иды/гидры, есть встроенные скриптовые движки с приличным апи и готовая база плагинов.
490 1581211
Можно ли в вин10 последней заюзать HalDisplayString когда винлогон уже запущен? Если нет, то почему? Я понимаю, что в вин8 ввели новый формат бсода, но не могли де полностью выпилить эти функции? Существует ведь добрая половина native-прог
S00123-08493376.jpg56 Кб, 1210x413
491 1581277
Нахуя в строке mov [esp+10h+var_10],eax к 10h прибавляют var_10, которое, как я понял, равно -10h? В итоге ведь ноль выходит.
492 1581553
>>581199
А что насчет скриптов? К радару и айде прикручены скриптовые япы вроде питона, луа... Как их можно юзать, чтобы ускорить статический анализ? Слышал, что благодаря скриптам справляются даже с обфускацией, поэтому полуавтоматизировать или хотя бы облегчить статический анализ можно, не? Но как?
493 1581745
>>581553
Ну допустим программа юзает шифрованные строки которые только в рантайме расшифровываются по мере использования, можно написать скрипт который будет их искать и расшифровывать.
image.png558 Кб, 1890x530
sage 494 1581907
Блэт, как стать похожим Чадом?
495 1581930
>>581553
Плагины это и есть скрипты. Что конкретно ты реверсишь и что тебе там надо ослаблять? С декомпилем любая макака бинарь за день отреверсит.
496 1581950
>>581907
Внатуре Чад. Вунерабилитис пофиксил, наташку выебал, кайф. Это вам не веб макака галерщик.
image.png367 Кб, 870x1170
sage 497 1581968
>>581950

>@natashenka


Эх.. Может и правда без определенных личностных деформаций в профессии не добиться успеха, сколько жопочасов не трать?
А аутизм уровня "дрочь на тамагочи-дампы", как лакмусовая бумажка(
498 1581989
>>581950
Двачую. Хотя лучше бы ту тяночку редтимершу из фейсбука оприходовал, поняшнее будет.
499 1582173
>>581277
ну памагити((
500 1582314
Анализирую прошику i8051, она куда-то что-то пишет (распаковывает данные), либо через DMA, либо через порт.
Как лучше всего организовать рабочий процесс, чтобы понять, что делается? Я нашел опенсорсный эмулятор и в принципе могу залогировать все, что угодно, но может у кого есть еще какие-то советы
501 1582619
Двач, есть одна строка, и я хочу добавить в нее многобайтный юникод-символ.

С однобайтными все просто:
mov byte [rdx], 32
а с многобайтными пока только так приходит в голову:
mov byte [rdx], 0xE2
inc rdx
mov byte [rdx], 0x97
inc rdx
mov byte [rdx], 0xA3
502 1582952
>>581930
Какой бинарь ты за день отреверсишь? Калькулятор?
Речь идет о сложных прогах с минимум 20-30к функций
sage 503 1582998
>>582952
Какая у тебя там сложная прога с 20-30к функций? В ядре винды их меньше. Если ты реверсишь бинари такого размера полностью, то ты явно не знаешь, что тебе нужно.
504 1583091
>>582998
Ок, я все перефразирую.
Дано: прога типа телеги или вотсапа (мессенджер взят как пример, похуй на самом деле что)
В моем понимании, реверсинг с целью поиска дыр в таких прогах должен происходить следующим образом: подрубается фаззер на мощной машине в несколько десятков тредов и крутится до посинения нахождения хэнгов/сегфолтов.
Вручную что реверсят с целью найти дыры? Функции, которые обрабатывают ввод извне, я полагаю. Но сама уязвимая функция не обязана быть именно этой, само переполнение/произвольное чтение/запись/дабл фри/UAF и т.п. могут быть не обязательно в самих функциях обработки ввода. Как тогда все искать вручную, учитывая, что серьезные бинари еще и stripped?
У меня есть подозрения, что при поиске дырок используется софт типа фаззера, а статический анализ проходит уже в найденной софтом уязвимой функции, и тех, на которые она влияет (по xref можно почекать, например), чтобы понять как это эксплуатировать, если вообще возможно. Сам поиск дыр в крупных бинарях/ядрах ОС вручную не производят, я прав? Иначе я не понимаю как вручную можно искать дыры в крупных программах, особенно не имея сорца, это же пиздец. Даже с декомпилятором.
505 1583119
>>583091
Раз в год и палка стреляет. Слышал про такое? Сидят и дрочат до посинения, свой первый баг уж точно, а вот потом можно задуматься об автоматизации процесса. Естественно, все реверсить не нужно, достаточно знать узкие места, изучить последние баги за последний год и искать похожие места. Тулзы для динамееского анализа, которые реально помогают в этом деле стоят очень дорого, по несколько тыс. баксов в год и имеют тонкую настройку для конкретного кейса.
506 1583142
>>583091

>подрубается фаззер на мощной машине в несколько десятков тредов и крутится до посинения нахождения хэнгов/сегфолтов.


И что этот фаззер делает вообще? Ищет функции в бинаре и вызывает их с рандомными параметрами?
image.png1,6 Мб, 1280x720
sage 507 1583238
>>576875
>>566035
>>501062
https://youtu.be/yJHyHU5UjTg
BlackHat Official начал заливать прошлогодние выступления, может местным читакам будет интересно.
Сам толком нихера не понял, кроме того, что парень из ядра делает грязь, чтоб не палится дергая WinAPI.
508 1583529
>>583238
Это все баяны из нулевых. Сейчас гипервизоры в тренде.
509 1583541
Что можно почитать на тему фанатской локализации игр?
510 1583625
>>583529
А есть что почитать/посмотреть по теме?
511 1583643
>>583625
Интел/Амд мануал. Есть отдельные тома на тему виртуализации.
512 1583718
>>583643
Ну, я имел ввиду применительно читов/античитов в играх. Наверное на первое время хватит покурить исходники hvpp и сопутствующие бложики/unknowncheats
Просто не сталкивался на практике с виртуализацией уже запущенной системы, поэтому не сразу понял возможные профиты в игровой области - спасибо за наводку.
513 1583808
>>583529
Так гипервизор вообще имба какая-то получается. Если я правильно понял, то с помощью EPT можно сделать защиту памяти так, что при чтении будет показывать одни данные, а при исполнении другие. Как это вообще можно обнаружить?
514 1583876
>>583808
https://vmcall.blog/battleye-hypervisor-detection/
Это из того, что вчера нарыл интересного почитать.
А так, наверное применимо все то, чем любая малварь детектит запуск себя в VM.
515 1583915
>>583718
Сложно что-либо понять в исходниках без мат. части. Метод тыка не сработает. Есть четкая спецификация которой надо следовать. Все эти вещи описаны в мануалах. Какие профиты? Считай это год мод. Реалтайм отладка/трассировка ядра, модификация страниц памяти на лету, куча с горкой разных евентов и калбеков железячных. Применение в игрульках: установка скрытых перехватчиков, создание анклавов.

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

>>583876
Разве APERF счетчик не привязан к частоте процессора? Эта эвристика не может быть надежной. Вообще тайминг атаки это хаки, которые нигде кроме низкосортной малвари не должны использоваться.
image.png128 Кб, 980x890
516 1583927
>>583915

>понять в исходниках без мат. части


КМК, по началу мне и обычных туториалов хватит, наподобии:
https://github.com/SinaKarvandi/Hypervisor-From-Scratch/
Тем более, там вроде и автор hvpp руку приложил.
517 1584279
>>583876
Ну это чисто обнаружение присутствия самого гипервизора, а сами хуки с EPT получается вообще никак не обнаружить?
518 1584316
Перекатывать кто-нибудь будет?
Бывший ОП первых тредов
519 1584453
Вон там DTrace под винду завезли на базе гипервизора. Годно.

https://techcommunity.microsoft.com/t5/windows-kernel-internals/dtrace-on-windows-20h1-updates/ba-p/1127929
520 1584492
>>583142
Вот например, уязвимость найденная фазером. https://talosintelligence.com/vulnerability_reports/TALOS-2019-0964
image.png68 Кб, 502x310
521 1584722
>>584316
Я сделал.
Только через жопу(( Оказывается, если тасовать и добавлять/удалять картинки, то макаба загружает не то, что показывает. Сорян, потерпите Эдди в ОП-посте.

Перекот
>>1584716 (OP)
>>1584716 (OP)
>>1584716 (OP)
>>1584716 (OP)
sage 522 1584930
>>584722
Ты первый день в треде? У нас так не перекатывают.

Сидим здесь мужики.
523 1589978
>>584492
Блэт что такое фазер поясните для долбаеба плез (непонятно )
524 1593710
Хочу расставить все точки над и

Если у тебя сяоми, то в моих глазах ты просто чмошник.
Y2AdE3p.png3 Мб, 2048x1152
525 1593711
>>593710
миссклик парни
526 1594948
>>593710
кидай пак мы знаем что у тебя есть - не мне прост друг просит оч срочно
2020-02-16 17-40-27.mp4393 Кб, mp4,
540x344, 0:09
527 1604040
>>499956 (OP)
Как в keil записать данные во flash для Cortex M3?
Тред утонул или удален.
Это копия, сохраненная 9 марта 2020 года.

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

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