В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).
Вы пишите на ассемблере или собираетесь начать на нём писать? Программируете микроконтролёры, пишете драйвера для ОС, а то и саму ОС? Вам сюда. Вы изучаете алгоритмы работы закрытого софта, пишите патчи бинарников? Вам тоже сюда.
Попрошайки с "решите лабу по асме за меня" идут в общий тред, а лучше нахуй.
Инструменты для RE: Дизассемблеры: 1) IDA Pro Torrent Edition 7.2 | 7.0 | 6.8 на выбор. Иногда ограничения версий x86/x64, патчинг, вылеты прилагаются 2) IDA Freeware 7.0 - бесплатная для некоммерческого использования Важные функции/процы/форматы не завезли, саппорт все обращения ксорит побайтово. 3) IDA Home - тем, кто реверсит для хобби 365$ в год, ага. Умеет на выбор PC|ARM|MIPS, обычные и х64. Завезли IDAPython, но забыли Decompiler. 4) Ghidra - главный конкурент IDA Pro, разработка NSA под свободной лицензией. Тормозной Java UI, гипотетические звездно-полосатые анальные зонды в комплекте. 5) Radare 2 | Cutter - консольный + гуй на Qt дизассемблер. Умеет в Ghidra decompiler. Предположительно нужен только клиническим, не умеющим в скачивания торрентов, пользователям альтернативных ОС. 6) Hiew - Hex-редактор и легкий x86|64|arm дизассемблер за копейки. AV-ресечеры текут, вирьмейкеры боятся, поклонники st. Криса грят малаца. 7) Остальное
Отладчики: 1) x64dbg - х86/64 юзерспейс виндовый отладчик с открытым кодом не Olly же в 2020, верно?; 2) WinDbg - родной виндовый дебаггер от MS 32/64 битные приложения, драйвера, анализа аварийных дампов - это все к нему;
Идея для стартапа. Деплою публичную кукушку как эстонский cert и предлагаю анализ малвари на заказ по ежемесячной подписке как gib. Рекламлюсь в твитере на хайповых новостях и на заказных статьях в тематических сми. Нанимаю других реверсеров в команду по мере роста заказов и становлюсь миллионером. Какие подводные?
>>1748699 Поподём в список отечественного по и будем пилить заказы от газпром-медиа? А если они не захотят купить? Как-то не очень надёжно спланировано
>>1748706 Нет. Мы с тобой будем пилить DRM систему для Android приложений и игр. Нам передают условно игру на Unity, мы ставим защиту, отдаём аппу разрабу.
>>1748713 Нету. Android - это дыра.>>1748713 >Кому нужна альтернатива? Коммерческие защиты очень дорогие. В России нет компаний, которые бы занимались защитой приложений мелких разработчиков. >И зачем тогда делать отечественую? Мы ж патриоты, нах.
>>1748755 Я про мануал реверс того, что кукушка сочтёт подозрительным. Типа автоматически любой желающий может бесплатно проверить файлик, а если что-то важное, то можно за денюжку попросить живого человека оперативно взглянуть на этот файл.
>>1748706 > Поподём в список отечественного по и будем пилить заказы от газпром-медиа? А если они не захотят купить? Как работник газпром-медиа скажу - не захотят. Всё уже давно куплено и продано за вас. Тем более в компании сейчас массированные кадровые перестановки произошло, нужных человечков-кабанчиков посадили на высокие должности.
Посоветуйте ассемблер/дизассемблер, чтобы можно было без геммора одну команду транслировать туда-обратно в консольке. Сейчас пользуюсь radare2, но у них rasm2 явно поломатый, см. пик.
>>1749682 > а поч вирус сам мог писать в секцию А он и не мог. Запусти, попробуй, точно так же вывалится.
>>1749806 > чтобы можно было без геммора одну команду Возьми питон, capstone+keystone и напиши под себя. Там реально два десятка строк получится, не больше.
Там это, касперский проводит крякми2020. Может кому то интересно. Скачать задания можно без регистрации и смс. В коде страницы есть прямые ссылки. Я сам пока решил 2 и 3, а вот как 1 решать не понял. https://careers.kaspersky.ru/crackme/
>>1748697 Отбой. Я передумал. Теперь новая идея. Сделать то же самое, но для андроида. Развернуть андроидную кукушку и сделать публичной. Такой в инете я не нашёл. Похоже моя популярная будет среди независимых ресёрчеров. Принимать заказы на ручной анализ малвари на адроид, а в свободное от заказов время писать статьи. Публиковать бесплатно статьи, а внизу писать, что больше инфы для подписчиков услуги threat intelligence. Как касперский с apt репортами делает. Ну и продавать сигнатуры, хеши, детальный анализ разным антивирусам или крупным компаниям через ресейл партнёров за бугром. Годная идея? Рянок же особо не занят. Хотя спроса на андроид безопасность не много, но тренд на рост есть. Сделает такой стартап меня долларовым миллионером?
>>1750427 только самой активной малвари под андройд всего 5-6 штук наверное,лол Да и у гибрид анализса и эни рана вроде есть песочницы под ведра У первого точно
>>1750064 Во второй таске дропер не может создать запустить пэйлоуда, а пэйлоуд не может подключиться к пайпу. От админа запускать пробовал. Есть у кого так же? Как решили?
Ебаный рот, какая-то тварь с Пикабу шапку переписала Ебал твою мать уебок. Ахах прикольный сайтик да?))) Мудила пидорас блять ещё другие ебики видят эту хуйню и не стыдно даже писать в этот тред. Студентишки зумерки ебучие твари пидорасы каждому ссал в рот
>>1750884 >Есть у кого так же? У меня все нормально. >Как решили? Ставил бряк на CreateProcessW в Terminal.exe. Аттачился к процессу apof.bin. Он запакован UPXом. Расспаковал его и сдампил. Потом уже смотрел в дебагер. Очень простой крякми, но сложнее 3, как мне показалось. Сильно не бейте если хуйню сделал и можно проще, я ньюфаг пока.
>>1751032 Странно. У меня CreateProcess возвращает ошибку. А какой версии у тебя ида? У меня библиотечные функции сами не задетектились. Даже не стал снимать upx т.к. какой смысл это делать когда процесс даже не запускается. А когда запускаю вручную, то бесконечно пытается подключится к пайпу безуспешно, хотя пайп создан
>>1751041 Действительно в ней всё удобней. Я чёт очковал пользоваться пираткой на случай если в каспер на собес позовут и спросят как решал. Поэтому взял бесплатную, а там фичи до 7.0
>>1751082 Нет. Вторая самой просто показалась. Но даже её ещё не решил. А долго это будет длиться? Судя по лидерборду всего несколько человек всё решили, а длится оно уже почти месяц
>>1751676 Я с сюсера тоже проиграл. Джун чисто физически знать про него не может. И вообще это локальный инструмент с соседних форумов, лол.
>>1751701 А что-то изменилось разве? Малварь все та же, добавляются лишь слои запутывания, новых ботов никто не пишет, винда(натив) все тоже самое. Какие требование к новичку еще могут быть по твоему?
>>1752299 > Никто такие дебагеры не использует в 2020. Какие такие? WinDbg (Preview) единственный ядерный отладчик. > Только анальная IDA Pro указана. Ида универсальный инструмент, аналогам еще расти и расти. > Ring-0 Сложные атаки с задействованием драйверов никуда не пропали и даже замечен рост в последние годы. LPE/RCE/DOS/ etc, etc также на уровне ядра работают, напрямую или косвенно. Весь натив апи, которым оперирует малварь - это вызовы системных сервисов ядра.
Можно было закинуть конечно владение DBI/EMU фреймворками/движками, но джунам расти до такого.
бывалые реверсачики, подскажите пожалуйста Есть задача найти в UEFI прошивке модуль обработки нажатия F2 для входа в BIOS Setup. Согласно пик. 1, логично предположить, что он работает или во время DXE фазы или после работы CMS модулей (модуль поддержки совместимости) или после загрузки DXE. На пик. 2 - файловая система прошивки. Но проблема не только найти соответствующий модуль, на пик. 3 - дизассемблер SECurity фазы, самой первой. И если fninit, cli - понятно что и зачем на старте, то даже дальше что происходит - непонятно. Вот функции обработки нажатия, я предполагаю что логично было бы после инициализации модулей совместимости, то есть после возможности отображать картинку на экране, или в каждый исполняемый фрагмент вставить обработчик или же в векторе прерываний от клавиатуры ссылаться на него. Но это лишь догадки. проблему-вопрос когда-то поднимали челик на exelab.ru (https://exelab.ru/f/?action=vthread&forum=2&topic=26280), но там народ лишь развел руками и примерно указал сторону куда двигаться. Ссылка на файл - (http://www.lex.com.tw/download/bois/CI770A/CI770AA6.zip) Как и некто на exelab - не прошу решать, подскажите куда думать.
Заинтересовался темой Jit, в частности опенсорс asmjit. Хочу попробовать запилить простой верификатор хешсуммы сегментов кода. Допустим, по tcp я буду получать пакет с шеллкодом который считает хеш какого-то сегмента и отправляем обратно.
Можно ли посчитать в комбайн тайме размеры сегментов? Можно их перечислить, вроде бы, компилятор на своё усмотрение их делает? Есть ли разница между ос для определения размеров сегментов или начального сдвига? Как вшить в блоб хеш самого блоба вместе с этим хешем?
>>1752340 > WinDbg (Preview) единственный ядерный отладчик. Чего, блять? cdb/ntsd/kd для кого? > Ида универсальный инструмент, аналогам еще расти и расти. При этом IDA уже сосет у гидры. HexRays на свежих компиляторах спотыкается и выдает совершенно нечитабельное говно. С AVX вообще пиздец. > Сложные атаки с задействованием драйверов никуда не пропали и даже замечен рост в последние годы. Тут надо пользователей пиздить палкой, а не ковырять это говно.
>>1752340 >Какие такие? WinDbg (Preview) единственный ядерный отладчик. Речь про сиську и олли первый уже просто не работает в современных системах,второе устарело,тк 32 бит онли
вопрос навскидку: Есть простое немодальное окно, созданное CreateDialogParam, скрин1. После сворачивания-разворачивания имеем скрин2. Что надо добавить в код? Обработку WM_Size?
>>1752553 > Чего, блять? cdb/ntsd/kd для кого? > WinDbg, NTSD, CDB, and KD all share the same debugging engine, so they share all the same commands. The only differences between them is that WinDbg has GUI interface, NTSD, CDB and KD have console interfaces А ты не знал еще скажи. Так и живем.
>>1752566 Это понятно. В принципе иды и виндбг хватает.
>>1752569 Разберешься, когда время придет, основные тулзы для глубокого анализа и автоматизации рабочего процесса.
>>1753210 создавать модальное окно через DialogBoxParam? Вроде, у немодального какие-то дополнительные возможности/плюшки.. Иклезион пишет:"Независимые диалоговые окна дают вам возможность перемещать фокус ввода на другие окна. Пример - диалоговое окно 'Find' в MS Word. Есть два подтипа модальных диалоговых окон: модальные к приложению и модальные к системе. Первые не дают вам переключаться на другое окно того же приложения, но вы можете переключиться на другое приложение. Вторые не дают вам возможности переключиться на любое другое окно. " Имхо, он пизидит, устарел, т.к. на W7 фокус переключается. Далее он пишет об отлтичиях в сообщении WM_CREATE - тоже устарело. Метод тыка показал, что оба CreateDialogParam/DialogBoxParam получают только WM_INITDIALOG. п.с. спасибо, сейчас сам разберусь и отпишу.. п.с. от яндекса толку почти ноль, ничего нельзя найти!
>>1753221 > создавать модальное окно через DialogBoxParam Вообще да. Но можешь продолжать использовать CreateDialogParam. Класс для этого не нужен.
> Имхо, он пизидит, устарел, т.к. на W7 фокус переключается Что касается system modal - да, устарело еще в 9x. Application modal все еще работают. Например, стандартный диалог открытия файлов, если вызываеть его с правильным OPENFILENAME.hwndOwner будет как раз application modal, т.е., заблокирует твое основное окно.
> WM_CREATE Не знаю, что именно он там пишет, но вот как раз ради всевозможных WM_CREATE классы для диалогов и регают. Если тебе просто кнопочки, а не выебываться - эти сообщения тебе не нужны, как и кастомный класс.
>>1753221 Короче либо выкинь классы, либо осознай, что DialogProc != WindowProc. В первом для необработанных сообщений нужно возвращать FALSE, во втором - дергать DefWindowProc. Сейчас ты вызываешь DefWindowProc, когда это не нужно (менеджер диалогов от тебя этого совсем не ожидает), и при этом ты еще и проебываешь ее код возврата, который имеет значение для WindowProc. Если напишешь две разных и правильных процедуры - спецэффекты тоже должны прекратиться.
>>1753294 всё заработало! Как ты и говорил, после замены DefWindowProc на .default mov eax,FALSE .endc То есть, выходит, WndProc для DialogBoxParam и для CreateDialogParam абсолютно одинаковы!
Но мастадонт от мира asm'а Iczelion утверждает, что CreateDialogParam ближе к CreateWindowEx, ей требуется DefWindowProc. И.. его примеры компиллируются на masm и правильно работают! Залил Iczelion на диск , урок №10. https://yadi.sk/d/gAHUFiB4iQT2mA Как этот парадокс можно объяснить?!
п.с. может, есть книга, в которой всё это разжёвано?
п.с.2. как ты и сказал, можно убрать (для CreateDialogParam - примера выше) регистрацию класса (он уже предопределён), оставить в WinMain только: .while GetMessage(&msg, 0, 0, 0) TranslateMessage(&msg) DispatchMessage(&msg) .endw mov eax,msg.wParam ret Похоже, это всё наследие от WindowProc/CreateWindowEx. Для DialogBoxParam и этого не требуется..
Уважаемые asm-олды, помогите пожалуйста разобраться c простым переполнением буфера. Вот тут объяснение с примером си-шного кода: https://ctf101.org/binary-exploitation/buffer-overflow/ Вот тут 29 байт готовой полезной нагрузки: http://shell-storm.org/shellcode/files/shellcode-905.php При сборке бинарника указаны no-stack-protector и execstack. GDB говорит, что полезная нагрузка легла в стек, сохраненный RIP перезаписан - и дальше выполняется /usr/bin/bash симлинк /bin/sh. Но при этом без отладчика этот же пример с этими же входными данными валится в segmentation fault. Але, я не пони, где моя консоль?
>>1754864 ASLR включен? Даже если выключен, то границы адресов стэка в GDB != границы адресов стэка при исполнении программы вне его, во многом из-за переменных окружения.
Убедись, что ASLR выключен. Запусти программу в отладчике через env - gdb /path/to/program
пропиши: unset env LINES unset env COLUMNS
После этого команда show env не должна ничего выводить в консоль отладчика.
Продолжай дебажить прогу, найди адрес на стэке, куда хочешь писать шеллкод и вполсдедствие перенаправлять instruction pointer, и захардкодь этот адрес в эксплоит. Должно работать.
>>1754864 добавлю: Запускай эксплоит следующим образом: (python exploit.py ; cat) | /path/to/program Иначе даже корректный эксплоит может крашнуться. А вообще советую изучить либу pwntools, там есть метод interactive() для этих целей, да и вообще там есть много плюшек, которые упрощают написание эксплоита, засим можно полностью сконцентрироваться на исследовании уязвимостей, а не ебаться с написанием замысловатых эксплоитов, жонглируя потоками в шелле и пихая embedded скрипт на пайтоне/перле/баше каждый раз.
>>1755403 >>1755407 ASLR выключен, но адресация действительно различалась в отладчике и без - зааттачился к уже рабоющей программе, посмотрел/изменил перезаписываемый $rip. Спасибо за советы. Вся эта возня с пайпами, бинарным выводом башем/перлом/питоном, да чтоб порядок байт BE\LE как надо, действительно утомляет - поиграю с готовым фреймворком.
>>1759699 Ну знаешь, Zydis может и обкатан в x64, а этот диз, используется во всех продуктах bitdefender. У меня как-то больше доверия к крупной аверской конторе, чем к разрабу зудиса, который является обычным Васяном.
>>1760074 >bitdefender Работал однажды с одним из их сдк для кернелдевелопмента. У них там костыли уровня в скиплист можно добавить конкретную папку чтобы скипать все объекты из этой папки, но нельзя отдельный файл. И в документации (ридми в формате тхт очевидно без разметки и навигации) написано осторожней с этим список, а то в эти папку может спрятаться малварь. Всё максимально низкоуровнево и примитивно на плюсах, но в си стиле написано (и юзерспейс и кернелспей код). Могу ошибаться т.к. доступа к исходникам не было, но судя по самплам и докам всё именно так. Они это писали поверх одного майкрософтовского фреймворка. Оказалось они тупо обернули майкрософтовский апи своими функциями, сделали typedef, пару новых структур и свою инициализацию с деинициализацией библиотеки. А и ещё службу с нуля написали, которая проксировала вызовы из юзерспейса в кернелспейс чтобы все приложения могли кернеловские колбэки вызывать. Мы очень быстро переписали весь полезный функционал и отказались от их решения.
>>1760239 > Оказалось они тупо обернули майкрософтовский апи своими функциями, сделали typedef, пару новых структур и свою инициализацию с деинициализацией библиотеки. А как надо? Для этого документированный апи и существует. Что за библиотека то?
> А и ещё службу с нуля написали, которая проксировала вызовы из юзерспейса в кернелспейс чтобы все приложения могли кернеловские колбэки вызывать. Некоторые сервисы можно перенаправить легитимными механизмами. Или там был хук + перенаправление на драйвер?
> Мы очень быстро переписали весь полезный функционал и отказались от их решения. Т.е своровали фичи?
>>1760332 > А как надо? Для этого документированный апи и существует. Не знаю. Но большинство их экспортируемых функций были обёрткой вокруг стандартных виндосовских с почти тем же именем и точно такой же сигнатурой. Ничего они не делали кроме того, что свои аргументы передавали в стандартную функцию. Похоже было, что большинство работы они сделали только чтобы вставить аббревиатуру битдефендера в название функции > Что за библиотека то? Кажется та что на пике, но я не уверен. Можешь загуглить если вся пдф нужна > Некоторые сервисы можно перенаправить легитимными механизмами. Или там был хук + перенаправление на драйвер? Хуков не было. Был какой-то простенький самописный протокол коммуникации поверх дефолтного способа передачи буфера. И в зависимости от данных в буфере драйвер решал какую функцию с какими данными вызвать. Обычно просто на разные события ставились разные колбэки обработчики >Т.е своровали фичи? Ну почти. Там почти не было фич. Просто немного модифицировали виндосовкий апи. Мы прямо на этом апи и стали делать. Изначально руководство даже не понимало что они хотят. Отправили смотреть на разные опенсорсные технологии и этот сдк купили. Я тоже не понял что они хотят. Просто отреверсил драйвер, а дальше другая часть команды свой клон писала.
Суть в том, что они продавали либу по сложности пет проекта с функционалом, который и так почти весь в винде был.
Аноны, может кто разжевать как правильно запилить trampoline при detour на функцию stdcall? Стек и регистры портятся и всё ломается, второй день ебусь. Оригинальный кусок кода до вызова хука или после выполнять? Как правильно функцию хука вызывать и выходить из неё, чтоб не запарывало стек/регистры? Смотрел на гитхабе как в либах сделаны хуки, но нихуя не понял. Detour делаю через jmp rax по абсолютному адресу.
>>1762644 виртуалку, протектор опиши, не знаю. хотя это не малварь. малварь - winapi если винда. методы неявного вызова функций, перехвата библиотечных функций и т.п. зайди на форум реверсеров и почитай статьи как что ломалось и поймешь о чем писать. а о малварях на хакере можно почитать, чтобы понять чем заинтересовать читателя диплома.
>>1748697 >>1750427 Всё. Теперь новая идея для стартапа. Incident responce по страховке на линукс инфраструктуре для малого и среднего бизнеса плюс threat intellegence. Никаких больше кукушек. Теперь только партнёрство с интеграторами. Каждый раз когда к ним приходит небольшой энтерпрайз закупить серваки циско на 100к долларов они предлагают заказчику страховку от взлома с одноразовой выплатой или рассрочка на год и берут с этого свою комиссию. Я же взамен обещаю бесплатно среагировать и починить инфраструктуру если случится атака один раз в год. Собираю команду из пяти человек и по мере необходимости реагируем на инциденты клиентов, а когда реагировать не надо, то делаем ресёрч и рассылаем threat intellegence. Как вам идея?
>>1764127 >Всё. Теперь новая идея для стартапа. Incident responce по страховке на линукс инфраструктуре для малого и среднего бизнеса плюс threat intellegence. Никаких больше кукушек. Теперь только партнёрство с интеграторами. Каждый раз когда к ним приходит небольшой энтерпрайз закупить серваки циско на 100к долларов они предлагают заказчику страховку от взлома с одноразовой выплатой или рассрочка на год и берут с этого свою комиссию. Я же взамен обещаю бесплатно среагировать и починить инфраструктуру если случится атака один раз в год. Собираю команду из пяти человек и по мере необходимости реагируем на инциденты клиентов, а когда реагировать не надо, то делаем ресёрч и рассылаем threat intellegence. Как вам идея?
Слаженная зондеркоманда пыневиков/вагнерят/ЕНОТов/ветеранов АТО умеющих в пытки утюгом паяльником и избавляться от трупов есть? Знакомые погоны ГДЕ НАДО есть? Без всего этого threat intellegence не взлетит.
>>1764132 >Без всего этого threat intellegence не взлетит. Не. Это будет customized osint ti плюс внутренний ресёрч для malware driven ti. Типа хеши фейлом взять в разных misp комьюнити, а потом разыскать сами файлы, проанализировать и написать сигнатуры детектирования более продвинутые, чем просто хеши. Такой формат ничего из того, что ты описал не требует
>>1764140 >Не. Это будет customized osint ti плюс внутренний ресёрч для malware driven ti. Типа хеши фейлом взять в разных misp комьюнити, а потом разыскать сами файлы, проанализировать и написать сигнатуры детектирования более продвинутые, чем просто хеши. Такой формат ничего из того, что ты описал не требует
>>1764156 Во-первых я не буду рассылать вредоносы, а только сигнатуры. А во вторых это обычная практика в индустрии и сомневаюсь, что я окажусь первым, кого за это посадят
>Во-первых я не буду рассылать вредоносы, а только сигнатуры. А во вторых это обычная практика в индустрии и сомневаюсь, что я окажусь первым, кого за это посадят
ТАААК, КАНТРОООЛЬНЫЕ МААААСОЧКИ ШОУ ЧЕРНЫМИ ЧЕЛОВЕЧКАМИ ЕБАЛОМ В ПОЛ, НЕ ДВИГАТЬСЯ СУКА. @ ЧТО ТУТ У НАС ? @ ААА ФЛЕШКИ, ХАРДЫ ССДШКИ, ТАК ДЭНЧИК, ЭТО ВСЁ НА ЭКСПЕРТИЗУ. ДА, КОМПЫ ТУДА ЖЕ @ ОППА,ПРИЗНАКИ ВРЕДОНОСА, НЕ, НУ ЭТО НЕ, ЭТО ДЕЛО СРАЗУ, 272 НАХ ОТКРЫВАЕМ, ТАК ПИШЕМ СОДЕРЖАНИЕ ПОД СТРАЖЕЙ, НИКАКОЙ ПОДПИСКИ. @ ПРЕСС-ХАТА В ПРЕСНЕ @ НУ ЧТО ЧЕЛОВЕЧЕК, ЩА ТЫ РАССКАЗЫВАЕШЬ ГДЕ ДЕНЕЖКА ЛЕЖИТ, А ТАК ЖЕ ВОТ РУЧКА, ВОТ БУМАГА ЗАДНИМ ЧИСЛОМ НА ДОЧКУ ПОЛКОВНИКА. И ДА, ТЫ ОСОБО НЕ ДУМАЙ, ИНАЧЕ ЭТА РУЧКА ЕЩЕ НЕ ФАКТ ЧТО ТОЧНО В ДЫРКУ В ТВОЕМ ПЕРДАЧЕЛЛЕ ПОПАДЕТ, А НЕ НА МИЛИМЕТР ПРАВЕЕ
Угу, до стадии когда у тебя будет что можно вымогать ты не дотянешь, тупо за палку по хакерам хлопнут тебя и дадут условку или пару лет поселка которые ты к суду уже отсидишь в СИЗО.
>>1764520 А чё такого? Всякие чуваки из твитера же темы мутят. Чё я не могу? Реверсом в россии серьёзно на аутсоср только групайби и соцы занимаются. Все остальные подзабили на это направление. Но если для того чтобы закупиться тдс от групайби нужны бюджеты газпрома, то всяким мелком конторам может быть удобней услуга по подписке, которую почти никто не предлагает. И тут появляюсь такой я, который предлагает интегратору купить пакет на 100 секьюрити репортов в месяц написанных вручную опытным реверсером, а интегратор продаёт их в розницу своим заказчикам. Осталось нанять опытных реверсеров и начать поднимать бабки. А? Неужели никто не думает, что идея хорошая?
>>1765203 7.3 - это релиз какой-то группы, которая заморочилась и собрав несколько копий 7.3, вывела общее среднее, которое не содержит отпечатков пальцев. А декомпиляторы они релизить в паблик не собираются, только для своих внутри группы.
А 7.4 - это floating license installer со всеми потрахами. Вот только пароля блеять нету
>>1764841 попробуй ghidra от анб. она просто уничтожает ильфака. там есть все и она кроссплатформенная. правда жаба тяжеловата. только загугли как зонд убрать и не пользуйся с рабочей
>>1765410 Ждем, что покажет 7.4. Мне приходится изредка переносить свою базу на новую версию бинарника программы. И эти козлы любят немного менять порядок полей в классе. Поэтому вот эта фича нужна как воздух
Поясните. Можно ли в гидре (или еще где) подать на вход ассемблерную инструкцию с операндами, а на выходе получить состояния регистров, измененных данной инструкцией с операндами? Например, через stdin/stdout. Как вообще такое сделать, что-тотничего похожего нагуглить не могу...
>>1765744 В теории не должны т.к. обычные дебагеры запускают настоящий процесс, вставляет инт3 в кусок исполняемого кода, а потом по одной инструкции смотрят что в процессе исполнения поменялось. А тебе нужен какой-то эмулятор, который без запуска процесса просто скажет какие изменения делает какая инструкция. В r2 ещё кажется такая штука есть. Там кажется даже можно эмалировать код с другой архитектуры. Типа арм шелкод на х64 системе запускать и смотреть что он делает.
>>1765912 > Эмулятор, учи мат. часть. Я за матчастью и пришел. Любой эмулятор? Выше посоветовали bochs и r2, я просто пытаюсь понять, в какую сторону вообще смотреть.
>>1766498 процессор 99.9% времени перекладывает числа из регистра в регистр. Без имплементации адресного пространства для эмулируемого процесса ты нихуя не сэмулируешь. Похоже, ты слабо представляешь как работают эмуляторы. Загугли, пчел.
>>1767573 >>1764547 ну т.е. дыры искать тоже профитно. правда это не вайтхет дела, если будешь эксплуатировать или продашь. правда почти нихуя не делать и сидеть ждать когда понадобится помощь тоже умно.
подскажите: 1. куда переехал exelab? Называют "реверслаб" какой-то.. Дайте ссылку, т.к. пробовал reverslab.ru и reverslab.com - нет таких сайтов. Хуяндекс давным давно нихуя не ищёт.. 2. что с сайтом purebasic.info? Уже неделю лежит! Хостинг копеечный - 70р в месяц. Не думаю, что денег на оплату нет - скинулись бы (это же не абу..)
>>1767623 >>никуда он не переезжал теперь это подментованная параша хуже мейлача.. Ссылку давай! На васм тоже сто лет на заходил, с тех пор, как аквила свой сайт просрал со всей личной перепиской..
>>1767644 мне - не похуй, долбоёба в зеркале поищи. Надеюсь, бэдхуй хотя бы бабла срубил норм. Если в этой конторе ЗП до 500к в месяц, то уж пару зарплат он получить должен был! Для сайта такого уровня, посещаемости и целевой аудитории - это норм. За пару лямов продал дохлый форум)))
>>1767721 охлол, кто-то так и сделал. анонасы, что скажете насчет софта на exelab? нет ли там троянов? нормальные ли хэши файлов или вирустотал такое впервые видит?
Существует инструмент для динамического логирования виртуальной памяти процесса? То есть запускаю программу в виртуалке, а он следит какого размера с какими правами аллоцируются чанки в куче и что туда записывается. А я потом по завершению работы программы вижу, что программа аллоцировала кусок памяти с правами на запись и исполнение, а потом записала туда какие-то данные. А потом просто извлекаю из дампа то, что программа туда записала. Помню в каких-то песочницах была возможность дампы памяти каждую секунду собирать, которые потом можно в волатилити загрузить. Есть ещё что-то похожее?
>>1768605 >не может подобрать простой пароль >называет кого-то бомжами Может тебе ещё решение сказать.Даже на моём сральном ведре крякнулся за минут 10-20.
>>1768605 >>1768636 Как то странно время считается, можете чекнуть. Оба варианта на пике были опубликованы спустя 10 мин после регистрации. В первом варианте задания были опубликованы по отдельности 5 мин + 5 мин и каким-то образом получилось 15 мин. Как будто ко времени с начала реги прибавляется последнее время из таблицы. Во втором варианте 2 задания были опубликованы сразу за 10мин, а получилось 20 мин. По такой логике получается, что отправлять резултаты лучше по отдельности, быстрее будет. Почему так? Может я ебанулся уже.
>>1768936 >Забей. Никто всё равно не поверит, что ты решил за 20 минут Причем тут это. Ну смотри, если я решаю за 24 часа 2 задания. Отправляю 1 решение спустя 12 часов после реги. Спустя 24 часа после регистрации отправляю 2 решение. Казалось бы должно получится 24 часа, но получится 24 + 12 = 36 часов. А если отправить сразу 2 после 24 часов в результате получится 48 часов. Так понятней?
>>1768951 На сайте касперского надо указывать ник в 10 чаров из-за того что алгоритм в 3 таске принимает чанк такого размера?
Браво! Браво! Это просто охуительно! В след раз они сами ники будут раздавать: baitosos, exploit_mne_v_zhopu. Красавчики ребята, вот так надо опускать байтопетухов
>>1769759 >пользователь пролобированых в пиндосское образование калькуляторов от техасов никем иным как чистокровным пиндосом быть не может это в /zog/
>>1771127 Погоди, ты про пароль от архива или про пароль от самого крякми? Если про архив, то пароль брутфорсится. Пароль от архива: infected Если про пароль от крякми, то тут хуй знает, что сказать. Просто и без задней мысли дебажишь. Проще тебе решение спалить, алгоритм там очень простой. Насколько я помню там свитч кейс переходы, которые от входных данных не зависят, так вот бери и проходи все переходы, делай пометки.
>>1771276 >infected А это что-то вроде правил гигиены среди AV-ресерчеров (менять расширения на неисполняемые, пихать в архивы)? Подобный пасс из разряда дефолтных? Мимо-другой-анчоус.
>>1771276 >infected Спасибо. Я пробовал, но с первого раза не подошёл и я из ответов в треде подумал, что его брутить надо. А на самом деле скорее всего неправильно ввёл
>>1771384 Да,под архив и в неисполняемые чтобы случайно не запустить на основном хосте малварь,а сам инфектед очень давно используется,вроде с какого-то малварного трекера
>>1772816 А еще soft mmu, парсер РЕ/ELF/MACH-O (смотря на какую ОС пишешь), эмуляция ммап/хуки на маллок/аппаратная эмуляция по надобности и дохуя чего прочего, если ты хочешь написать нормальный эмулятор. Ну и JIT можно прикрутить, а там cache и кастомный ассемблер. Да и дебажить это чудо порой непросто.
>>1772989 Так это уже выходит не CPU эмулятор, а целый DBA фреймворк. Ну тогда еще DSE туда прикрутить, program synthesis и перекомпиляцию в blackbox режиме. А что?
Кста, ребят, есть у кого доступ к семинарам от OSR? Темы там супертоповые, но просят бабок за них моё почтенье. Пробовал гуглить, но не нашел. Может есть у кого ченить?
>>1748635 (OP) >Программируете микроконтролёры, пишете драйвера для ОС, а то и саму ОС А разве все это уже давно не пишут на С/С++? Ладно там суперпердольные оптимизации на мкк, но драйвера и аж целые ОС? Ну может пару инлайн вставок, но не от А до Я же.
>>1781182 > wc -c > -c Кого ты наебать пытаешься? Мы не дети из /s/.
В реальности там около 1к файлов, в которых стартапы и те функции из либц, которые имеет смысл писать на ассемблере (всевозможные memcpy), криптография и эмулятор FPU для x86 не знал, что его еще не дропнули!. Это на 25 семейств архитектур. Всего 10 файлов в драйверах (это пять сотых процента).
В общем, все, как и сказал >>1780094, за исключением того, что это не инлайн-вставки (фублядь, ебанутая практика), а отдельные файлы в основном один файл = одна функция.
Почти никто не пишет на асме ОС целиком, даже embedded RTOS не пишут. Из исключений разве что menuet/kolibri, но первый с огромной болью переползал на amd64, а вторая хочет arm, но уже не может.
И никто не пишет на асме драйвера, это не нужно, потому что это ОС предоставляет низкоуровневые функции для работы с железом, а драйвер перекладывает байтики.
>>1781182 Найс подстава лол На самом деле куски кода на асме есть в бутлоудерах по большей части. Дрова, допустим, все на сишке, а они составляют примерно 60% от общей кодовой базы, по весьма понятным причинам. Впрочем, если ты зайдешь на гитхаб Линукса, ты увидишь процент асм кода (1.1%) Что самое смешное, даже ПЛЮСОВОГО кода, который так ненавидит Торвальдс, больше (1.3%) кек Асм часто не нужен даже при разработке на голый мкк без ОС типа STM32. Пишешь код на С, компилируешь с флагами оптимизации - профит. Асм для реверсеров нужен, это да, но в разработке это уже атавизм в 99% случаев.
>>1780094 >А разве все это уже давно не пишут на С/С++? Мне почему-то кажется, что байтослесари со стажем уже наизусть знают, как гцц/клэнг скопмилит тут или иную хуитку. Так что кроме загрузчика наврятли что-то напишут.
>>1781284 Да нихуя они не компилят, нет магии. Вот когда можно будет четко задать спецификацию компилю, кастомный calling convention, управление регистрами, тогда да. А до сих пор приходится юзать интринсики и реализовывать свои хелперы. Прям какую-то супер логику на асме естественно никто не пишет.
>>1782217 Не нашел у него в блоге/твиттере подобных новостей, можно ссылку, пожалуйста? Он собирает донаты и одно время искал работу/подработку по соответствующей специфике, но заявлений книги в обмен на деньги вроде не делал.
>>1785711 А какой процессор-то? Шифт может быть медленнее, но при этом короче, поэтому все сильно зависит от архитектуры. Плюс у шифта зависимость по данным от инструкции, меняющей a.
Я так понимаю у IDA HOME урезанный набор поддерживаемых архитектур и нет декомпиля? В чем еще отличие от PRO версии? Апи такой же? Вот думаю, может перестать быть пиратом и купить лицушную HOME версию, ибо разрабы плагинов кряки/старые версии не поддерживают. Вместо HexRays можно заменить на декомпиль гидры или retdec.
>>1792183 Ты лучше объясни откуда у тебя появилось желание копаться в чужом дерьме? И почему ты решил сделать это работой и потратить на это единственную жизнь?
>>1792209 Понял. Спасибо. Получается на время придётся вкатиться в какой-то яп и там работать? Что выбрать тогда? Java или C++? Сказал бы ассемблер но на нём работы нет
>>1792213 В джаву легче вкатиться, работа там проще, сам ЯП тоже проще, чем плюсы. Если ты ищешь наиболее быстрого вката, иди в веб, анон. Потому что чтобы быть хорошим и востребованным байтоебом - надо не просто быть не тупым, а еще и иметь овердохуя опыта и, главное, искреннюю страсть к этому. Реверсинг, плюсы и прочая байтоебля - это не для вкатышей.
>>1792227 В бэкэнд на джаве идти тогда? Или на шарпе ибо он ближе к плюсам? Реально оттуда вообще в байтоеблю перекатиться? А то хочу именно сидеть с байтами дрочиться, но работа вот вот нужна ибо 3 курс уже, а с вуза без опыта выходить это пиздец
>>1792227 >Реверсинг, плюсы и прочая байтоебля - это не для вкатышей Реверсинг это хуйня для аутистов с суженным сознанием, которые живут отстойно и у себя в воображении строят виртуальную карьеру реверсера. Сколько там двачеров разреверсили защиту хотя бы одной современной игры? Даже до поиска бинарных уязвимостей в рашкинских анало-говнетах не развились, чтобы пердолиться на заводике с гостайной по форме доступа. Чистый манямирок и кряканье crackme друг для друга.
>>1792188 >Ты лучше объясни откуда у тебя появилось желание копаться в чужом дерьме? И почему ты решил сделать это работой и потратить на это единственную жизнь? Он ботан-ноулайфер с комплексами и ему девочки не дают. Для него реверсинг это самоактуализация-самореализация, способ вырасти в своих глазах, т.к. другие способы самоактуализации ему не доступны.
>>1793812 хз, на моем счету уже 4 CVE, 2 из которых во всемирно известном софте, уверен, что здесь такие еще найдутся, хоть и немного. Не вижу в чем проблема, какая разница, если человеку нравится этим заниматься? Вкатываться в это, тем более для зарабатывания денег, это архисложно по сравнению с многими другими отраслями, об этом и было сказано.
Какие защиты? Денуво и вмп это примитивное гауно мамонта, которое снимается автоматикой в течении всего периода существования. Про античиты вообще молчу, там уровень антивирусов нулевых.
> Даже до поиска бинарных уязвимостей в рашкинских анало-говнетах не развились Ну здесь вообще в голосину, сразу видно, что ты не в теме. Учитывая, что именно наши ребята ебут в хвост и гриву индустрию. Тот же Краш, Матросов, да и вообще все ребята, которые организовывают конференции у нас в рахе, куда приезжают шляпы со всего мира. Они настоящие первопроходцы. Там уровень гораздо выше, чем обычная бинарная эксплуатация, что является примитивом.
>>1794445 Это так круто технически, весь это реверс, и так глупо если представить что все труды идут только на то чтобы выложить крякнутый софт на торренты. Компьютерное робингудство.
>>1794446 >Это так круто технически, весь это реверс, и так глупо если представить что все труды идут только на то чтобы выложить крякнутый софт на торренты У них суженное сознание, как я и говорил. Не могут посмотреть на себя в масштабах мира и развиваться дальше, искать для себя что-то более интересное.
>>1794597 >ядро Только бутлоудер и архитектурно-зависимые части (реализация прерываний, например), но это 1% от кода ядра. Все остальное пишется на Си (пример - ядро Линукса). >libc всего 14% кода на асме, бОльшая же часть кода опять же на Си.
Вывод - асм нужен в узкоспециализированных архитектурно-зависимых местах. Целиком от А до Я крупные проекты на чистом асме не пишут.
>>1794602 >Вывод - асм нужен в узкоспециализированных архитектурно-зависимых местах. Целиком от А до Я крупные проекты на чистом асме не пишут. Ебать америку открыл
>>1796204 Нет. А вот основы incident response, threat hunting, soc analysis стоит знать. Хотя общее развитие никогда не помешает, можешь вечером под пивко коробки на hack the box ломать.
У меня получится запустить код NASM для i386 на своем i5-6200U? Не спрашивайте, зачем мне оно надо. Просто ответьте, запустится или нет? Если нет, то не знаете интернет ресурсы, на которых может запуститься NASM для i386?
>>1801022 и? Причем здесь пентестинг? Пентестеры атакуют софт/инфраструктуру существующими программами, не вдаваясь в подробности реализации атакуемых программ, реверсеры же анализируют программный код, по надобности восстанавливая алгоритмы программы. Их скиллсеты не пересекаются. Для простоты понимания - пентестер атакует "вширь", реверсер - "вглубь". Причем скиллсет реверсера позволяет ему находить уязвимости нулевого дня, пентестеры такое делать не умеют, их знания гораздо, гораздо более посредственные.
>>1801268 То есть, пентестер = скрипт кидди? Я бы вот хотел искать 0day уязвимости в софте, а не быть макакой, которая с помощью кали линукса сканит сетку и подбирает эксплойт из metasploit под софтину и CVE, так как в 99% случаев известные всем уязвимости в реальных корпоративных сетях патчатся.
>>1801409 И смысл искать 0дей пентестеру?Только если он блечер и хочет потом зашифровать всем рансомварью Компаниям по итогу нужен отчет где они проебались,а что делать с зиродеями о которых никто ничего не знает и патча для них еще нет?Разве что в жопу засунуть себе Мимо
>>1801409 пентестеры не ищут зиродеи, они не располагают нужными для этого скиллами. И да, пентестеры - макаки, по сравнению с ресёрчерами, которые реверсят и фаззят софт, и при наличии дыры, могут написать под нее эксплоит. Пенстестер != ресёрчер. Это определения разных профессий в инфосеке.
>>1801517 Я слышал, что сейчас весь хакинг проводится на уровне сетевых протоколов и бэкенда, а бинарщину залатали целиком и полностью (разве что реверс-инжиниринг и крякание софта сохранились).
>>1801619 Бинарщину не залатают никогда, пока есть программы, написанные на неуправляемых языках программирования (С/С++), а таких программ дохуя и больше. Весь известный софт - операционные системы, драйвера, прошивки, веб-сервера (nginx + apache), куча библиотек - все на Сишке и плюсах написано. Глянь в CVE, любая дыра, получившая CVSS более 7, это бинарщина (немудрено, там импакт больше, чем в любых других видах уязвимостей). Доп. пример - в ядре Линукса нашли около 600 уязвимостей в 2019 году, в ядре винды примерно столько же. Единственное что - порог входа поднялся просто в стратосферу, ибо есть очень много защит, которые нужно уметь обходить. Если в 2007 году можно было на 1 баге в ядре написать, например, джейлбрейк на айос, то сейчас для такой цели нужно зачейнить от 5 до 8 эксплоитов с разными багами, чтобы достичь такого же результата. Хотя справедливости ради стоит отметить, что и информация стала дороже, куда дороже. И еще - защитные механизмы в определенных случаях способствуют взлому (лол, да), так что это вечная игра в кошки мышки. И даже если представить розовый мир с летающими пони, где вся инфрструктура компьютерных технологий написана на Расте, а не С/С++, это все равно было бы актуально, просто ЕЩЁ сложнее. Реальность такова, что современная архитектура железа не позволяет иметь абсолютную безопасность памяти на ВСЕХ уровнях абстракций. Для того, чтобы превратить бинарные дыры в прошлый век, нужен технологический переворот в мире железа, который пока не предвидется.
>>1801672 Нужно ли перед крякингом реального софта решать разного рода CTF-задачи, связанные с переполнениями буфера и форматными строками (со всеми этими запретами выполнения кода в стеке, канарейками и ASLR)? Или достаточно просто понять, как эксплуатируются те или иные уязвимости с разной защитой, прочитав какую-нибудь книгу вроде Shellcoder's Handbook, чтобы начинать работать с софтом промышленного уровня?
>>1801697 Основная проблема вката в эту область - необходимость изучать всю историю с самого начала. Условно, первый задокументированный случай эксплуатации бинарной уязвимости - это червь Морриса, который распространялся по сети благодаря переполнению буфера на стэке в демоне fingerd. Это случилось в 1988 году, формально начиная историю проблем с низкоуровневой безопасностью. Именно поэтому любой hello world бинарщины - это классический stack smashing из девяностых с перезаписью адреса возврата в стэковом фрейме уязвимой функции. С годами придумали немало защит, которые нужно уметь все обходить. ASLR, NX, канарейки есть примерно с 2004 года, они дефолтные, причем как в пространстве пользователя, так и в пространстве ядра. Их, без вариантов, нужно уметь обходить, это база. Но есть еще более современные способы защиты, которые обходить гораздо сложнее. Например, control flow integrity, который усложняет эксплуатацию через code reuse атаки. Более того, есть песочницы а-ля seccomp, которые не позволяют исполнять абсолютно любой произвольный код от лица программы, которая в нем находится. Обойти это можно только если есть дополнительный баг, желательно даже на уровне ядра. Апогей бинарной безопасности в данный момент - мобильные ОС - и Андроид, и iOS. Там, помимо всего прочего, есть криптографическая аутентификация указателей (в iOS точно, в андроиде точно не знаю, но нечто похожее точно есть), вышеупомянутый control flow integrity на уровне ядра и гипервизор ПОД операционкой, который сэндбоксит всё ядро. Именно поэтому на белом (повторяю, тарищ майор, на белом) рынке эксплоитов эксплоит на Андроид в данный момент - самый дорогой, около 2.5 миллионов долларов (удаленное исполнение кода без надобности интеракции жертвы, только чтобы к Интернету была подключена).
С течением времени будут придумывать новые защиты и новые обходы, ибо с С/С++ на другие языки никто ничего не будет переписывать. При этом, на этих языках дохуя нового кода пишется, а сломать что-то в бинарщине очень и очень просто. Совет тут простой как валенок - учить надо все подряд, связанное с низким уровнем. Писать много кода на С и С++, отлично знать ассемблер, уметь в соответствующий тулинг, на ВЫСОЧАЙШЕМ уровне знать кишки операционной системы (Линукс/винда/мэк/андроид на выбор) и иметь определенный склад ума и очень, очень много терпения, ну и участие во всех CTFах подряд будет явно нелишним, главное в правильных категориях участвовать.
Условно, вкат в каком-нибудь 2030 году для новичков будет совсем суровым, им помимо огромного багажа знаний надо будет пройтись по всей истории бинарного инфосека, который формально тянется с конца 80ых.
>>1801697 Vulnerability research != exploit development != red-teaming/pentesting != reverse engineering. Так понятно? А на CTF разные задачи бывают, это зависит от тематики проводимого эвента.
>>1801799 > Именно поэтому эксплоит на Андроид в данный момент - самый дорогой Это самая популярная платформа с высоким уровнем обхвата и своей спецификой, благоприятной для атакующего.
>>1802156 >Это самая популярная платформа с высоким уровнем обхвата и своей спецификой, благоприятной для атакующего. Да. Но вдобавок, по этой же причине, Андроид очень сложная цель для атаки, если не самая сложная.
>>1748635 (OP) Посоветуйте книги НА РУССКОМ, которые объясняют как находить уязвимости в программах, типо как взламывать ПО, желательно вообще для чайников можно не для чайников, ну и чтобы она была свеженькая, если эт возможно конечно.
>>1804393 На русском есть Хакинг: искусство эксплойта, только она показывает лишь самые основы без тех средств защит, которые описывал этот господин >>1801799. К тому же, нет такой книги, которая научит тебя именно НАХОДИТЬ уязвимости, и быть ее, в принципе, не может. Необходимо поучиться самому разрабатывать софт идентичный тому, что используется широким кругом людей, если уже умеешь - читать какой-нибудь "Совершенный код" Стивена Макконнелла, который даст правильное видение этой самой софтины как системы. Любое место в программе, где происходит получение входных данных извне (пользовательский ввод, сеть, файл, БД) - это потенциальная уязвимость, которую следует исследовать.
Анон выше прав, английский обязателен к изучению в 2020 вообще всем, не только айтишникам, ведь это открывает тебе доступ к глобальному рынку, к сообществам и ценной информации.
>>1804484 Там анон попросил свежую, а она 2008 года. С тех пор появилось с десяток новых защитных технологий, которые надо уметь обходить. Ну и надо уметь их не только эксплуатировать, а еще и находить. Просто втупую читать код/ассемблерный листинг, сугубо вручную реверся всё и вся, заведомо проигрышная тактика. Нужно уметь в большое количество тулинга и уметь писать собственные утилиты для поиска уязвимостей.
>>1804502 Лично я пробовал читать ассемблерный листинг/код, начиная с библиотечных/системных функций, выполняющих то, что я хотел бы атаковать. К примеру, хочу попробовать написать сетевой эксплойт под Apache, атаковав его со стороны клиента - ищу recv() и копаю под нее. В любом случае, ничего у меня не получилось, к сожалению - слишком глубоко пришлось копаться в коде, я так и не нашел целевой буфер, куда данные после приема recv'ом уходят. С реверсом получилось следующим образом: я вскрыл в IDA Pro одну софтину, начал копать с той же recv() и остановился на моменте, куда попросту не ссылается ничего. Наверное, это функция, которая вызывается через указатель, и понять, что ее вызывает, можно лишь с помощью дебага - а вот как работать в OllyDBG я, к сожалению, не смог разобраться (хотя GDB вполне осилил).
>>1748635 (OP) >В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер Насколько быстро напишешь на Ассемблере программу уровня Фотошопа(или хотя бы калькулятор как в винде)?
Flare-On кто-то решает? https://2020.flare-on.com/ Почему так сложно сразу? На втором задании сижу не пойму что делать. Нужно восстановить битый PE файл накрытый upx и запустить его. Сделал ресайз секций, распаковал через upx -d, пересобрал таблицу импорта, пофиксил манифест и... и оно нихуя не работает, при запуске импорт не резолвит, хотя в IDA все ок. Что сделать то еще нужно?
>>1804507 Мое почтение за старание, но такой "грубый" подход занимает слишком много времени. Без фаззинга очень сложно искать уязвимости, а все существующие фаззеры медленные, нужно уметь писать свои.
>>1804577 Уровня фотошопа - всей жизни не хватит, такие вещи не пишут на ассемблере. А вот калькулятор можно написать. Ассемблер не для этих задач, короче.
>>1804502 Искусство эксплойта это про основу,она не сильно поменялась с тех пор книжка маленькая,полезно прочитать будет имхо >>1804555 потому что это для школьников,несерьезный уровень Под пивасик разве что вечером посмотреть сойдет >>1804577 Гвозди микроскопом не забивают,для этого молоток есть Сьеби нахуй
>>1804653 > потому что это для школьников,несерьезный уровень Всяко больше инфы для начинающих, чем во всяких книжках вроде "Искусство эксплойта" - там про обход канарейки, nx и ASLR вполне себе рассказывается.
Можете помочь с этим участком кода? Что представляют собой эти string literals: StringLiteral___28631336; StringLiteral___28558824; StringLiteral___28517688 И это: String__TypeInfo->static_fields; v10->Empty
>>1804781 Да что ты говоришь? А бутлоудер ты на чем писать будешь? А шеллкод? Ты в курсе, что 14% кодовой базы glibc написана на языке ассемблера? Да, он САМЫЙ нишевый ЯП, да, в 99% случаев для реверсинга, но у него таки есть супернишевые задачи в разработке.
>>1810356 А кто его знает. Я где-то на пятом отвалился, если правильно помню. Тогда я ещё ядро венды реверсил, вот и создал. А сейчас окончательно деградировал, сложно это для меня но получаю больше в 2 раза, лол. Вот и удивился, что тему развивают, шапку не проебали и прочее.
>>1806363 Что тебя конкретно интересует? Общих источников нет, это нишевая тема. База - asm x86/arm, С/C++/Python/Rust, cpu internals (include vmx), os internals, static analysis (disasm, control-flow/data-flow analysis, binary lifting, optimization/deobfuscation techniques - MBA theory, recompilation - compiler theory), dynamic analysis (debugging, instrumentation, binary translation), binary instrumentation (static/dynamic), fuzzing theory and tools (SMT solvers, symbolic/concolic execution, program synthesis, hardware-based profiling - PMU, etc), modern os attack surface reduction and mitigations, code reuse attacks and variations, data-oriented attacks, side-channels/hardware attacks and mitigations, итд итд.
>>1810981 Нет, они отсутствуют. Есть outdated книги, которые тебя подведут к азам, но по-настоящему нырнуть можно только запустив руки по локоть в самостоятельный ресёрч.
Господа байтоебы, кто-нибудь занимается написанием на заказ, если у меня нет 6-8 лет на то, чтобы вкатиться в асм? Есть виндовое приложение, в которое нужно внедрить несколько дополнительных функций, реализовать это в виде сторонней гуевой утилиты, взаимодействующей с приложением. Прятать процесс, обходить защиты - не надо. Плачу сотни денег. Оставляйте тележки итт
>>1811177 Конкретно про механизмы защиты от бинарных уязвимостей - то, как определять, какие именно стоят на атакуемом софте и как их обходить. Как мне понять, используется тут ASLR или нет?
>>1806762 Подразумевается, что ты выучиваешь язык программирования и идешь работать, получая каждый месяц-два оплату за свой труд. Как в этом плане может быть полезен ассемблер? >бутлоудер И что, ты будешь постоянно работать пися бутлоадеры? Так часто телефонов не выпускают, да и Сяоми с Самсунгом для этого нужны 1,5 человека. >А шеллкод? За создание и распространение вирусов вообще уголовка предусмотрена. Да и нельзя рассматривать создание вирусов как постоянный и легальный способ заработка. >что 14% кодовой базы glibc написана на языке ассемблера Ну написано и написано, что тебе это даёт? Какой профит тебе от этого?
>>1811458 >От вопросов, подобных заданному тобой, возникает желание распространять софт в искходном коде. Почему? Опенсорс проекты в основном полное говно, все норм прикладное и ОС-по(Фотошоп, Винда, МАК-ос, Майкрософт Оффис(Ворд, Эксель) - только проприетарное и с закрытым кодом.
>>1811900 >Опенсорс проекты в основном полное говно А кто сказал open source? EULA, запрещающая распростнять приобретённый исходный код - хорошее решение.
>>1811430 тут проблема не асм выучить, а наработать хватку и интуицию реверсера, уметь программировать на хорошем уровне, и если ты ищешь дыры - уметь их искать и эксплуатировать. Это очень долго и сложно в виду большого количества защитных механизмов и в целом security awareness разрабов, наряду с тестами, статическими анализаторами до релиза и т.п. Разрабам не настолько похуй на безопасность, как было было в 90ых, где нахождение и эксплуатация уязвимости требовали от хакера, как ты написал, 30-ти минутного изучение асма и базовые знания программирования. Уже давно все поменялось. Все стало куда интереснее, но сложнее.
>>1811428 Стадия разведки (через тот же nmap - дефолтная процедура) не всегда, а точнее, почти никогда, не дает тебе полную инфу об атакуемой системе, многие вещи завязаны на интуиции и на знаниях множества технологий. Насчет ASLR - этот механизм защиты завезли в 2005 году в Линукс и Винду, в 2006 году в Мэк, отключается только вручную с правами рута. Соответственно, пространство ядра это не обошло стороной, есть KASLR, делающий то же самое, только в адресном пространстве ядра. Это присутствует и в мобильных девайсах, помимо десктопных ОСей, причем мобильные ОС защищены еще больше, чем десктопные, так как там буквально все процессы находятся в сэндбоксах, включая частично даже ядро (есть гипервизор, который ограничивает ядро от произвольных действий), начиная с Андроид 9, про iOS точно не скажу.
>>1812283 Если я хочу набить руку на программировании на языках С, С++ и асм, чем именно посоветуешь заниматься? Писать свою операционную систему? Я потихоньку программирую под микроконтроллеры arm, осваивая их интерфейсы взаимодействия с периферией, но мне почему-то кажется, что там особо много кода не напишешь, тем более с библиотекой HAL. Алсо, как можно изучить кишки ОСей, тоже путем ковыряния, или же стоит прочитать что-то о них? Я читал Таненбаума (сети, ОС, архитектура), знаю большую часть терминологии и понимаю в общих чертах, как работает та или иная технология и куда следует копать, но сейчас не представляю, как выбрать цель для реверса/эксплуатации. Я читаю сейчас RE4B из шапки, понял, как орудовать IDA Pro и x64dbg (а также GDB и radare2), из эксплуатации пока проделывал только переполнение буфера без всяких защит и чтение памяти с помощью уязвимости форматной строки. @фф
>>1812364 >Писать свою операционную систему Неплохой вариант, кстати. Известные ядра, конечно, не переплюнешь, но в образотельных целях написать небольшое ядро - это отличный экспириенс. >пока проделывал только переполнение буфера без всяких защит и чтение памяти с помощью уязвимости форматной строки Это необходимая база, но если говорить о реальном мире - все уже стало куда сложнее. Учи паттерны уязвимостей, читай блоги исследователей и участвуй в CTFах. Учись атаковать кучу, не только стэк, учись эксплуатировать TOCTTOU уязвимости (классический пример: состоние гонки), более экзотические, но релевантные уязвимости, вроде type confusion. Находить уязвимости тоже надо уметь, на одном чтении ассемблерного листинга не уедешь.
>>1812515 И еще хотел узнать. >Находить уязвимости тоже надо уметь, на одном чтении ассемблерного листинга не уедешь Как осуществляется этот поиск, если я, допустим, не знаю все CWE (да и было бы крайне затруднительно знать их все, я полагаю), а одно чтение ассемблерного листинга не помогает? Выше ты (вроде) писал про написание собственных фаззеров, но как писать их, если мы заранее не знаем, что в конкретном куске кода (где со стороны сетки приложение принимает данные, или со стороны stdin) могут быть именно такие уязвимости, а не какие-то другие?
>>1812635 >Не понимаю, что ты подразумеваешь под этим. Я имел в виду примитивы эксплуатации. Например, если программа может войти в определенное уязвимое состояние, ты должен уметь определять то, что ты можешь поиметь с этого как атакующий (примитив на произвольное чтение/запись, возможность использовать указатель, память для которого была ранее освобождена и т.п., примерров достаточно много). Вкратце, если ты вдруг замечаешь что-то неладное, ты должен уметь определять эксплуатабельность, ибо не каждый баг == дыра в безопасности.
>А какие можешь посоветовать? Всех зарубежных, ребята, работающие в google project zero, самые топовые и имеют дело с наисложнейшими уязвимостями, как в плане поиска, так и в плане их эксплуатации.
>за исключением состояния гонки Состояние гонки входит в категорию TOCTTOU. Сие расшифровывается как time of check to time of use. Side channel attacks, например, это тоже TOCCTOU, но это аппаратная атака, а не программная. >>1812637 верно, только таким образом можно запрыгнуть глубоко в кроличью нору.
>>1812648 >но как писать их Ответ один - реверс инжиниринг. Ты должен понимать ДОСКОНАЛЬНО ту цель, которую атакуешь, именно поэтому harness setup для фаззинга может вполне длиться несколько месяцев для серьезных целей. Ну и не забывай про интуицию, такие вещи уже исключительно с опытом приходят.
По задания моего говновуза я должен писать на ассемблере в VS на винде. Но сука, там код с другими регистрами. При вводе/выводе на косоль вызываются, сука, магические функции. Тогда как весь интренет напичкан понятными туториалами по ассемблеру на Линуксе. Там уже другой код, но если его тупо скопипастить в Вижак, то нихера не запустится. Правильно ли я понимаю, что это разность архитектур процессоров (x64 и x32)? И заставит ли меня переписывать всё препод, если я буду на линуксе код писать. Как думаете?
>>1814434 > там код с другими регистрами Дело в другой архитектуре процессора, а не в операционной системе. Разница в программировании на асме под Linux или Windows лишь в системных вызовах. > Правильно ли я понимаю, что это разность архитектур процессоров (x64 и x32) Если регистры rax, rbx, rcx, ... то 64 битный intel, eax, ebx, ecx, ... - 32-битный intel, r0, r1, r2, .. - ARM
>>1814461 Честно говоря, не знаю еще ни одного человека, у которого бы получилось вкатиться в программирование с ассемблера. То, что ассемблер сложный - миф, он сложен не сам по себе, а тем, что на нем разрабатывать полноценный софт придется крайне долго.
>>1814459 А, стоп, я выебывался, что мне сейчас придется использовать магическую WriteConsoleA, так а по сути в любом случае, на любой архитекуре, для вывода ты просто находишь команду и передаешь в нее аргументы (через регистры). Я правильно понял?
>>1814468 Изучить операционные системы хотя бы в теории, ведь когда ты пишешь софт в юзерспейсе, твоя программа обращается к оси (в твоем случае запрашивает вывод символов в консоль), а она делает всю работу.
>>1814451 >Разница в программировании на асме под Linux или Windows лишь в системных вызовах. source и destination переставлениы. Вроде как Intel vs AT&T стили
>>1814521 > source и destination переставлениы AT&T синтаксис и в mingw-gcc есть. Точно так же, как в линуксе никто не запрещает тебе использовать ключ -Mintel.
>>1814528 > Современные OC не дают прямого доступа к устройствам из юзерспейса Всегда есть выход. Например, /dev/mem в данном конкретном случае (хотя ее активно выпиливают по дефолту).
Скачал hex-редактор, открываю текстовый файл а там пиздец. Как начать в этом разбираться? Куда копать подскажите если к примеру я хочу побайтово прочитать что там написано, может таблица по переводу есть или подобное
>>1814673 Почистишь - скушает, различия в синтаксисе самих мнемоник будут минимальные. А директивы естественно разные у всех.
>>1814667 > А правда что если ты знаешь один ассемблер, то ты знаешь их все? Почти правда. Но у каждой архитектуры свои тонкости: где-то ебнутые режимы адресации, где-то неявные регистры, где-то delay-слоты. Но ты берешь мануал, смотришь общее описание, смотришь режимы адресации, проглядываешь мнемоники за вечер и уже более-менее можешь читать код. Некоторые архитектуры отличаются сильнее (специализированные DSP с VLIW, например), на них уходит больше времени. Но все равно это гораздо быстрее, чем осилять первый в жизни ассемблер.
>>1814632 Если бы ты поискал свой вопрос в гугл, а не сюда, то нашел бы ASCII table. Или Unicode table. Или способ кодирования в UTF-8.
>>1814687 >за вечер и уже более-менее можешь читать код засада в том, что оптимально писать код под разные архитектуры - это сложно. надо знать все эти тонкости, приёмчики, как лучше всего задействовать имеющиеся средства. и вот это всё индивидуально для каждой архитектуры.
>>1815374 На моей материнке был баг в BIOS, из-за которого она не могла нормально работать с большим жёстким диском. Это приводило к невозможности загрузки ОС. Я написал небольшой workaround на ассемблере, который переназначал кое-какое прерывание и располагался в MBR. Вот так и вкатился-попрактиковался. Можно ещё ассемблерные вставки пописать для оптимизации производительности критичных участков программ. Тока это надо иметь программу и реальную необходимость. На всю историю, включая исследование проблемы ушло где-то 2 недели. А новая материнка стоила 1500 руб. Но я был нищеброд тогда, и у меня было много времени. Были бы деньги, я б не задумываясь бы купил бы новую мать и закрыл бы вопрос.
>>1815374 Я изучил MOS 6502 ассемблер по книжке, не видев до этого компьютер вживую, только на картинках. Книжка была библиотечная, переводная и посвящалась программированию на ассемблере для Apple I. В принципе, тогда я не изучил ассемблер, а просто понял как он работает. А впервые пощупать удалось в школе на БК-0010Ш. "Пидипишный" ассемблер это масло. Если на нём долго писать, то со временем можно напрямую в машинных кодах писать, настолько он прост. Залить видеопаиять сплошным цветом - как ещё проверить что ассемблер работает? Затем 8080. Вот это было время. Программы в сотни строк. Это не какой-то там тормозящий Бейсик. Это ассемблер. Ну а затем 8086, затем защищённый режим 80386, а затем интерес к ассемблеру пропал.
>>1815811 Я сижу на линухе, есть софт под линух чтобы поковырять проги на исходники? знаю про ollydb, но тот только для винды. Как вообще с RE и ассемблером дела обстоят на линухе. Виртуалка есть, но хочется нативного.
>>1815827 На линухе есть Hopper и GDB. Но вообще, линуха - это мир свободного ПО (в том числе и драйверов), которое пишут на основе проприетарщины после реверса.
>>1816020 Что не так с человеком, который в 2016 году предлагал изучать CVS? Паскаль? С человеком, который выдает свои заблуждения за истену и высрал по этому поводу несколько книг? Хороший мужик, лойс.
>>1815827 r2 попробуй. Если сразу не стошнит, будешь пользоваться и радоваться.
>>1816024 >>1816046 Я хочу вкатиться в ассемблер, но сижу на линухе, как то давно начинал, потом забросил. Теперь вот снова вернулся. Что лучше, Hopper или radare2? Или это одно и тоже? Мне так чтобы реверсить можно было и качать навык в ассемблере.
>>1816046 > Что не так с человеком, который в 2016 году предлагал изучать CVS? Паскаль? Интересно, как тот факт, что он учит паскалю, мешает ему учить программировать на ассемблере? Поссаль предлагается классической российской системой образования, и именно на нем выросло немало программистов (если говорить об академической среде), это не хорошо, но и не плохо.
>>1816149 radare2 - это дизассемблер, а Hopper - это дебаггер. Первое позволяет тебе прочитать бинарный файл, а второе - выполнить его, наблюдая в режиме реального времени за тем, что происходит с регистрами и стеком.
>>1816199 Ок, чем можно заменить тогда платный hopper? И подойдет ли nasm для изучения, или лучше yasm или fasm. Какой вообще лучше стек выбрать для линуха чтобы вкатиться и изучить? Подскажи плис.
>>1816216 > чем можно заменить тогда платный hopper? GDB с горлом хватит. > И подойдет ли nasm для изучения, Да. > Какой вообще лучше стек выбрать для линуха чтобы вкатиться и изучить? Подскажи плис. Вкатиться во что?
>>1816223 Попутный вопрос, где можно заюзать ассемблер? Какое у него практическое применение, и как можно на нем заработать? На высокоуровневых , ну и на си подобных еще можно подянть бабок, а тут? Кроме как пилить всякие шелы.
>>1816301 Не парься. Когда тебе понадобится ассемблер, ты об этом узнаешь. Учить только лишь потому, что это круто - бессмысленно. Вот интерес - это хорошая причина выучить какой-нибудь ассемблер.
>>1815806 Ну что, пацаны, собираемся для компиляции и доработок? Хотеть встроенную в IDE (VSCode или хотя бы Visual studio community) однокнопочную систему для компиляции отдельных прог и отдельную кнопку сделать заебись собрать готовый ISO.
>>1816564 Да это понятно. Но всё равно не анонимно. Тут всё нужно начинать так, чтобы не выпилили. Поэтому никаких гитхабов и анальных телеграмов, трущих посты по DCMA.
>>1816623 А хуй его знает. Понастальгировать, накатить пару патчей и запуститься на собственноручно собранной винде - разве это не кайф? Впрочем, активности что-то не видно. Утекает только то, что нахуй 99,999% не нужно.
>>1816651 Ну если только на Эльбрус в нативный 128-бит код портируете. :-)
Кстати, конфу в телеге вполне можно создать, только не палиться. Совсем не палиться, чтобы никто не подкопался. Типа исследование. Просто там отбирать людей. А конфа должа быть настолько легальна, что даже ссылки на 2ch в ней бы считались моветоном.
Но всё же я против. Если делать совсем нечего - лучше бы мне помогли.
>>1816718 Да вот систему команд придумал, а компилятора для неё нет. Собственно помощь заключается в изучении системы команд. Может какие функции полезные кто напишет, пока изучать будет. Вот как-то так.
Поможите плис, опыта в асме нету. Я тот анон что на линухе. По радару. Можно ли им просмотреть двочный всех програм, не обязательно exe файлов. Как наиболее быстро выучить язык асма, если куча процессоров, архитектур и тд, и разые инструкции. И еще разрядность. Можно ли как-то на асме смотреть системыне вызовы и процесыы на линухе? Но хочется для начала все таки освоить яп асма. Есть варики это сделать быстро.
>>1816900 Какой выучить лучше? Я в них плохо шарю, с какого начать. Могу nasm, или лучше под винду? Я вообще хз с чего начать. Я читнул про насм - как бы ниху сложного, знать регистры, как работать с памятью и пару моментов.
>>1816933 Монетизация различных функций - безгранична, в теории, начиная от дудоса например, или шантажа. Но в целом, мне бы просто начать для общего развития.
>>1816942 Спасибо, начал читать. Желание узнать асм - так как вирусология - перспективное направление и продукты на определенных рынках стоят не мало. Да и самому можно юзать тоже.
А в радаре можно любой файл дизасемблить? Какое вообще расширение можно юзать, .o , .exe? Или можно вообще все разложить на атомы? И еще, что лучше все таки, фасм или насм? Какой язык учить? Там немного синтаксис разный, но у фасма есть 64 бита.
>>1817951 Да скачал я, как запустить cutter? Качал гуевину. В оф доках даже нету как запустить софтину, только картинки. Таб тоже не помогает. Сам радар есть - r2, робины и прочее. Вот катер не могу посмотреть, не нашел файлика для запуска.
>>1817989 >>1818180 >как запустить cutter? Чел, ты не можешь пойти на github, скачать последний релиз под шиндовз и запустить cutter.exe - как ты собрался вообще что-то реверсить?
Разбираясь с кодированием текстовых данных, узнал что кодирует мой компьютер обычный неформатированный .тхт файл по-умолчанию в однобайтовой ANSI. Но его также можно "Сохранить как..." и поставить кодировку юникода. Сперва предположил что с помощью управляющих символов как-то она в файле устанавливается, затем после нескольких часов пердолинга с байтодрочерством в hex-редакторе дошло что кодировка походу скрыта от моих глаз где-то еще Также подметил то что файлы сохраняются по 4Кб размера на диске, хотя они обычно у меня в несколько байтов влазят, я путем гуглинга нашел инфу что это возможно так называемые кластеры которые создаются файловой системой, и у меня вопрос: Как разобрать этот кластер на атомы? Как достать оттуда всю инфу? Где храниться имя моего файла и расширение? Где храниться кодировка файла? Ни расширение, ни имя, ни указанной кодировки при открытии файла в hex-редакторе нету. >>1814687 Пока в процессе активного пердолинга и прошу бывалых байтослесарей помочь в моем освоении машинного кода
Для японских игор надо всю систему переводить на японскую локаль и на японсий формат записи времени потому они часто не используют юникод и вместо иероглифов отображается ??????
Бывает у вас такое: реверсишь, реверсишь, вроде бы много сделал, инструментарий написал. А потом просто в душе не ебешь че дальше делать. Это нормально?
Я абсолютно никак не могу понять, почему переменная неведомым образом изменила свое значение! Или je не работает, сука. Я четко присвоил переменной numberSign значение 0, сравнил заведомо ложное выражение, сработал флаг jne, потом я сравниваю numberSign с 1 при помощью je, и он, сука, говорит, что они РАВНЫ! Чтоооо?
>>1819796 Я просто свою программу сократил, чтобы блять весь код сюда не вставлять. Но даже такая обрезанная херня не работает, так как надо. Либо я тупой, но укажите где именно
>>1819798 mov bl, '1' cmp bl, '-' Потому что ты загружашь в bl переменную которой нет, поэтому там ноль. Потом сравниваешь с переменной которой нет, т.е. с нолем. Джамп не выполняется и mov numberSign, 1
>>1819803 СУКАААААААААА, я тупой дибил, я забыл, что если флаг не выполняется, то программа просто дальше продолжает работать и соответственно попадает в метку. Спасибо, анон
>>1819669 Не бывает. Бывает так: реверсишь, реверсишь, много сделал, инструментарий написал (говно полное), а потом просто смотришь, сколько еще нужно сделать, и думаешь, не дропнуть ли это все нахуй, и не пойти ли в грузчики.
>>1819332 > Как тогда компьютер узнает о том в какой кодировке открывать файл Эвристики. Например, если попытаться декодировать файл как UTF-8, и при этом не попадется ни одного невалидного символа, можно предположить, что это UTF-8. Если попытаться открыть как cp1251, и кириллица будет перемешана с латиницей, то это была нихуя не cp1251, а скорее 1250 или 1252. Кроме эвристик, как уже сказали, есть BOM, а еще можно тупо предположить UTF-8 по умолчанию, или предложить пользователю задать кодировку в настройках.
>>1820671 https://tproger.ru/translations/reverse-engineering-basics/ прочитал это. По сути - советуют и разибрают язык Си. Попутно тупо смотрят код на ассемблере. Все. Мне интересно в чем суть и какой алгоритм работы в ре. Смотреть код Си в дизассембеле и графы? На что тогда стоит обращать внимание? Не скрою, я пока слабо понимаю как писать шелы всякие и эксплойты, но для себя интересно. Например, я не понимаю как написать прогу или ее исправить а асме чтобы она каким-то образом сделала то что мне надо. Например, локер, или чтобы тупо вырубало комп, или что-то в этом роде. Хз как объяснить даже. Но как-то так.
>>1816024 Наивный ты На деле проприетарщина спиздила овердохуя идей из опенсорса. Единственный явный продукт реверсинга в опенсорсе - это дрова Noveau для видеокарт Nvidia, но это только потому, что нвидия мрази ебаные и в этом плане им похуй на опенсорс от слова совсем, хотя в одночасие они используют ядро Линукса для своих новых железок (нвидия не только видеокарты производит, а полупроводники в целом).
Не гоните ссаными тряпками - я не тролю а действительно этого хочу. Как научиться писать на машинных кодах? Ну прям открывать hex-редактор, ебашить байты и запускать сразу то что вышло. Как этому научиться? Пока осилил только системы счисления и различные операции с числами в них и виды кодов:прямой, обратный, дополнительный. Сейчас читаю про кодировку разных данных: текст, графика, видео, звук и тд. Куда копать посоветуете чтобы научиться все программы в нулях и единицах писать? Пока среди следующий целей навернуть "архитектуру компьютеров" таненбаума да и с hex редактором играться, если что учу просто для души
>>1821540 Вероятнее всего тебя интересует архитектура x86. Ты открываешь официальную документацию Intel по ней. Там расписано всё: все инструкции процессора, регистры, как работать с всем этим хозяйством. В т.ч. там расписаны все машинные коды для инструкций, и их формат. Штудируй это. Только, боюсь, скорее всего ты надорвёшься. Слишком сложно и муторно.
Я вот сам думал освоить сиё. Хотел написать либу, которая бы во время работы программы генерировала машинный код, исходя из некого высокоуровнего представления, и позволяла его запустить. Очень полезно, когда например юзер задаёт какие-нибудь формулы (как визуализация в winamp), и надо их быстро-быстро обсчитывать. Вроде в природе существуют уже готовые библиотеки для генерации машкодов из ассемблера.
>>1821561 >когда например юзер задаёт какие-нибудь формулы >и надо их быстро-быстро обсчитывать Для такого лучше LLVM IR генерировать, а потом компилировать.
Редактирование самих машинных кодов будет полезно, когда в уже работающей программе надо заменить jump на один адрес в jump на другой адрес или по другому флагу.
Позанимайся реверсом 10 лет и начнёшь как в матрице видеть за цифрами. А вообще ты совсем что ли ебанутый? Для этого как раз асм и придумали. Я даже в теории не могу представить, нахуя это нужно. Если хочешь что-то ручками пропатчить по-быстрому (нопами, например) - всё равно сначала смотришь дизасм, идёшь на это место в бинарнике, пишеш. Основные оп-коды сами по себе учатся.
>>1822916 Ну про матрицу слишком гиперболизировано - поднять ту же спецификацию по ПНГ или ЖПЕГу то запись там такая что никак уж не начнешь видеть цельную картину - оперативной памяти мозга не хватит чтобы каждый пиксель мысленно сопоставить
Короче, функция DrawOTag рисует изображение из связного списка. Список выглядит пик2, в списке указаны адреса на примитивы в которых указыны адреса на след. примитивы. Но адрес следующего примитива может быть не адресом в списке. То есть адрес в списке может указывать на несколько связных примитивов. Сделал дамп памяти, теперь надо написать простенькую прогу которая найдет в примитивы в памяти. Исследовать этот кусок, найти текст который рисуется прямоугольниками. Найти что именно рисует эти прямоугольники, и заменить на то что нужно.
Анон, привет. Я решаю разные ситиэфы в категориях эксплуатации и реверсинга, порой подглядываю в райтапы, если знаний не хватает, тем самым заполняя пробелы, но чаще всего дохожу до конечного решения самостоятельно. Проблема в том, что я могу понять как подступиться к ситиэфу в плане решения проблемы (допустим, если надо найти уязвимость и эксплуатировать ее), но все, что касается реальных программ, вгоняет меня в ступор. Как правильно проштудировать все векторы ввода данных в программу? Если мы говорим о Линуксе, то те же strace/ltrace не скейлятся на крупные программы, я уже молчу о таких монстрах, как браузеры, состоящие из множества программных модулей, порой напрямую друг с другом не связанных. Как правильно делать энумерацию векторов ввода? Выход один - реверсинг наощупь? А если программу нельзя запустить, нужно искать решения в лице эмуляторов? Вопросы мб слишком общие, но я буду рад, если кто-то направит меня в нужное русло и/или попросит конкретизировать каким-либо образом вопрос. Заранее спасибо.
>>1823915 Морер У.Д. Язык ассемблера для персонального компьютера Эпл. (Apple Assembly Language a course of study based on LazerWare software, 1984) Монография. Перевод с английского И.П. Пчелинцева, К.Г. Финогенова. (Москва: Издательство «Мир». Редакция литературы по информатике и робототехнике, 1987)
Как вкатиться в вирусологию, чтоб прям по научному. С классификацией и тд, почитал в сети, куча всего, интересно. Хочется как-то упорядочить. Систематизировать знания. Чтоб понимать чем шелл отличается от бекдора, а троян от руткита. Пожалуйста. В телеге дох инфы, но там такая каша, что я аж запутался.
>>1824032 Унесколько регистров, несколько операций, флаги, условные и беусзловные переходы. запись/чтение в память/изпамяти, вызов подпрограммы и возврат из неё,
Операции сложения и вычитания есть везде. Почти везде есть операции умножения/деления.
Операции AND OR, XOR. Оперции сдвига в право/влево.
>>1824015 >научному Малварь - сверхпримитивный софт в 99 процентов случаев,лол Нет никаких научностей,реверс ботов и малвари в целом = табуретка на уроках труда >Чтоб понимать чем шелл отличается от бекдора, а троян от руткита удаленный шелл - доступ к консоли Бекдор - закладка в коде позволяющая получить доступ через нее Троян - малварь замаскированная под что-то руткит - любая программа скрывающая как-то свое присутсвие на компе Не важно р0/р3 это все гуглится Не занимайся хуйней,не иди в индустрию торговцев страхом - антивирусов Там даже платят хуево А так есть книжка Вскрытие покажет - практический анализ вредоносного ПО Неплохая и новых еще поновыходило,может завтра скину в тред ссылки
>>1824206 вскрытие покажет немного старая(2011 год),но в целом там все ок из нового я хотел скинуть mastering malware analysis,ее недавно еще раздавали всем бесплатно но она только на англ
>>1824581 Какой впизду бот? Или это сорт оф подъеб? Дельный совет - ищи спецификацию и читай, там все должно быть вплоть до бита расписано что и куда и как преобразуется