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


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

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
565 46 246

ASM & Reverse engineering №11 /asm/ Аноним 28/01/20 Втр 14:02:45 15847161
image.png (1486Кб, 1000x1000)
1000x1000
image.png (217Кб, 762x540)
762x540
image.png (3397Кб, 1200x1152)
1200x1152
image.png (54Кб, 799x409)
799x409
В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).

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

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

Книги по RE:
Денис Юричев: "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна! Вот прямая ссылка https://beginners.re/RE4B-RU.pdf
Рикардо Нарваха: Введение в реверсинг с нуля, используя 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

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

Для ковыряющих винду и софт под неё, сайты с описанием структур со смещениями и разными версиями оных:
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://2ch.hk/pr/arch/2019-08-15/res/1406213.html
№9 https://2ch.hk/pr/arch/2019-11-11/res/1439555.html
№10 >>1499956 (OP)
Аноним 28/01/20 Втр 20:06:39 15850532
перекатился
Аноним 29/01/20 Срд 01:27:01 15852303
Sexas
Аноним 30/01/20 Чтв 10:58:50 15860194
Аноним 31/01/20 Птн 10:33:56 15867855
ss (2020-01-31 [...].png (30Кб, 774x352)
774x352
Господа, может кто-нибудь опознать, что это за странная FAT-подобная хрень? Некоторые байты совпадают с ожидаемыми для BPB, но непонятный алфавит в середине не вписывается никак и никуда. Может кто сталкивался?
Аноним 31/01/20 Птн 11:03:18 15867926
>>1586785
Ещё смущают, конечно, что поля Volume Label и System Identifier идут в двух копиях друг за другом.
Аноним 31/01/20 Птн 17:06:30 15871277
>>1586019
Хрена он старый стал. Валил же молодым-шутливым.
31/01/20 Птн 18:42:00 15872168
>>1587127
Это еще 18-ый год, представь какой он сейчас..
После выхода гидры наверное вообще лысеть начал.
Аноним 02/02/20 Вск 13:19:29 15891679
image.png (2604Кб, 1728x1080)
1728x1080
https://niemand.com.ar/2020/01/
Этот же пчелик >>1583238 потрошит XignCode3 античит так понимаю, какое-то древнее решение для таких же древних корейских ММО-дрочилен..
02/02/20 Вск 16:44:41 158933410
1574188915523.jpg (84Кб, 1000x1024)
1000x1024
Аноним 02/02/20 Вск 17:30:37 158940311
>>1589334
Что не так? Код линейный все перед глазами, не нужно лазить джва часа по ебаным хедерам и изучать архитектуру проекта.
Аноним 03/02/20 Пнд 02:58:49 158997512
Господа. Как добавить свою кнопку в сторонний интерфейс (лучше вкладку)? Обрабатывать вызов думаю при помощи proxy dll
Аноним 03/02/20 Пнд 06:06:47 158999413
>>1589167
Не понял, он что просто взял их драйвер и сразу же закинул в иду? Разве он не должен быть хоть как-то обфусцирован? Тем же VMP накрыть можно было.
Аноним 03/02/20 Пнд 20:48:27 159085214
>>1584716 (OP)
А есть ли какой-нибудь набор ассемблеровских задач с автоматической проверкой аля тимус? Не обязательно на русском.
Аноним 05/02/20 Срд 10:18:37 159210115
Аноним 06/02/20 Чтв 17:48:30 159347716
Кто-нибудь разворачивал песочницу для анализа малвари? Хочу в итоге получить что-то типа any.run или hybrid analysis.
Аноним 06/02/20 Чтв 17:51:34 159348317
https://pastebin.com/bS5LH78h

diff между двумя сишными программами, вторая из которых вычисляет разность квадратов буквально — aa - bb, а первая — по формуле сокращенного умножения (a + b)(a - b). При профилировании не удаётся обнаружить разницу в быстродействии.
Почему?
Читнув стаковерфлоуца, я естественно нихуя не понял деталей, но по всей видимости современные процессоры просто очень быстро умножают (за 1 такт вроде). Это верно? И если да, как это реализуется в двух словах?
Аноним 06/02/20 Чтв 22:38:04 159380618
>>1584716 (OP)
Что за тихий ужас на втором скрине?
Аноним 06/02/20 Чтв 23:59:53 159388919
>>1593806
Гидра же. Оп - хуй засланец фбр. В следующем треде вернем идочку в шапку.
Аноним 07/02/20 Птн 00:55:19 159390920
>>1592101
На последнем БлэкХате АНБ-шные разрабы в своем докладе явно дали понять, что открытая лицензия - это не щедрость, а способ приучить к их поделию новых реверсеров ясен перец за счет потенциальных IDA юзеров, ну и халявные коммиты от комьюнити, вместо попыток догнать иду за свои деньги.
>>1593806
Анализ какой-то малвари в гидре, насколько я помню.
Вместо Эдди в шапке также должен был быть сэмпл в IDA, но Абу-поделие наебало меня с превьюхами, так что сорян.
Так-то я не фанат NSA, просто в этой области кроме софта от алчного Ильфака и подсматривающего дяди Сэма альтернатив не видно.
07/02/20 Птн 01:02:55 159391221
>>1593909
> приучить к их поделию новых реверсеров
У меня глаза вытекли от одного скрина. Как реверсить без глаз?
Аноним 07/02/20 Птн 08:16:26 159400222
>>1593483
>При профилировании не удаётся обнаружить разницу в быстродействии.
А gprof что говорит?
Конечно не эксперт, но в твоем листинге вроде все как ты и описал:
- в первом случае вычли/сложили, результат перемножили;
- во втором оквадратили и вычли;
Аноним 07/02/20 Птн 12:03:18 159412023
>>1593912
Это тактика USA чтобы обезоружить наших реверсеров
Аноним 07/02/20 Птн 12:56:21 159415624
>>1594002
>но в твоем листинге вроде все как ты и описал
Я об этом и говорю. Во втором два умножения, но он не медленнее первого (умножение — это ведь цепочка сдвигов и прибавлений к аккумулятору?).
А в асм я полез только чтобы удостовериться, что это не компилятор выёбывается и оптимизирует. Кстати, а таки почему он не оптимизирует математику? Ладно сегодня, допустим суперскалярные процы, но ведь в восьмидесятых при работе с какой-нибудь криптографией разложение по формулам сокращенного умножения на уровне компилятора могло здорово выручить. Вероятно где-то в более высоких флагах оптимизации это есть.
Аноним 07/02/20 Птн 14:18:29 159420925
>>1594156
Хм.. Наверняка я не правильно понял, что именно ты хочешь, но может быть эта табличка окажется полезной? Там всякие latency, throughput, потраченные uOps-ы для разных инструкций под кучу архитектур:
https://uops.info/table.html
Аноним 07/02/20 Птн 18:17:01 159441726
>>1593483
Я мимокрокодил и не эксперт, но во-первых в современных cpu несколько alu (4?), т.е. у тебя могут параллельно считаться (a x a) и (b x b) потом складываться, аналогично (a+b) (a-b) и потом перемножаться, в обоих случаях по времени будет 1 сложение и 1 умножение.
Во-вторых, там какая-то магия побитового унможения в столбик, вроде бы. Что такое бинарное умножение в столбик? Это сумма сдвинутых на 1 бит копий одного множителя, на соответствующий бит из другого множителя.
Пример из вики
    1011
    1110
========
    0000
   1011
  1011
 1011
========
10011010
Как это делается в схемотехнике? Сдвиг это очень просто, подключаешь выход проводом к следующему входу сумматора, а умножение на 1 или 0 будет просто маской пропускать или не пропускать ток.
Аноним 07/02/20 Птн 18:47:18 159445327
>>1594417
>во-первых в современных cpu несколько alu (4?), т.е. у тебя могут параллельно считаться (a x a) и (b x b) потом складываться, аналогично (a+b) (a-b) и потом перемножаться, в обоих случаях по времени будет 1 сложение и 1 умножение
Тут да.
>там какая-то магия побитового унможения в столбик, вроде бы
Я ведь так и сказал "цепочка сдвигов и прибавлений к аккумулятору".
Но всё равно что такое один раз сложить и что такое сложить n раз, где n - количество единиц в одном из множителей. И это у тебя ещё пример несложный, а что если у нас 0000ffff * 0000ffff, где будет охуиллиард carry скапливаться в одном разряде (и потому не получится всё проссуммировать без хранения промежуточных результатов)? Но так или иначе, концептуально я вижу возможность это реализовать, а раз я вижу, значит видят и инженеры.
Короче зависит от архитектуры, если это какой-нибудь спектрум или восьмибитная приставка то мы говорим бизнес.
Аноним 08/02/20 Суб 03:20:27 159498028
>>1594417
> Во-вторых, там какая-то магия побитового унможения в столбик, вроде бы
Не совсем так. Есть алгоритмы слегка быстрее (Бут тот же), их и используют. И да, все считается в железе и параллельно, места на кристалле требуется много, поэтому в древних чипах умножения могло не быть вообще.
Аноним 08/02/20 Суб 11:40:14 159510829
>>1594980
Ну я говорю не эксперт, с ходу не нагуглил какие алгоритмы используются. Бут может и не используется, он же для каких то доисторических мамонтов. К тому же написано, что он выполняет 2-3 цикла. А анон писал, что вроде за 1.
Аноним 09/02/20 Вск 01:24:44 159595830
Ананасики, хочу вкатиться в реверсинг и поиск уязвимостей в прошивках (мобилы и прочая эмбедщина). Есть годные источники для сабжа, желательно на английском, офк?
Аноним 09/02/20 Вск 11:13:11 159611131
Аноним 09/02/20 Вск 14:05:25 159619632
>>1596111
В шапке ни слова о прошивках
Аноним 09/02/20 Вск 19:43:48 159653133
Как сохранить текущее состояние потока с последующей возможностью восстановления? Все регистры, все флаги итд.
Аноним 09/02/20 Вск 19:44:34 159653234
>>1596531
Ах да забыл уточнить. Без использования прерываний и каких-либо системных механизмов.
Аноним 09/02/20 Вск 19:48:25 159653735
О, годная тема треда, задам вопрос здеся. Пишу компилятор с нуля, направьте в какую-нибудь конкретную спеку, как сгенерить простейший debug инфо для gdb. Читал оф. "документацию" про дварфы-стабсы, в целом это понятно, но блджад нигде не написано конкретно, как бинарно должен выглядеть дебуг-файл. Если смотреть на высеры из-под gcc то это что-то типа coff файла, но секции в нём некорректные, заполнены хуйней-малафьей. Помоги, анон.
Аноним 09/02/20 Вск 19:51:40 159654336
>>1596537
Пердоль свой формат, даже у майкрософт подобные вещи не документированы, что уж говорить про линь.
Аноним 09/02/20 Вск 20:13:15 159658537
>>1596543
Чот нет желания пилить свои редакторы и дебаггер, но видимо таков путь, штож.
Аноним 10/02/20 Пнд 12:59:51 159713038
Что, помимо написания драйверов, можно еще делать на АСМе?
Поступил в универ, начали изучение ассемблера. Так интересно мне еще никогда не было. Хочу дальше копать в этом направлении, только надо понять чем можно будет заниматься по итогу за ежемесячное денежное вознаграждение.
Аноним 10/02/20 Пнд 15:18:58 159728239
>>1597130
Офк ничем, в 2020 асм нужен максимум реверсерам. Учи джава скрипт и не выебывайся.
Аноним 10/02/20 Пнд 16:46:50 159734840
>>1597130
В драйверах ты максимум используешь ассемблерные вставки, бОльшая часть кода драйверов написана либо на Си, либо на С++ (если говорим про юникс-подобные системы, то на Си).

На асме пишут только бутлоудеры и архитектурно-зависимые подчасти операционных систем. В подавляющем количестве случаев байтоебством занимаются на си и крестах а хипстеры еще и на расте, а так асм для реверсинга нужен, и то не всегда нужно читать чистый асм, так как есть декомпиляторы
Аноним 10/02/20 Пнд 17:05:01 159736441
>>1597282
Да ты охуел? Вот мне например понадобился свич контекста. И как мне его без асма пердолить? >>1596531 - кун. Помогайте давайте.
Аноним 10/02/20 Пнд 19:01:55 159743542
>>1596531
Так руками же. mov [state.rax],rax и так далее. pushf/pop [state.rflags], fstsw, fnstcw, fnstenv, stmxcsr вот это все. Никакой магии не существует. Системные механизмы делают точно так же.

С другой стороны:
> Вот мне например понадобился свич контекста
У тебя есть те самые системные механизмы. Те же фиберы в винде, SetThreadContext, через исключения еще можно сохранять/восстанавливать. В сишечке setjmp/longjmp тоже за тебя уже написали. Интринсики опять же. Писать на асме не так уж и нужно хотя на асме все же приятнее - весь контроль у тебя, и делать что-то странное - проще.
Аноним 10/02/20 Пнд 19:03:55 159744043
>>1597130
Компиляторы, щито ещё.
Аноним 10/02/20 Пнд 19:04:25 159744144
Т.е. не на самом асме, а со знанием оного.
Аноним 10/02/20 Пнд 19:36:42 159745945
image.png (24Кб, 466x679)
466x679
>>1597435
> Так руками же
Тогда rsp сломается, мне его тоже сохранить нужно. Можно конечно его вычислить, но как то плохо попахивает такой код (пикрил). Или и так пойдет?

> У тебя есть те самые системные механизмы
Часть регистров затрут же. Да и ходить в ядро слишком накладно. Исключения хороший вариант, но тоже дорого.
Аноним 10/02/20 Пнд 19:40:01 159746146
>>1597435
> Те же фиберы в винде
Вот в эту вещь тоже не въезжаю. Это вообще что? Сколько читал в про эти волокна, так и не понял что это такое и как их использовать.
Аноним 10/02/20 Пнд 20:44:06 159750747
>>1597459
> Тогда rsp сломается, мне его тоже сохранить нужно
Как сломается? Ты его изменишь, да, но при восстановлении все вернется, как было.

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

> волокна, так и не понял что это такое и как их использовать
Эта штука как раз для переключения контекста (есть еще user-mode scheduling, но оно тяжелее). Фибер - это выделенное место под контекст и выделенный собственный стек, больше там нет нихуя. При переключении (SwitchToFiber) с фибера на фибер текущий контекст сохраняется в стейт первого фибера, из стейта второго фибера загружается новый контекст (т.к., это включает rsp, то и стек переключается). Все происходит в юзермоде, достаточно быстро. Можно делать, например, корутины: https://nullprogram.com/blog/2019/03/28/
Аноним 10/02/20 Пнд 21:37:01 159755948
> Эта штука как раз для переключения контекста
Значит это то, что мне нужно, но насколько я понял, у фиберов нет интерфейса для модификации контекста?

Что-то я запутался совсем. Мне нужно сохранить контекст во время вызова моего колбека системой, далее передать управление на мой обработчик с указателем на структуру сохраненного контекста, проанализировать контекст возможно модифицировать и восстановить его. Как это правильно реализовать?

Аноним 10/02/20 Пнд 22:30:10 159761449
>>1597559
> нет интерфейса для модификации контекста
Нет. Ну точнее, у тебя есть указатель на структуру, но она хоть и известна, но не документирована.
> Мне нужно сохранить контекст во время вызова моего колбека системой:
Ааа, ну ты все правильно делаешь тогда, тогда можно и в стек. Или можешь систему заставить делать это вместо тебя (через SEH или VEH - классика): https://pastebin.com/raw/CFWb3aXw
Аноним 11/02/20 Втр 18:53:06 159841650
image.png (500Кб, 606x801)
606x801
Подскажите, плиз, что можно почитать толкового про малварь и ее вивисекцию кроме пикрелейтед?
Аноним 11/02/20 Втр 22:42:58 159871651
Ку, реверсач. Чем могут быть опаснее дыры в прошивках, чем дыры в обычном софте? Какие подводные?
11/02/20 Втр 23:13:48 159878652
Аноним 11/02/20 Втр 23:20:21 159879553
>>1598786
То бишь, дыра в софте в пространстве пользователя == дыре в прошивке, которая под ОС крутится? Вопрос в разнице опасности и импакта от эксплуатации таких дыр.
Аноним 11/02/20 Втр 23:32:28 159880554
>>1598786
Спасибо тебе большое.
11/02/20 Втр 23:37:13 159881355
>>1598795
>То бишь, дыра в софте в пространстве пользователя == дыре в прошивке, которая под ОС крутится?
где я это сказал или хоть что-то подобное?
>Вопрос в разнице опасности и импакта от эксплуатации таких дыр.
Их тяжелее фиксить,затрагивают большее кол-во машин,и могут приводить к более сильным последствиям
Ты такой ответ хотел получить?
Аноним 11/02/20 Втр 23:50:03 159883356
>>1598416
Learning Malware Analysis, Monnapa K.A
Learning Malware Cookbook

>>1598795
Допустим есть дыра в прошивке их там и так дохера, что дальше то? Такой баг энивей удаленно не проэксплуатировать. Баги нужно искать в кривых вендорских тулзах, которые имеют доступ к прошивкам, SMM и прочему.
Аноним 12/02/20 Срд 01:14:11 159890057
>>1598833
Почему удаленно не эксплуатировать? А если это прошивка сетевой карты?
Аноним 12/02/20 Срд 01:35:27 159892058
>>1598716
> Чем могут быть опаснее дыры в прошивках, чем дыры в обычном софте?
Заставить юзера обновить прошивку (или даже просто обновить прошивку) может быть гораздо сложнее, чем обновить софт на обычном девайсе.
Аноним 12/02/20 Срд 18:25:16 159941959
Я правильно понимаю, что установка брейкпоинта в произвольном месте выполняется путём записи int 3, с последющим откатом на предыдущее значение?
Аноним 12/02/20 Срд 18:49:26 159944560
Кароч всё, прочитал.
Аноним 12/02/20 Срд 23:45:11 159977361
>>1599419
> с последющим откатом на предыдущее значение
Да. Но с проверкой, что int3 воткнут именно отладчиком. А еще есть, например, debug-регистры. В них можно просто записать адрес и ничего не патчить.
Аноним 13/02/20 Чтв 00:54:46 159986862
О, заебок, наконец-то мой говноекзешник стал валидным и может показывать меседжбокс, это прогресс. Всем спосибо, кста дебаггер https://x64dbg.com/ пиздатый, можно в шляпу добавить.
Аноним 13/02/20 Чтв 22:50:50 160094463
Кстати про int3
Сейчас экспериментирую со службами. Просто так в иде их не запустить. Нужно установить и атачить дэбагер. А чтобы она в нужном месте остановилась перед атачем приходится вставлять туда бесконечный цикл. Можно ассемблерной вставкой инт3 туда впихнуть и чтобы дэбагер сам потом с нужного места запустился? Как такая вставка будет выглядеть в msvc?
Аноним 14/02/20 Птн 04:01:30 160116664
>>1600944
> Можно ассемблерной вставкой инт3 туда впихнуть
Можно. DebugBreak(), или можешь напихать всяких int3 или ud2, но разве студия научилась в ассемблерные вставки для 64-битного кода?

> чтобы дэбагер сам потом с нужного места запустился
Существует вот такой говнокод, который в 2020 требует множества мелких правок перед использованием: https://pastebin.com/raw/9jZUPfae
Аноним 14/02/20 Птн 14:21:50 160154565
Ананасики, всем хэллоу уорлд. Тут есть аноны, которые разрабатывали прошивки (на си или крестах - не суть важно)?
Хочу вкатиться в разработку прошивок для умных девайсов и прочей имбэдщины (не спрашивайте почему я такой ебанутый, просто люблю лоу лвл, и к тому же, у меня в стране это востребовано, поэтому голодным не должен остаться).
Что посоветуете почитать? Насколько нужно быть матерым в железе? А то я из мира софта, а о железе знаю только названия нескольких интерфейсов вроже uart, spi, i2c, jtag... Я так понимаю, что разработка прошивок - это 85% времени втыкания в datasheet девайса, под который пишется прошивка, но тем не менее, хочу какой-нибудь мало-мальски структурированный источник информации по сабжу. Ну и имеются в виду прошивки, которые крутятся на борде c процессором, а не без оного (слышал, что есть разница, ибо там, где нет проца, все пишется на fpga или верилоге, могу ошибаться).
О себе вкратце - студентота, знаю Си, кресты, немного внутренности Линукса (и вообще Линукс няшка, да, я линуксоид), асм х86 и немного знаю асм ARM, имею опыт в базовом реверс-инжиниринге. Ну и сети, алгоритмы, структуры данных, офк, тоже.
После энного кол-ва опыта обязательно захочу вкатиться в безопасность прошивок (реверсинг и эксплуатация). Но без опыта в разработке оных, я полагаю, смысла сразу прыгать в инфосек сей отрасли не имеет смысла (или я ошибаюсь?), поэтому и прошу о помощи.
Дай наука здоровья всем, кто ответит.
Аноним 15/02/20 Суб 03:30:31 160230266
image.png (104Кб, 960x965)
960x965
Смотрите какая сочная вакансия в др. веб появилась. А я все боюсь на вакансию джуна ковыряльщика малвари откликнуться. Так никто и не узнал, какую они вилку предлагают?
Аноним 15/02/20 Суб 04:47:10 160232267
Аноним 17/02/20 Пнд 10:55:18 160496168
Собственно, как детектить изменения в переменной из юзермода с помощью прерываний? Я вполне могу чекать её бесконечным циклом раз в секунду, но это глупо и неинтересно.
Я бы даже не спрашивал, но тяжело самому доки найти.

Если что, делаю это из исходника на крестах, который потом компилируется и хукается через одну библиотеку. В распоряжении адрес глобалки и куча функций в неё пишут, не одна к сожалению.
Аноним 17/02/20 Пнд 16:20:47 160529969
>>1604961
Установить hardware breakpoint на write event по адресу. Загвоздка в том, что их нужно ставить на каждый поток отдельно, максимальное количество брекпоинтов - 4.
Аноним 17/02/20 Пнд 16:25:08 160530470
>>1604961
>>1605299
Ах да, хэндлить желательно через VEH выше анон скидывал код, код STATUS_SINGLE_STEP вроде как.
Аноним 17/02/20 Пнд 16:38:00 160533071
Ну что, БАЙТОСЛЕСАРИ, как вам работается на ЗАВОДЕ? С премией за отлизывание ануса в совковому деду-пердеду в месяц чистыми хоть 500$ выходит?

А мы тут вашего залетного КУЗЬМИЧА в кружок отпепепетушили, принимайте пополнениезабирайте назад.

>>1605269 →
>>1605259 →
>>1605243 →
Аноним 17/02/20 Пнд 19:07:09 160552172
js.jpg (55Кб, 429x582)
429x582
>>1605330
> измеряет результат выражения, которое даже сраный v8 осиляет выкинуть за ненадобностью
> не знает, что каждый первый компилятор в состоянии сам заменить % степень_двойки на & (степень_двойки - 1)
Аноним 17/02/20 Пнд 20:06:25 160556973
>>1604961
>>1605299
> максимальное количество брекпоинтов - 4
Существует еще вариант c PAGE_GUARD/PAGE_NOACCESS:
- ставим странице, содержащей интересующую переменную флаг PAGE_GUARD;
- ловим STATUS_GUARD_PAGE_VIOLATION (при этом ОС сама сбрасывает PAGE_GUARD), обрабатываем доступ, как нам нужно, взводим TF, продолжаем выполнение;
- ловим STATUS_SINGLE_STEP, обрабатываем значение переменной после доступа (если нужно), возвращаем PAGE_GUARD (если это была наша GUARD_PAGE, а не сама программа в них играет, и не ОС стек расширяла), чтобы продолжать и дальше ловить доступы, продолжаем выполнение.

Это гораздо медленнее, чем вариант с hardware breakpoints, потому что у нас два исключения на один доступ. Мы работаем на уровне страниц, поэтому у нас обязательно будут false positives, тысячи их. Мало того, если переменная невыровненная и пересекает границу страницы, приходится манипулировать сразу двумя страницами, что не прибавляет коду ни читаемости, ни быстродействия. Ну и для стабильной работы всего этого придется повозиться, особенно при попытке сделать это внутри процесса через VEH, а не через отладчик. Но за неимением лучшего юзермодные отладчики под виндой примерно такое и делают.
Аноним 17/02/20 Пнд 21:22:12 160571674
>>1605569
Ага. Вроде уже столько лет прошло, а механизмы все те же. Скорее бы уже к виндебагу гипервизор прикрутили с хупер-бряками, вот это годно будет.
Аноним 17/02/20 Пнд 21:31:47 160574075
>>1605569
>>1605716
Tetrane такую годноту уже реализовали. Правда стоит дохуя, 4к бачей в год.
https://www.tetrane.com/#technology
https://blog.tetrane.com/2019/11/12/pe-parser-crash.html
Там еще в бложике можно почитать разбор разных CVE с помощью данного инструментария.
Как раз выше кто-то интересовался, как уязвимости в бинарях ищут. Вот примерно так.
Аноним 17/02/20 Пнд 22:48:40 160588376
>>1605716
> Вроде уже столько лет прошло, а механизмы все те же
Да есть и новые, с инструментированием и вот этими вашими гипервизорами. Это просто я старый.
Аноним 18/02/20 Втр 15:49:57 160652077
Почему в 64битах нет аналогов пушада и попада?
Тип экономически невыгадно столько битов сразу в стэк пихать?
Аноним 20/02/20 Чтв 13:12:19 160897578
изображение.png (90Кб, 846x504)
846x504
Аноним 22/02/20 Суб 20:07:33 161173679
Вот как блять находят ТАКИЕ дырки?
https://daniel.haxx.se/blog/2016/10/14/a-single-byte-write-opened-a-root-execution-exploit/

Она была незамечена с 2003 года, блять.
Тупо скрипты+фаззинг на сильном компе в стэнд бае и после краша после Х времени разбор оного? Вручную такое найти - это же блять совсем анриал
Аноним 23/02/20 Вск 03:25:35 161222480
>>1611736
Санитайзером такой баг скорее всего можно отловить. Вот посмотри: https://www.youtube.com/watch?v=NlfZG2wTPZU
Там еще пару видосов про фаззинг и поиск багов должно быть. Собсна 4-5 лет назад можно было руками ловить, ибо дыр реально было много, но теперь уже лавочку прикрыли.
Аноним 23/02/20 Вск 12:31:41 161235381
Продублирую сюда
>>1611822 →
Цель всех этих махинаций-сборка под конкретный процессор(чтобы с avx и sse).
Аноним 23/02/20 Вск 14:07:53 161246282
>>1612224
Да, теперь хакерам/исследователям желательно уметь писать софт под определенные нужды и под определенную прогу, чтобы искать дыры.
Но соль в том, что дыры всегда будут, лол. Я про ошибки, связанные с памятью, что происходит только на уровне системного программирования (ибо всякие ваши джавы и пиздоны иммунны к переполнениям, только если не сам интерпретатор имеет подобную ошибку). Даже если мы представим манямирок, где раст заменит си и кресты в их сферах применения, все равно много низкоуровневого кода, написанного на расте, требуют использования unsafe, что возвращает проблемы с ошибками работы с памятью. Замкнутый круг. Вдовесок, математически и логически невозможно написать софт, который будет со 100%ой вероятностью определять исполняется ли другая программа корректно или нет, это доказал Алан Тьюринг еще в 1936 году - проблема остановки, кому интересно. И это не открытый вопрос ака есть ли равенство между классами P и NP, а доказанная невозможность. Равно как невозможно доказать, что 2 + 2 = 5, потому что это математически неверно.
Так что, от исследователей теперь требуется знание писать сложные, умные и специфичные фаззеры. Решить эту проблему раз и навсегда не получится никогда, но усложнить - да. Что и произошло, собственно, за последние лет 15.
Аноним 23/02/20 Вск 15:45:32 161258183
>>1612353
С вероятностью 99,9% не соберётся.
Аноним 23/02/20 Вск 15:57:19 161259884
>>1612581
Ага, ругается на всякие pointer32 и signed char[4] pad. Ну то есть вообще ад, декомпилятор даже массив не может нормально объявить.
Аноним 23/02/20 Вск 21:27:15 161302285
>>1612353
> декомпилировать его и собирать заново
mcsema

>>1612598
> декомпилятор даже массив не может нормально объявить
А ты можешь? А как ты определил границы массива? А ты уверен, что следующая за массивом переменная на самом деле не была элементом этого массива?
Аноним 23/02/20 Вск 21:52:46 161306086
>>1612462
Ну конечно не получится, ведь ядра этих систем написаны в бородатые девяностые на сях. Вон даже этот мужик говорит, что у них там аж целых 5 млн. исходных файлов. Вообщем ошибок хватит на всех.

>>1611822 →
Легче с нуля переписать.
Аноним 23/02/20 Вск 21:57:03 161306387
>>1613022
>McSema
Из беглого обзора на Хабре я понял,что оно запускается на де факто виртуалке. Мои требования-сборка под ту же архитектуру,но со своими параметрами компиляции(чтобы можно было включить все доступные для моего процессора инструкции).
>а ты можешь
Могу. Но это будет бессмысленный срач, если разбирать не на примерах. Завтра постараюсь отписать сюда со всеми исходниками.
Аноним 23/02/20 Вск 22:03:38 161306788
>>1613060
>легче с нуля переписать
Ну вот представь, что я таким образом исполняемый файл игрушечки для дебиловы перекомпилировал,и у меня выигрыш в FPS/памяти/обращениях к диску около 10%. Вынесем за скобки все DRM и античиты. Такие гигантские проекты вроде игровых движков если и переписать с нуля, то к окончанию работы код будет устаревшим и никому не нужным. Так что такой себе вариант.
Аноним 23/02/20 Вск 23:01:28 161313789
>>1613067
> 10%
Вот ты и ответил на свой вопрос. Оверхед задача, ради 10% не стоит даже пытаться.
Аноним 24/02/20 Пнд 00:20:36 161321090
Недавно узнал, что оказывается помимо TF, есть еще branch trap flag и monitor trap flag, меня интересует BTF, но вот я что-то не могу понять, как его установить на винде, насколько я понял, нужно модифицировать msr.
Аноним 24/02/20 Пнд 01:20:03 161325191
>>1613060
>Ну конечно не получится, ведь ядра этих систем написаны в бородатые девяностые на сях. Вон даже этот мужик говорит, что у них там аж целых 5 млн. исходных файлов. Вообщем ошибок хватит на всех.

Дело не только в легаси. Дело и в новом коде. Пока код пишет человек, ошибки были, есть и будут. Умудряются уже писать эксплоиты под ошибки в код на педеРАСТА, о чем ты, анон. Системное программирование, где ты дрочишь память напрямую и жонглируешь указателями - это априори дыра в безопасности, по определению. Чем дальше по сложности от хэллоуворлда уходит софт Х, тем выше шанс бага, причем ебашит оно по экспоненте. И здесь нет никакого окончательного решения, можно только усложнить взлом, на случай если находят дырку, но избежать багов полностью - нельзя. В вебе даже, блять, есть куча багов. Они другого плана, но там даже фреймворки слабовато спасают. Как находили sql injection и xss, так и находят, и будут находить, лол. При этом на таком уровне дыру задетектить куда проще, нежели в бинаре. Короче, это вечная война, вечная игра в кошки-мышки.
Аноним 24/02/20 Пнд 08:39:23 161332292
>>1613137
10% взяты наобум же, нужно проводить исследования. К тому же оптимизации могут затрагивать одновременно разные части программы вроде ввода/вывода и расчётов,складываясь.
Да и не такой уж маленький показатель,если минимальный fps поднимется с 24 до 27. Оверлокерам такой результат по нраву
Аноним 24/02/20 Пнд 09:41:04 161333693
>>1612598
> Ага, ругается на всякие pointer32 и signed char[4] pad. Ну то есть вообще ад, декомпилятор даже массив не может нормально объявить.
Декомпилятор никак не сможет понять какие оптимизации были применены. Декомпиляция выше асамблера не детерминирована.
Аноним 24/02/20 Пнд 10:27:43 161335594
>>1584716 (OP)
Что можно и нужно писать на асм в 2020 году? Понятно что изучение асм дает буст к пониманию архитектуры процессора. Но как практический инструмент асм пригоден для чего то?
Аноним 24/02/20 Пнд 12:52:53 161345995
Буквально один день вкатываюсь в ассемблер. Не могу понять, так ассемблер не дает полного контроля над процессором? В смысле, почему сложение это одна операция? Сложение же явно не выполняется за один такт процессора. Т.е. ассемблер просто говорит процессору, что сделать а он уже сам решает как ему это сделать?
Аноним 24/02/20 Пнд 13:28:33 161349196
>>1613355
Бутлоудеры, часть кода прошивок, маленькая архитектурно-зависимая часть кода ОСей, шеллкоды - это если мы говорим о НАПИСАНИИ кода на языке ассемблера.

Не думай, что тебя возьмут на работку, если ты знаешь только асм, там вагон других навыков нужен. Короче, он нужен только эмбедщикам и реверсерам, и то как вспомогательный, а не основной, инструмент.
Аноним 24/02/20 Пнд 13:42:57 161350897
>>1613459
Лол, ты даже машинными кодами вряд ли сможешь рулить конвейером и порядком выполнения инструкций.
https://m.habr.com/ru/post/309796/
Аноним 24/02/20 Пнд 13:59:05 161351798
Аноним 24/02/20 Пнд 22:58:41 161407899
>>1613491
Гипервизоры забыл. Самое ходовое сейчас.

> Не думай, что тебя возьмут на работку, если ты знаешь только асм, там вагон других навыков нужен.
В Dr. Web и прочие малварские конторы берут на стажировку, нужно только знать ассемблер.
Аноним 25/02/20 Втр 01:37:15 1614225100
>>1613459
Лет 40 назад давал, а сейчас у тебя в процессоре еще процессор, со своим микрокодом где запрограммировано как же процессор будет складывать.
Аноним 25/02/20 Втр 03:51:39 1614246101
>>1614225
Это для сложных инструкций. Никто не будет микрокодить сложение.
Аноним 26/02/20 Срд 14:49:20 1615520102
Я правильно понимаю, что в 10 винде встроенная вм Hyper-V? VirtualBox/VmWare больше не нужны?
Аноним 26/02/20 Срд 21:44:06 1616218103
Аноним 29/02/20 Суб 14:32:21 1618798104
Ребзи я тупой нуфаг, объясните чем пустой регистр от нуля отличается?
Аноним 29/02/20 Суб 15:01:58 1618823105
Аноним 29/02/20 Суб 20:33:31 1619231106
>>1618823
хуйню полную платят
40-70к(70 в пике)
проще в малварщики пойти,со сраного криптолокера можно за пол дня столько сделать при условии что он пишется за вечер под бутылку пивка
Аноним 29/02/20 Суб 20:41:11 1619237107
>>1619231
Криптолокеры вообще зарабатывают?
Аноним 29/02/20 Суб 20:48:17 1619242108
>>1619237
и очень даже неплохо.вебм
не путай с винлокерами
Аноним 29/02/20 Суб 20:50:28 1619245109
>>1619242
Личный опыт или теория?
Аноним 29/02/20 Суб 20:58:42 1619253110
image.png (716Кб, 640x960)
640x960
>>1619245
просто люблю читать блоги АВ компаний и сделал такой вывод
Аноним 29/02/20 Суб 22:20:24 1619319111
>>1619231
Хуйню не неси. Алсо показал тебя майору, на всякий случай.
Аноним 29/02/20 Суб 23:14:18 1619396112
>>1619319
а что майору?по какой статье можно сесть за слова о том что какие-то преступники хорошо зарабатывают?
и в каком моменте хуйня?Видел отчеты макафи,сентентала и прочих?
Аноним 29/02/20 Суб 23:25:25 1619408113
>>1619396
Много чего нашить можно просто к словам. Ты в коме был что ли? Там вон за твиты с угрозами отъезжают на 5 лет, а ты за малварь агитируешь еще так нагло. Ну и в треде реально сидят майоры, если что, я уже говорил что были инциденты.
Аноним 29/02/20 Суб 23:27:52 1619411114
>>1619408
угрозы силовикам и малварь все таки разное,а на пк у меня из нелегального максимум ида крякнутая.
и я не агитирую за малварь,я агитирую за то чтобы не проебывать жизнь учя ОСЕНБЛИР и работая потом за 40к,уж лучше тогда в программисты
про инцеденты подробнее можно?
Аноним 01/03/20 Вск 00:01:41 1619458115
>>1619411
Зачем тебе ида раз ты такой ненавистник ассемблера? И в треде зачем сидишь, а?

> про инцеденты подробнее можно?
Набутылили анона, я уже писал.
Аноним 01/03/20 Вск 10:37:11 1619651116
>>1619458
асм и реверс для души.Реверсить в удовольствие и сосать хуй на однообразной работе за 40к это разные вещи
Подробнее это не повторить сказанное,а,например,дать пруфлинк или хотя бы обьяснить че там этот анон просил сделать
Аноним 05/03/20 Чтв 18:59:37 1624168117
> Допустим, я отреверсил в иде приложение, все красиво, все читабельно, вдруг выходит обновленная версия этого файла, как по-быстрому применить все изменения из первого файла во второй? Не заново же мне пердолить переименования итд.
Отвечаю на вопрос из прошлого треда. BinDiff - позволяет сравнивать файлы и переносить символы из одной базы в другую.
Аноним 06/03/20 Птн 09:21:55 1624857118
Аноним 06/03/20 Птн 15:24:46 1625061119
>>1624857
Ничего не мешает. Возможно заблочить доступ через политику, но это для всего приложения, а не для конкретной части.
Аноним 06/03/20 Птн 19:12:30 1625281120
>>1615520
Оказывается Hyper-V блокирует работу прочих гипервизоров. А говорили, что они будут совместимы и вложенность обещали.
Аноним 06/03/20 Птн 22:48:58 1625509121
>>1624857
В винде PAGE_GUARD используют, чтобы стек комитить, и разработчики решили, что не хотят путаться при отладке. На самом деле это фактически одна хуйня, им просто заняться нечем. Лучше бы браузер писали.
Аноним 07/03/20 Суб 17:06:54 1626415122
пользуясь случаем передаю привет eternalfrenzy
Аноним 07/03/20 Суб 17:10:00 1626422123
>>1626415
пользуясь случаем передаю привет hardee
Аноним 07/03/20 Суб 18:32:03 1626469124
Аноним 07/03/20 Суб 22:48:20 1626793125
>>1626469
Ты бы лучше рассказал, где ты это взял. Я вот вижу ebfe90 (jmp $; nop) в начале, чтобы никто не мог с этого случайно загрузиться. Еще вот этим "непонятным алфавитом" (просто возрастающая последовательность байтов начиная с 0x80) просто нахуй затерли BPB, а потом еще флипнули некоторые биты. И еще по 0x00e4 явно какие-то офсеты или даже скорее адреса в памяти. Выглядит как образ фирмвари какой-то, которому зачем-то придали сходство с FAT. И подозреваю, что это сделано специально для того, чтобы ты спросил попытался смонтировать, не смог и отъебался от файла.
Аноним 08/03/20 Вск 12:11:07 1627171126
А Володий вернул общак или таки не вернул?

https://redodepts.livejournal.com/

Шалом! Многие читатели спрашивают, неужели можно кинуть элиту андеграунда и спокойно тратить шекель. Наш ответ - нихуя подобного. Наши люди доложили о поимке известного кидалы ВОЛОДИЯ (он же володуа, володя, вовка, вова_пассив_1992). Моар инфы по гиперлинку http://mvd.ru/news/show_92517/
Аноним 08/03/20 Вск 13:16:57 1627251127
23404.jpg (114Кб, 412x600)
412x600
1202319548536.jpg (60Кб, 300x240)
300x240
1206730483227.jpg (31Кб, 480x391)
480x391
1229875721766.png (59Кб, 370x297)
370x297
Аноним 08/03/20 Вск 15:58:43 1627505128
>>1627171
> mvd.ru
Тарищ майор ну замаскировали бы линк для приличия...
Аноним 08/03/20 Вск 19:04:06 1627732129
>>1626793
> Выглядит как образ фирмвари какой-то, которому зачем-то придали сходство с FAT. И подозреваю, что это сделано специально для того, чтобы ты спросил попытался смонтировать, не смог и отъебался от файла.
Это и есть кусок файла фирмвари для одной узкоспециализированной железки за поллимона. Есть большое желание найти какой-нибудь дебажный интерфейс, консоль, UART, ещё что-то. В дампе есть строки, характерные для отладочного вывода, так что он скорее всего есть. Знаю, что железка работает на процессоре Blackfin, больше пока ничего непонятно. Опыта в таком просто нет совсем.
Аноним 08/03/20 Вск 20:49:28 1627901130
>>1627732
>Это и есть кусок файла фирмвари для одной узкоспециализированной железки за поллимона
Прошивка рентгеновского DOSM0T?рового оборудования?
Аноним 08/03/20 Вск 21:08:24 1627931131
>>1627732
> UART
Так это... фоткаешь плату, идентифицируешь чипы, какие сможешь, тыкаешься осциллографом, страдаешь. Что тебе прошивка-то даст? Номер ноги там не написан.
Аноним 08/03/20 Вск 23:33:36 1628078132
>>1627931
> Что тебе прошивка-то даст?
Да я понимаю, что в этом вопросе мало что.

А так с год назад, копаясь в прошивке другой, чуть менее дорогой железки, я обнаружил мастер-пароль. Да, во всей линейке устройств того производителя была отдельная пара логин/пароль, нигде не упомянутая и неотключаемая, и разумеется, дающая админские права. С учётом того, что многие девайсы торчали вебмордой в интернет, можно было наворотить дел. И, к сожалению, мне не удалось поиметь с этого ничего, дело было не в айтишной сфере, а производитель начал вежливо мне угрожать. Впрочем, мне очень понравился сам факт того, что я нашёл реальную дыру, через которую можно было заовнить тысячи устройств.
Аноним 08/03/20 Вск 23:52:34 1628112133
>>1628078
Откуда у тебя эти железки?
Аноним 09/03/20 Пнд 11:51:07 1628354134
>>1628112
С работы, очевидно. У меня там много всякого. К сожалению, деталей дать не могу, даже по маркам. Это оборудование закупает 2.5 компании на всю страну, диванон будет мгновенный.
Аноним 09/03/20 Пнд 12:10:15 1628370135
>>1628354
>Это оборудование закупает 2.5 компании на всю страну, диванон будет мгновенный.
Вот ты и спалился, Иван.
Аноним 09/03/20 Пнд 18:25:09 1628765136
>>1628354
Привет,ами.Как поживаешь?
Аноним 11/03/20 Срд 02:03:50 1629804137
Весм прив в этом ЧАТЕ.
Как грамотно вкатиться в RE игр, античитов? Бля, чисто мысленно балдею с такой хуйни, что можно взламывать приложухи, которые другие ребята криптят.
Есть база асм-а, опыт написания читов для кс-гей на плюсах. Но что касается реверс - просто нереально приступитЬся, хуй знает за что хвататься, в том плане что видишь дамп от Иды, видишь декомпилированные функции и хуй знает че делать, т. К. нихуя не понятно.
В закрепе есть книжки, только вот чекаю их и или неинтересно (=просто) или совсем пиздец конечная(=сложно).
Аноним 11/03/20 Срд 15:33:04 1630211138
гцц/клэнг выдает ассемблерный файл, где куча всякого треша вроде .cfi_def_cfa_offset 16.
Оно нужно для дебаггеров или это охуенно важно для дальнейших этапов компиляции?
Аноним 11/03/20 Срд 18:18:58 1630367139
>>1630211
>.cfi_def_cfa_offset 16
this
Можешь погуглить dwarf linux
Аноним 11/03/20 Срд 18:19:22 1630368140
Аноним 12/03/20 Чтв 08:20:16 1630755141
>>1629804
Античит нагнёт тебя, а ты так и не сможешь спрятать от него свой говнокод.
Аноним 12/03/20 Чтв 20:27:13 1631322142
>>1629804
Рано тебе игры реверсить, книга в шапке обязательна к пониманию от и до, читай, пиши код, изучай выхлопы популярных компилей, пользуйся отладчиком.
Аноним 12/03/20 Чтв 20:55:09 1631361143
>>1584716 (OP)
Правда ли, что реверсом можно убить молодость?
Аноним 12/03/20 Чтв 23:11:28 1631572144
>>1631361
Нет, с современными тулзами и определенными навыками реверс не занимает много времени.
Аноним 13/03/20 Птн 01:18:09 1631762145
>>1631572
Вот этот ни разу кресты с шаблонами и десятью уровнями наследования не реверсил.
Аноним 13/03/20 Птн 02:03:45 1631792146
>>1631762
Это ты видимо не реверсил, шаблоны в понятный ассемблерный листинг разворачиваются, а виртуальные таблицы содержат метаданные. Высокоуровневые абстракции волшебным образом исчезают во время компиляции бинаря.
Аноним 13/03/20 Птн 09:19:54 1631888147
>>1631792
>виртуальные таблицы содержат метаданные
Это ты про RTTI? Так это не всегда есть и в большинстве случаев отрубается.
Ну вот и получается, что в итоге на виртуальную таблицу 1 xref на весь дамп, и то в конструкторе каком-нибудь и все. В итоге все функции вызываются в виде call qword ptr [rax + 0x228]. Никаких ссылок, нихуя нет и что делать то бля.
Аноним 13/03/20 Птн 09:52:51 1631897148
>>1631792
> шаблоны в понятный ассемблерный листинг разворачиваются
Да? Точно не в два десятка разных листингов?

> Это ты видимо не реверсил
Я реверсил. Выходит несколько месяцев на средненький бинарь, сколько ты его не автоматизируй. Можно ли реверсом убить молодость? Да на него жизнь убить можно!

>>1631888
> RTTI? Так это не всегда есть
Да, лежат там какие-нибудь Exception и YobaException, и больше нихуя.
Аноним 13/03/20 Птн 18:07:18 1632278149
Господа, а вы получаете моральное вознаграждение за то, что ковыряетесь в чужих продуктах? не смущает ли вас то, что многие реверсеры это ребята с двумя классами церковно-приходской школы, которые занимаются реверсом только потому, что времени на него потратили много, а больше ничего не умеют?
Аноним 13/03/20 Птн 18:17:37 1632286150
>>1632278
Еще вопрос: не является ли для вас реверс бегством? Ведь если человек чем-то занимается, то это или его хобби, или способ заработка. Для чего вам такое хобби, если можно писать свой продукт?
Аноним 13/03/20 Птн 20:07:19 1632395151
>>1632286
хз, я и пишу код, и реверсю(шу?), одно другому не мешает, а даже взаимодополняет.
Аноним 13/03/20 Птн 20:26:34 1632410152
>>1631897
Значит ты не знаешь сам чего ищешь в бинаре. С отладчиком абсолютно любой энтрипоинт раскручивается за вечер-два под пивко.
Аноним 13/03/20 Птн 21:00:03 1632424153
>>1632410
Что тебе даст то, что ты отреверсишь именно энтрипоинт?
Аноним 13/03/20 Птн 21:16:15 1632439154
>>1632424
Скорее всего, анон о реверсинге судит по всяким там CTF. Или патчит защиту уровня if (not_registered) exit(1).

>>1632410
> Значит ты не знаешь сам чего ищешь в бинаре
Ты не поверишь, я там код ищу. Много кода, который нужно восстановить. Например, парсер какой-нибудь проприетарной БД, у которой файлы состоят из битовых потоков чуть более, чем полностью, а бинарь примерно настолько же состоит из множественного наследования. И
> за вечер-два под пивко
я даже свеого кода столько не напишу, а ведь чужой еще и реверсить нужно.
Аноним 14/03/20 Суб 03:00:52 1632622155
>>1632439
Ай блять не пизди давай про эту десятиэтажную бизнес логику. Все по итогу сводится к подобному:
> if (not_registered) exit(1).
Вообщем не можешь ты в динамический анализ, видимо сидишь строго в дизасме и ковыряшь все подряд.
Аноним 14/03/20 Суб 22:04:44 1633203156
Ку, реверсач

Сижу ковыряю бинарь сейчас, есть небольшой misunderstanding:

mov esi, 1
mov edi, 0x64
call sym.imp.calloc
mov edx, rax
mov rax, qword [ptr]
.......

Собсна, что имеем - вызываем calloc, который должен вернуть указатель на массив размером 64 байта (каждая ячейка = 1 байт). По конвенции, в х84-64 значение вызванной функции помещается в регистр rax. Отлично, здесь мы видим, то rdx копирует указатель на этот массив, но дальше нет никакой переменной, которая может хранить этот адрес! То бишь, он есть только в регистре rdx & rax, дальше там есть инструкции, где сравнивают их значения, а потом идет прыжок в какую-то пизду и все. Такое ощущение, что в сорце (у меня его нет) там каким-то раком вызвали calloc, не присваивая возвращаемый указатель ни к какому указателю, который хранил бы это значение. Втф?
Аноним 14/03/20 Суб 22:13:52 1633209157
>>1633203
быстрофикс

Забейте, я кусок обоссаного и никчемного дауна, там была матрица (указатель на указатель) и возвращаемый каллоком указатель хранился в первой ячейке массива указателей.
Аноним 15/03/20 Вск 23:11:09 1634045158
Где скачать Windows Kernel Programming (2019).pdf?
Аноним 16/03/20 Пнд 19:58:52 1634527159
Почему в этих ваших железках не запили байтовые шифты?
Аноним 16/03/20 Пнд 21:32:09 1634597160
Аноним 17/03/20 Втр 11:55:45 1634833161
Аноним 17/03/20 Втр 14:25:54 1635044162
IMG202003171424[...].jpg (72Кб, 1280x748)
1280x748
Альткоинщик когда узнал что 0х7FFFFFFF — простое число
Аноним 17/03/20 Втр 15:41:48 1635102163
>>1635044
Это можно как-то использовать?
Аноним 17/03/20 Втр 16:46:42 1635179164
Аноним 17/03/20 Втр 16:47:51 1635180165
Аноним 17/03/20 Втр 17:04:32 1635194166
2020-03-1719-04.png (130Кб, 779x637)
779x637
Может кто-нибудь помочь в правильном составлении соглашения о вызове одной функции, сам я ничего не понимаю, но очень хочется с ней взаимодействовать.
Эта функция не соответствует дефолтным THISCALL, STDCALL, CDECL. Она очень маленькая. Знает кто-нибудь что с ней не так?
Аноним 17/03/20 Втр 18:05:18 1635232167
>>1635180
Не без остатка. 7 на 16 в k-ой ты на f не поделишь никак
Аноним 17/03/20 Втр 18:10:23 1635237168
>>1635194
На пике три функции. __stdcall это, два параметра, возвращает первый. Никаких отклонений не вижу.
Аноним 17/03/20 Втр 19:01:09 1635296169
>>1635194
>>1635237
Хотя... ret 4 то я и не заметил. Что-то странное, напоминает возврат структуры через скрытый указатель, но даже в этом случае было бы ret 8. Первый аргумент - это какой-то this? Что за бинарник, компилятор?

> очень хочется с ней взаимодействовать
Ты всегда можешь сделать динамические или статические трамплины (адаптеры) и ни о чем не думать.
Аноним 17/03/20 Втр 19:21:29 1635304170
>>1635237
>>1635296
Это бинарник CS:GO сервера, в частности главная динамическая библиотека, где и происходят все главные вычисления. Пытался вызывать ее самостоятельно, делать хуки (Pre, Post), но итог краш процесса. Вряд ли делая PreHook ret имеет значение, если только Post, так что дело скорее всего в аргументах.
Аноним 17/03/20 Втр 19:23:11 1635305171
>>1635304
Эта функция должна принимать указатель на игрока (this) то есть она в классе определена и возвращать так же указатель на структуру одного вектора.
Такая проблема только на линуксе, на винде было все хорошо, когда тестировал, но надо сервак на линукс ставить и такая проблема возникла
Аноним 17/03/20 Втр 19:27:24 1635314172
2020-03-1721-27.png (8Кб, 390x90)
390x90
>>1635304
>>1635305
Если знаком с сурс движком на котором написана ксго, то знаешь что есть их сдк на гитхабе 2013 года, но скорее всего они что-то поменяли уже там не должно быть ни одного loc, она очень простая в сдк
Аноним 17/03/20 Втр 19:39:45 1635324173
Задание:
Загрузить в регистр R16 число 15, сложить его с 25 и результат поместить на вершину стека. Поместить по адресу 020h внутренней памяти данных младшую десятичную цифру результата, а по адресу 021h – старшую.
Код: https://pastecode.xyz/view/40f84dbc
Оно почему-то зацикливает хз помогите а то пизда
Аноним 17/03/20 Втр 20:43:56 1635401174
>>1635314
Лол. Короче, это стандартный thiscall (он же cdecl) линуксовый. В линуксе, в отличие от винды, между ними разницы нет. Второй аргумент на скрине в IDA - это this, для него (как и для всех обычных аргументов) вызывающая функция чистит стек. Он был бы первым, но в функции есть и необычные аргументы. Чтобы вернуть структуру (не указатель, а саму структуру по значению), вызывающая функция передает скрытый указатель на буфер первым аргументом, а вызываемая функция пишет туда результат и возвращает этот же указатель в eax еще. И вот его-то в линуксе чистит ret 4 (в винде такой хуйни нет). Поэтому ты просто пишешь как на твоем пике, собираешь линуксовым гцц, и оно само заработает как надо, никаких соглашений указывать не нужно.
Аноним 17/03/20 Втр 20:47:25 1635406175
>>1635314
>>1635401
Можешь загуглить атрибут callee_pop_aggregate_return в гцц. У тебя он 1, но в линуксе он 1 по умолчанию.
Аноним 17/03/20 Втр 20:47:51 1635407176
>>1635194
>>1635401
Нахуй тебе этот ассемблерный листинг, просто жмешь F5 и оно само тебе покажет какие аргументы идут и какое соглашение вызовов.
Аноним 17/03/20 Втр 21:03:38 1635417177
>>1635407
Вот исходник: https://pastebin.com/raw/gj2Lw8Bn (собирать в линуксе g++ file.cpp -s -m32). Давай ты, как самый умный, соберешь, загрузишь a.out, нажмешь F5 и покажешь нам скриншот, как оно все правильно там угадало. Вот я тебе даже файл собрал: https://files.catbox.moe/aczyg0.out
Аноним 18/03/20 Срд 02:15:36 1635642178
Ананасы, я впервые вижу в асм листинге бинарника вызовы функций не по конвенциям. Нет определения стэкового фрэйма (push rbp mov rbp, rsp), очень странно передаются параметры (не следуют сразу за сохраненным адресом продолжения предыдущей процедуры, а гораздо "дальше" по стэку). Я имею дело с обфускацией? Или может с naked functions? Декомпиль гидры выдает несусветную вырвиглазную дрисню от такого пердимонокля. Бинарник исполняется, если чо, так что он не сломан.
Аноним 18/03/20 Срд 15:21:32 1636014179
>>1635642
Возможно на асме написан. Возможно частично
Аноним 18/03/20 Срд 15:45:52 1636049180
>>1635642
Ща погоди, в уме заксорю. Код где блеать?
Аноним 18/03/20 Срд 17:28:36 1636169181
>>1635642
>Декомпиль гидры выдает несусветную вырвиглазную дрисню от такого пердимонокля
Хохлохакер тебя похакел
Аноним 19/03/20 Чтв 01:06:45 1636709182
Добрый возможно даже ночной анон, объясни пожалуйста ньюфагу, что происходит между точкой входа и мэйном, и почему эти две вещи - не одно и тоже?
И я правильно понимаю, что ось определяет только стэкпоинтеры и rip, а дальше - дело за бинарником?
Аноним 19/03/20 Чтв 08:47:14 1636781183
>>1636709
>что происходит между точкой входа и мэйном
Инициализация CRT, переменных окружения и т.д.
>почему эти две вещи - не одно и тоже
Компилятор вставляет свой main в котором производит необходимую инициализацию и передает управление на твой
Аноним 20/03/20 Птн 19:02:55 1638326184
Сап, ассемблерач
Мне, быдлостуденту непрограммисту, строчящему высеры своему научруку на Си, захотелось приобщиться к языку сверхбогов, великому ASM писать планирую под amd64. Но нагуглить годных гайдов чтобы с разбором плюсов и минусов разных диалектов, ide, аппаратных архитектур и в то же время "сделайте А, установите В, напишите С..." как-то не получилось в глаза ебусь и лень, да...
Собственно прошу вас, о великие Гуру, наставить меня презренного на путь истинный, путь освобождения от богохульного ООП и высокоуровнего греха с меня нихуя, сами знаете
Аноним 20/03/20 Птн 19:28:38 1638347185
>>1638326
Introduction to 64 Bit Intel Assembly Language Programming for Linux Ray Seyfarth

Я по этой книжке ассемблер изучал, раньше тоже тока выскоуровневые языки знал и ООП. По идее там все с нуля, но мне в универе про микропроцессоры рассказывали, так что хз возможно надо что-то знать чтоб её читать. Там первая проблема с которой встретишься, это то что код с абсолютными адресами(то есть например адрес который формируется отступом от data секции) не компилится/линкуется в gcc. Надо будет погуглить почитать stack overflow x86 раздел. По сути можно будет указать либо параметр -fPIE в gcc или что-то подобное или прочитать про position independent код и сразу его писать. Но это чтобы со стандартной библиотекой си слинковаться. Можно по идее писать код с абсолютными адресами и линковаться не через gcc а с помощью ld, там экзешник сгенерит с любым кодом, но придется системные вызовы юзать вместо функций си.
Аноним 21/03/20 Суб 02:50:59 1638863186
Аноним 22/03/20 Вск 15:18:10 1639926187
Реверсач, помоги

Снимаю пакер с ELF бинаря (уверен на 99.999999%, что я нашел ОЕР) путем приземления на распакованный код. Делаю дамп через gdb, но он, сцука, не запускается потом в отладчике и при исполнении сегфолтится. Нужно ручками править таблицу символов или есть более универсальные дамперы, которые сделают это за меня? Повторяю, речь идет о Линуксе и elf бинарях, соответственно.
Аноним 23/03/20 Пнд 12:37:24 1640600188
>Windows Internals, Part 2, 7th Edition
>Published 7/6/2020
Что за хурма, на май же вроде переносили?
Аноним 24/03/20 Втр 16:29:31 1641646189
>>1640600
Винда быстро меняется, каждые пол года мажор апдейты, не успевают видимо реверсить.
Аноним 24/03/20 Втр 22:27:23 1642059190
Аноны, а почему перед вызовом с++ функций все время идет
push bp
mov bp, sp
Это захуй вообще нужно? Мы так готовимся к вызову call?
Аноним 24/03/20 Втр 22:28:49 1642061191
>>1638347
Я все время хуею с этого НУЛЯ. Читаю Брюса Эккеля по си++, а там хуяк и блять кое-что на ассемблере показывается. Читаю книгу по ассемблеру там блять все на си++(при том что я программист си++(не мамкин)). Такое вот "С НУЛЯ"
Аноним 26/03/20 Чтв 12:21:07 1643016192
Какие основные признаки того что по бинарю прошлись -О3?
Аноним 26/03/20 Чтв 12:31:27 1643021193
Аноним 27/03/20 Птн 00:36:08 1643643194
>>1643016
SSE инструкции, встроенные функции.
Аноним 27/03/20 Птн 10:40:54 1643736195
Где можно скачать актуальный NDK (Windows native приложения)? WDK стоит, но нужен еще NDK.
Аноним 27/03/20 Птн 13:24:19 1643887196
>>1643736
SDK/WDK только есть, на msdn.

>>1642059
Это пролог функции. Оригинальный sp сохраняется и теперь регистром можно спокойно манипулировать в теле функции, выделять место для переменных итд.
Аноним 02/04/20 Чтв 17:53:45 1648623197
Ку, реверсач
Насчет шеллкодинга на юникс-подобных осях - какой синтаксис асма лучше юзать для написания шеллкода? Или похуямба? Заранее спасибо.
Аноним 02/04/20 Чтв 18:57:04 1648665198
>>1648623
естественно машинные коды.
Аноним 02/04/20 Чтв 19:09:45 1648681199
Аноним 02/04/20 Чтв 19:10:06 1648682200
Под линукс еще есть fasm
Аноним 02/04/20 Чтв 21:21:09 1648769201
>>1648623
Тут все просто: используешь vim - пиши на gas с AT&T, чтобы окружающие сразу могли все про тебя понять. Если проблески разума есть, то gas умеет в интел. Для остальных придумали nasm/fasm. Последний в разы удобнее, когда тебе нужно ебать не только инструкции, но и байтики.
НОВАЯ ССЫЛКА НА RE4B 05/04/20 Вск 13:50:29 1650615202
Пре следующем перекате залейте пожалуйста в шапку новую ссылку на RE4B:
https://torus.company/9f0911c0a4bb7d20eb8bab286a2c109fa85c44c6/
Господин Юричев перед новым годом затеял переезд и теперь раздает книгу с нового домена.
05/04/20 Вск 13:53:25 1650616203
Аноним 06/04/20 Пнд 08:55:15 1651563204
Аноним 07/04/20 Втр 19:07:10 1652810205
>>1584716 (OP)
SHENZEN I/O поможет вкатить в низкоуровневую ебалу?
мимопитонист
Аноним 07/04/20 Втр 19:36:52 1652857206
15463728197350.jpg (396Кб, 810x1080)
810x1080
Хлопцы, почему в шапке нет этой прекрасной опенсорсной штуки?
https://x64dbg.com/
Аноним 10/04/20 Птн 02:41:10 1654511207
>>1584716 (OP)
>В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).

скажите, а как эти знания у нас окупаются? знать-то надо дохрена...
Аноним 10/04/20 Птн 08:49:02 1654564208
>>1654511
niqaque
тут просто сидят аутисты которым это кайф
ну ок,может окупится если ты малварщик/0д рисерчер
на этом все.Если процесс удовольствия не доставляет,то просто забей
Аноним 10/04/20 Птн 14:03:51 1654729209
>>1654511
Окупаются, в долгосрочной перспективе (~5 лет). Если хочешь быстрого результата, то иди в js тред.
Аноним 10/04/20 Птн 16:52:47 1654868210
>>1654729
Ну так средний жс-ер за эти 5 лет успеет стать синьйором-помидором, завести трактор, поработать в гуглах-хуеглах и пойти пилить свой стартуп забив на программирование.
Ты серьёзно считаешь, что среднюю программерскую зп (пока ты не станешь совсем звездой РЕ) можно назвать окупаемостью вложения в виде 5+ лет?
Аноним 10/04/20 Птн 17:43:43 1654939211
>>1654868
>Ну так средний жс-ер за эти 5 лет успеет стать синьйором-помидором, завести трактор, поработать в гуглах-хуеглах
А средний чиновник за это же время успеет залезть в карман к народу, средний ФСБшник или судья - набрать взяток. И что?

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

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

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

>можно назвать окупаемостью вложения в виде 5+ лет
Мамкин экономист, с такими мыслями ты ошибся профессией. Задумайся о карьере чиновника
Аноним 10/04/20 Птн 17:55:37 1654954212
771047ea36e9d2b[...].jpg (45Кб, 600x600)
600x600
Кстати, вот картинка для всех неопределившихся рефлексирующих пиздюков
Аноним 10/04/20 Птн 18:22:30 1654964213
А для чего вообще зарабатывать много денег? Неглупый человек при желании найдет способ заработать, и далеко не каждому надо много. К тому же в современном обществе чем больше зарабатываешь, тем больше долгов. Почему есть много тимлидов и сениоров с большими зп, которые постоянно сидят в кредитах? Не понимаю пидорах, которые горбатятся ради бабла, а у самих нет времени и сил это бабло потратить, пожить для себя. Зато барин покупает новый мерседес. В советское время было проще.
Аноним 10/04/20 Птн 18:24:51 1654969214
+ зарабатывание как самоцель и непомерные потребности это болезнь. Такому человеку всегда будет мало, он всегда будет неудовлетворен. На этом и построена современная экономическая система, растящая потреблядей.
Аноним 10/04/20 Птн 18:29:45 1654975215
человека можно воспитать по-разному. Можно привить ему интерес к познанию и удовлетворению любопытства. А можно внушить ему, что он должен зарабатывать миллионы и потребить все, что предлагает рынок. Второй способ воспитания масс выгоден дельцам, бизнесменам, торговцам. Цель этого быдла не сделать людей счастливыми, не одеть их, обуть, дать им жилье, а вынудить их тащить шекели барину каждый год, как только создали новую потреблядскую хуитку. Люди, которые рады от удовлетворения любопытства, рынку не выгодны.
Аноним 10/04/20 Птн 18:31:49 1654976216
>>1654939
>А средний чиновник за это же время успеет залезть в карман к народу, средний ФСБшник или судья - набрать взяток. И что?
Нормально съехал с темы.

>Если твоя мечта - забить на программирование, зачем ты лезешь в этот тред, где люди пруцца от тематики?
17-ти летний мамкин максималист, ты ещё многого не знаешь о жизни. Например того, что за n лет работы (не ковыряния в залупе по вечерам, а работы по 8 часов в день), ты заебёшься и перегоришь, не важно, насколько тебе сейчас по приколу дрочить значения регистров в дебаггере.

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

>Мамкин экономист, с такими мыслями ты ошибся профессией. Задумайся о карьере чиновника
Для карьеры чиновника нужно правильное происхождение (лол), сейчас же не 90-е, возможности закончились.
Аноним 10/04/20 Птн 18:35:12 1654979217
>>1654976
>А ведь скоро захочеться понюхать живой бабской письки и ещё через пару лет наступит экзистенциальный кризис, как и у всех мамкиных максималистов
А, понятно, ты омежный девственник, которому не дают. Надеешься привлечь бабу деньгами. Зря надрываешь свою розовую попку, потому что ебля и любовь бесплатны для нормальных людей. Переплачивают только омежные лохи типа тебя. Если природа не наделила тебя умом, то хотя бы отрасти гордость. Ну родился ты с потребностями и амбициями льва в теле червя. Другого тела у тебя уже не будет. Прими это и живи втакой какой есть, переплачивающий омежка.
Аноним 10/04/20 Птн 18:38:05 1654981218
>>1654964
>А для чего вообще зарабатывать много денег?
Для того чтобы нормально жить, лол. Нет такой мерки много/мало, есть такая мерка: тебе на все хотелки хватает и ты счастлив, либо ты ебаный бомж, которого постоянно пилит изнутри необходимость оплаты хаты/отсутствия денег даже на жратву итд.
>К тому же в современном обществе чем больше зарабатываешь, тем больше долгов
Общество пидорах в СНГ — не современное. У нас деньги появились пару десятилетий назад, и все как ебаные макаки не понимают зачем они нужны.

>В советское время было проще.
Одно дело, одна страна, одни штаны.
Аноним 10/04/20 Птн 18:39:16 1654982219
>>1654979
>прыщавый школьник дрочащий ночами под столом, втайне от мамки, пытается в тралленг
Аноним 10/04/20 Птн 18:40:18 1654983220
>>1654981
Ого как у тебя горит, нищеброд. Аж на стену лезешь от нужны, ватная пидораха. Вот только я благодаря интересу к компам работаю джавистов и занимаюсь реверсингом в качестве хобби и собираюсь поступать в платную математическую аспирантуру для удовлетворения интереса и амбиций, а ты находишься на уровне скота, который даже JS осилить не может.
Аноним 10/04/20 Птн 18:40:40 1654984221
>>1654868
Вышка байтоебства - это разработка эксплоитов. С их слов, 10-40 часов в месяц вполне хватает, чтобы зашибать под лям баксов в год.
Аноним 10/04/20 Птн 18:42:37 1654986222
>>1654982
Убогий, у тебя от сидения на двачах совсем мозги поплыли и критика к себе пропала? Ты выше написал, что даже JS осилить не можешь и спрашиваешь о том, сможешь ли заработать в реверсе. И теперь ты, убожество, не осилившее язык для даунов, пытаешься толсто тралеть, наивно полагая, что аноны забыли содержание твоих предыдущих постов.
Аноним 10/04/20 Птн 18:47:01 1654990223
И в каждом втором посте наш новый друг пишет про тян да про тян. Переплачивающий высокопримативный низкоранговый битард не палится.
Аноним 10/04/20 Птн 18:55:03 1654996224
Страшно даже представить, каким убогим обоссаным нарциссом надо быть, чтобы налакиваться стекломоя и понтоваться в треде аскетов-системщиков еще не заработанными деньгами. Пиздец. Зрите в корень. Эти ваннаби JS-еры просто обоссаные по жизни.
Аноним 10/04/20 Птн 18:58:24 1654999225
201602241002116[...].jpg (46Кб, 600x400)
600x400
Аноним 10/04/20 Птн 20:44:11 1655049226
>>1654868
мне программирование на жсе не доставляет удовольствия,мне неинтересно это и все,что мне делать?
Мне неинтересно сосать хуи начальнику и РАБотать.
А потом все эти шутки про пятницу,кредитный фокус,псевдоумные разговоры на хабрах.Друг,зачем оно мне?Мне нравится жить и получать удовольствие от процесса,удовольствия от жизни.А выбирать осознанно путь самой обычной РАБоты,только в профиль...Ну,такое как по мне
Я может что-то не понимаю,в силу возраста,но мне на жизнь пока хватает.Сижу крякую софт,разбираю малварь,помогаю людям и мне норм.Я правда не понимаю зачем тратить 10 часов на неинтересную РАБоту за зп пусть даже 300-400к.На что их тратить и когда?

мимо >>1654976 >17-ти летний мамкин максималист
Аноним 10/04/20 Птн 20:50:46 1655058227
>>1655049
юпд,я не против если тебе нравится js и делать сайтики.каждому свое,меня просто это не заводит совсем
мне сложно заниматься чем-то долго и тем более ближайшие лет 5-10 по 8 часов в день,5 дней в неделю.
пизденку не нюхал,да и не очень тянет,если ты хочешь спросить про это
экзистенциальный "кризис" уже есть,но вообщем-то как я слышал выход из него это занятие любимым делом.
Ведь все эти штуки со среднем и эксзистенциальным кризисом выходят когда человек в 30 лет осознает что его жена,успешная карьера с зп 300к,дети и форд фокус ничего не значат и ничего не стоят.А жизнь то уже на половину прожита и вспять время не вернуть
если я где-то не прав,пожалуйста не тролль,я все таки путь жизни себе выбираю сейчас
Аноним 10/04/20 Птн 22:53:15 1655118228
>>1655049
Во-первых, работай на чём хочешь. Тут поинт не в том, что всем надо идти в жс-макакены, а в том, что есть реальность.
Во-вторых, всем похуй что тебе интересно. Вопрос в том, что мамкин борщик со временем кончается, и нужно эту мамку уже самому содержать и самому за всё платить, это и есть реальность из первого пункта. Нету, блядь, понятия "гнаться за деньгами" итд, есть понятие "улучшать своё существование". Ты либо живёшь в залупинске с быдланами в обоссаном хруще, либо в ламповом европейском городке. Либо ешь гречку с хуйцами, либо нормальные продукты и ходишь по заведениям.
В-третьих, когда встанет вопрос о самостоятельности, какой у тебя шанс не пойти работать на завод/продаваном — будучи реверс-инженегром и программистом? С такой спецификой можно разве что мк и дрова писать, но первое днище на заводе, а во второе хуй вкатишься на удалёнку а в снг как-то не особо с этим
Аноним 10/04/20 Птн 23:00:23 1655122229
>>1655058
>экзистенциальный "кризис"
Есть 2 способа пройти эту хуйню:
а) быть тупым бумером, лол.
б) повзрослеть ментально ещё на пару лет.

Хз о чём разговор, ты либо по-пацански продолжаешь страдать хуйнёй и через хуй знает сколько лет становишься апостолом как мыщъх чтобы потом немножно пожить нормально, либо находишь себе какую нибудь байтойобскую область коденга которая хоть как-то востребована, выбираешься быстро из говна и живёшь нормально.
Аноним 10/04/20 Птн 23:01:10 1655123230
>>1655122
>байтойобскую область коденга которая хоть как-то востребована
и тебе хоть немного по душе
Аноним 10/04/20 Птн 23:13:38 1655130231
>>1655118
я не то что прям нищий,но если очень уж будет надо,я могу и малварь начать пилить,а это дело окупается неплохо думаю(думаю,тк не пробовал коммерц,только для себя)
>можно разве что мк и дрова писать
аверы еще есть,куда я и хочу попасть
>>1655123
спасибо,я подумаю
Аноним 10/04/20 Птн 23:31:29 1655142232
>>1655118
Да ты заебал, вечно срешь итт, что реверс не кормит. А я вот буквально недавно свой первый CVE получил, бложики писать начал, в твиттере активничаю, в дискорде с шляпами общаюсь, все как сейчас в моде. Рукой подать, как меня самого хантить начнут на сочные вакансии. И самое главное - мне в кайф.
11/04/20 Суб 00:55:20 1655220233
Аноним 11/04/20 Суб 06:47:53 1655340234
Аноним 11/04/20 Суб 12:04:06 1655471235
>>1655118
>В-третьих, когда встанет вопрос о самостоятельности, какой у тебя шанс не пойти работать на завод/продаваном — будучи реверс-инженегром и программистом?
Я кроме асма еще C++ немного знаю и могу подкачать скиллы и со своим коммерческим опытом могу пойти в какую-нибудь ит контору. Не суди всех по себе, нублол без технического бэкграунда.
Аноним 11/04/20 Суб 14:49:38 1655676236
Ку, реверсач
Как находить интересные функции для реверсинга в средних и крупных бинарях, тем более если они stripped? Есть возможность написать какой-то сканер для бинаря, который выплюнет адреса всех процедур, где идет вызов функций, которые читают из stdin или читают в общем что-либо (файл с диска и т.п.)? Цель - составить некую карту функций, куда можно добраться "извне" через ввод данных через какой-либо интерфейс (stdin, подгрузка файлов с диска, парсинг пакетов, если речь о проге с сетевым потенциалом, и т.п.)
Аноним 11/04/20 Суб 14:50:47 1655679237
>>1655676
быстрофикс
*сетевым функционалом
Аноним 11/04/20 Суб 16:23:40 1655769238
Аноним 12/04/20 Вск 09:25:39 1656234239
Jiang Ying 12/04/20 Вск 14:23:54 1656429240
>>1656234
Если этот высер будет без лучей, то нахуй не нужен.
Аноним 13/04/20 Пнд 11:11:29 1656892241
В реверсе есть работа?
Алсо, кто-нибудь тут помнит Криса Касперски?
Аноним 13/04/20 Пнд 12:08:22 1656921242
>>1656892
На просторах СНГ почти нет работы, только в каком-нибудь доктор вебе или лабе касперского, но туда попасть еще нужно постараться.
Гораздо легче уебать в СШП/Германию/Израиль и быть безопасником там, им там и платят нормально, в отличие от околорашкинских стран, где обоссаная вебмакака получает больше, чем реверсер или разработчик эксплойтов, лал
Аноним 13/04/20 Пнд 12:11:39 1656922243
>>1656921
То есть в Германии с этим всё нормально? Прекрасно.
Аноним 13/04/20 Пнд 12:38:18 1656943244
>>1656921
> Гораздо легче уебать в СШП/Германию/Израиль
Да ахуеть, вообще легко, прям щас полетел на пмж.

Нормально все с работой, откройте hh.ru блять.
Аноним 13/04/20 Пнд 12:58:36 1656956245
>>1656943
>Да ахуеть, вообще легко, прям щас полетел на пмж.
На мага стратуру в Германию легко свалить.
Аноним 13/04/20 Пнд 13:09:49 1656962246
>>1656921
Там ты и с багажом знаний больше в 10 раз, чем у любой веб-макаки будешь получать столько же, лал.
Рыночек есть рыночек. А ещё у вебмакаки карьерный рост пройдёт в 10 раз быстрее чем у тебя, и так в любой стране.
Не зря же тут ананасы за совочек-то топят!
Аноним 13/04/20 Пнд 13:10:39 1656963247
>>1656962
>Там ты и с багажом знаний больше в 10 раз, чем у любой веб-макаки будешь получать столько же, лал.
В плане, среднюю рынку погроммиста по рынку у себя в стране, а не как на родине.
Аноним 13/04/20 Пнд 13:11:00 1656964248
Аноним 13/04/20 Пнд 14:09:34 1657003249
>>1656962
Друг живет в США, у них реверсеры зарабатывают больше вебмакак в полтора раза, причем на старте. Я уже не говорю про разработку эксплоитов и как на этом можно не хило поднять, не угодив при этом на сгуху. И при всем при этом не заниматься поносной дриснёй для даунов типа макакавеба.
Аноним 13/04/20 Пнд 15:19:39 1657045250
>>1657003
Ахуеть, только туда ещё надо съе бать.
Аноним 13/04/20 Пнд 18:05:01 1657173251
>>1654729
>Окупаются, в долгосрочной перспективе (~5 лет). Если хочешь быстрого результата, то иди в js тред.

В долгосрочной перспективе РФ придётся создавать свои компиляторы, операционные системы, драйвера и прочую низкоуровщину. Вот тогда-то резко возрастёт спрос на знание ассемблера и реверса. А пока эти знания надо как-то не утратить, в преподы податься, накрайняк. Кстати, существуют ли сейчас на ютубе образовательные каналы по этой теме, которые приносят доход?
Аноним 13/04/20 Пнд 18:35:31 1657204252
>>1657173
У тебя фотокарточка с сралиным не отвалилась случаем?
>Кстати, существуют ли сейчас на ютубе образовательные каналы по этой теме, которые приносят доход?
Доход на ютубе приносят только большие каналы (100к+) с платежеспособной аудиторией. Ни первого ни второго пункта с такой тематикой достичь нельзя, лол.
Аноним 13/04/20 Пнд 19:04:04 1657223253
>>1657003
Так и у нас тоже самое, лол. Баг хантингом вообще шик в рашке заниматься. Несколько багов нашел и можно год как барин жить. Долбаебов-неосиляторов как всегда в тред набежало.
Аноним 13/04/20 Пнд 20:50:32 1657309254
>>1657223
Ты про те случаи, когда корпорации выплачивают вознаграждение любому нашедшему серьёзный баг в их софте?

>Несколько багов нашел и можно год как барин жить.

Боюсь, что такому "барину" даже ипотечный кредит не дадут.
Аноним 13/04/20 Пнд 21:06:29 1657324255
>>1657309
Такому барину не нужны подачки банкиров, он финансово независим и способен обеспечить себя жильем.
Аноним 17/04/20 Птн 17:11:55 1660164256
Сап! У меня в универе задание: вот программа(исполняемый файл), которая принимает на вход число и возвращает число, причем в зависимости от того если запустить ее на амд или интел, результат будет разный, написать прогу, которая будет исполняться на интел, а вести себя как данная на амд. Не понимаю какая между ними разница вообще, в гугле ничего кроме сравнения фпс не нашел. Дайте мне ссылку на сравнение их инструкций, а еще, если есть, на эмулятор амд на интеле, это вообще было бы заебись. Спасибо!
Аноним 17/04/20 Птн 20:56:12 1660346257
Аноним 17/04/20 Птн 22:01:16 1660416258
>>1660164
Если у тебя есть программа, зачем ты у нас спрашиваешь, почему ты ее не отреверсил? Внутри там либо cpuid какой-нибудь, либо что-то специфичное для интела/амд (типа 3DNow!).

> сравнения фпс
Пиздец ты.
Аноним 17/04/20 Птн 22:30:07 1660434259
Здарова, реверсач
Как обычно анализируют как прога получает вводные данные извне? Вручную или есть тузлы/техники для этого? Я бы не прочь даже заимплементить такое сам, но яхз как в огромных бинарях определяют все возможные инпуты извне, особенно если из бинаря повырывали все символы. Не будешь же ты вручную искать среди нескольких сотен/тысяч функций те, которые обрабатывают вводные данные. А если таких дохуя? Это ж пиздец.
Я знаю что так готовят почву для фаззинга, но как именно это делают - хз. Анон, помоги плиз!
Аноним 18/04/20 Суб 01:17:35 1660601260
>>1660434
Если мы про реверсинг, а не про фаззинг, то можно просто поставить брейкпоинт на чтение данных и поймать обращения.
Аноним 18/04/20 Суб 10:50:03 1660720261
>>1660601
А как ты будешь знать куда ставить брейкпоинт, если бинарь огромный и без символов с несколькими тысячами функций? Получается, только вручную реверсить, чтобы понять какая функция обрабатывает инпут и куда имеено ставить брейкпоинт, чтобы понять оно это или нет? Наверняка же есть хотя бы полуавтоматические методы обнаружения таких функций.
18/04/20 Суб 15:56:59 1661027262
image.png (1115Кб, 960x1280)
960x1280
Если вдруг кто-нибудь найдет относительно свежие утекшие доки SANS, поделитесь пожалуйста ссылкой.
18/04/20 Суб 16:04:36 1661034263
Это если вдруг кто захочет со старыми доками курсов SAN и OffensiveSec ознакомится (надеюсь абу не сломает магнитную ссылку).
magnet:?xt=urn:btih:f91feb6d2ea93f1c3c03b6be52051c2df72da1b7&dn=CERTCOLLECTION+-+BASELINE+-+SANS+%26+Offensive-Security&tr=udp%3A//tracker.coppersurfer.tk%3A6969&tr=udp%3A//tracker.zer0day.to%3A1337&tr=udp%3A//public.popcorn-tracker.org%3A6969&tr=udp%3A//tracker.leechers-paradise.org%3A6969&tr=udp%3A//explodie.org%3A6969
Аноним 18/04/20 Суб 17:34:02 1661086264
>>1660720
Инпут обрабатывает система, ставишь на обработчики брекпоинты и по стеку вызовов смотришь вызывающего.
Аноним 18/04/20 Суб 17:35:17 1661088265
>>1661027
Откуда инфа о сливе? Кидай ссылки на первоисточники.
Аноним 18/04/20 Суб 20:46:31 1661306266
>>1661088
>Откуда инфа о сливе?
Ее нет.
Просто просьба, в случае находки.
Аноним 18/04/20 Суб 22:10:29 1661374267
WgU5uMSecqw.jpg (251Кб, 810x1080)
810x1080
Ребят привет, помогите пожалуйста исправить программу, написанную на ассемблере. 20 вариант.
на счет моего варианта программы, я ее написал, но она не заработала и я психанул и стер ее.
Если кто-то захочет помочь, то я восстановлю свою версию и помочь исправить мою
Также есть таблица команд микропроцессора, дл которого нужна собственно программ
Аноним 18/04/20 Суб 23:48:43 1661454268
>>1661086
Обработчики чего именно? Ты можешь пожалуйста внятно написать? Обработчиков есть дохуя и больше, какие именно ты имеешь в виду? Скрин даже пиздани, пожалуйста, если совсем щедрый
Аноним 19/04/20 Вск 03:06:13 1661500269
>>1661454
На системные. Иди гугли, как твоя система обрабатывает инпут, никаких тысяч функций там нет, с десяток максимум.
Аноним 19/04/20 Вск 03:50:31 1661502270
>>1660720
Если код чтения во внешней либе типа read или recv, то его вызовы можно затрейсить из фриды. Там ясно будет куда ставить брикпоинты
Аноним 21/04/20 Втр 21:45:18 1664033271
Хочу переводить визуальные новеллы. Но проблема в том, что надо как то разбирать их ресурсы и вытаскивать тексты. Говорят нужно дизассемблировать. Насколько все это сложно? И нужно ли знать именно ассемблер, или можно обойтись сишкой?
21/04/20 Втр 22:32:48 1664065272
>>1664033
> Насколько все это сложно?
Что касается ресурсов, почитай DGTEFF из шапки. Осилишь - сможешь сам решить, сложно ли это.

> можно обойтись сишкой
Для реверсинга можно HexRays, и если не лениться проставлять типы, тогда сишный листинг в большинстве случаев будет вполне читаеым. Но ассемблер понадобится, чтобы, например, запатчить поддержку шрифтов, тот же декодер Shift-JIS заменить на 1251 или UTF-8.

Алсо, писать много анпакеров на сишке ты заебешься, бери питон сразу.
Аноним 21/04/20 Втр 23:49:30 1664140273
22/04/20 Срд 07:57:03 1664235274
image.png (415Кб, 848x2677)
848x2677
Извеняюсь за нубские вопросы.
Кресты код компилят по умному - условиях суют не простые прыжки, а вызов диспачера с какими-то данными, который и вызывает нужную функцию. Если исходить из этого листинга.
Пикрил - условие if в крестах (я знаю как оно выглядело, потому что часть сорцов открыта, они не сразу закрылись). Вызывается соответственно c++ scope этого условия.
Вопрос: как понять, какой адрес вычисляется и зовётся из sub_1805A6810 - без использования дебаггера?

И таких случаев много, не любой "вызов" понятен сам по себе. Особенно при наличии тимплейтов, классов и прочих высокоуровневых свистелок.
Аноним 22/04/20 Срд 08:58:37 1664255275
>>1664235
> вызов диспачера
Не вижу тут вызова диспетчера, а вот обычный вызов метода класса вижу. И это даже не виртуальный метод нихуя. И даже ни одного indirect вызова внутри нету. Как вы эту хуйню читаете? Нихуя не понятно, какие-то квадратики, стрелочки разноцветные... Говна кусок, а не листинг!

> тимплейтов
Нихуя не меняется, та же сишка, просто кода больше, и аллокатор на аллокаторе аллокатором погоняет.

> классов
Не ленись структуры создавать и t в листинге тыкать, тогда оно внезапно становится читаемым.
Аноним 22/04/20 Срд 11:00:11 1664300276
image.png (71Кб, 951x475)
951x475
>>1664255
>Не вижу тут вызова диспетчера, а вот обычный вызов метода класса вижу. И это даже не виртуальный метод нихуя. И даже ни одного indirect вызова внутри нету.
Куча условий в коде компилится в асм, который для всех условий зовёт общий метод, который определяет, что дальше исполнять. Схожий паттерн. Алсо я теперь думаю что за это отвечает этот вызов с new int.

Короче думаю не парится и попробовать дебажить эту dll вместе с её программой. Не хочется всё это вместе запускать, мне ж только код подсмотреть надо.
Pimp My IDA contest Аноним 22/04/20 Срд 22:01:26 1664986277
image.png (234Кб, 304x372)
304x372
image.png (195Кб, 335x372)
335x372
image.png (264Кб, 296x372)
296x372
image.png (149Кб, 328x372)
328x372
Relook IDA and send us your creation by the 1st of May. The best proposals will be posted on our webpage from the 8th of May to the 22nd of May. Visitors will be able to vote for their favorite version of IDA. The picture that will receive the most votes by the 22nd of May will win the contest.

We will contact the winner by the end of May and will send him/her a free copy of IDA Home.

Как иконка приложения, Ада действительно всратая, может Ильфак уже наймет себе десигнера.
Аноним 22/04/20 Срд 22:43:08 1665010278
>>1664986
> Как иконка приложения, Ада действительно всратая
Зато узнаваемая. Алсо, древняя черно-белая была лучше, и нахуй они ее раскрасили - совершенно непонятно.
Аноним 23/04/20 Чтв 20:47:41 1665846279
>>1584716 (OP)
Как установить firmware-mod-kit на кали линукс?
Команда sudo apt-get install firmware-mod-kit не находит его в репе
Аноним 24/04/20 Птн 13:04:17 1666306280
>>1665846
Попробуй search сначала по ключевым словам.
Аноним 25/04/20 Суб 03:47:06 1666946281
Аноним 25/04/20 Суб 09:47:27 1667012282
Аноним 25/04/20 Суб 09:47:43 1667013283
Аноним 25/04/20 Суб 09:50:23 1667017284
>>1664235
Короче я забил на это хуй, у меня пока возникла другая проблема: возникает эксепшон при доступе к памяти, и ловлю его почему-то не я.
Аноним 25/04/20 Суб 09:51:44 1667018285
>>1667017
Значит у игры стоит VEH обработчик свой который первее ловит.
Аноним 27/04/20 Пнд 02:55:01 1668619286
>>1601545
Советую купить отладочную плату на каком-нибудь 32 битном МК и начать еще изучать. Лучше брать отладочную плату с той, периферией, которая интересна(ethernet, CAN, звук, экран и прочее). Куча вопросов отпадет по ходу, а до новых ты еще не дошел.
Аноним 29/04/20 Срд 00:07:28 1671044287
Есть динамический эльф для мипса. Нужно в секцию .text добавить паддинг. Есть для для эльфов подобные PE editor поделия?
Аноним 29/04/20 Срд 07:51:01 1671150288
>>1671044
хью поддерживает эльфы вроде
Аноним 29/04/20 Срд 10:08:24 1671202289
>>1671150
Не, одно дело - распарить. Другое - пересчитать и передвинуть все секции.
Аноним 29/04/20 Срд 10:52:17 1671216290
Это у иды реально такой простенький дебаггер, или я не умею им пользоваться?
Чёт графа по функциям как в обычной иде не прилеплено, не коментит доставание из памяти всяких переменных, rsp+160h = 0 а на самом деле нихуя не равно если глазами посмотреть.
Аноним 29/04/20 Срд 11:09:17 1671229291
>>1671216
В обычной иде модули хзкак подгрузить до запуска, но разумеется это я криворукий.
Аноним 30/04/20 Чтв 17:50:13 1672609292
Объясните кто-то разницу между mov AL, DS: 17h и mov AL, DS: [17h]
Аноним 30/04/20 Чтв 18:14:12 1672644293
Есть DLL-библиотека из конца девяностых, msvc, содержащая API; есть программа, которая ее использует. Ничего скорее всего не шифровалось, библиотека была предназначена для использования сторонними приложениями, но сорсов, документации и прочего - не сохранилось, достать нигде нельзя.
Хочется использовать данную библиотеку

Вопросы:
1. Каков прогноз: ее вообще реально расковырять (учитывая наличие работающего приложения)?
2. Если да, то как, что почитать?

В принципе задача выглядит как довольно типовая, но какого-то готового решения не нашел. Есть Detours, есть IDA, но как-то все ультра-сложно и вообще непонятно, возможно ли в принципе.
Аноним 30/04/20 Чтв 19:04:17 1672727294
>>1672644
> Каков прогноз: ее вообще реально расковырять
Да.

> сорсов, документации и прочего - не сохранилось
web.archive.org

> Если да, то как
Так ведь:
> есть IDA

Мог бы либу выложить хотя бы.
Аноним 30/04/20 Чтв 20:40:27 1672867295
>>1672727
>web.archive.org
Естественно пробовал, но софт писался в те времена, когда интернет еще только зарождался. Либо никаких следов не сохранилось, либо документация никогда не выкладывалась, что скорее всего.

>Так ведь:
> есть IDA
Ну и что с ней делать? Может есть кейс стади/туториал или типа того, где решается аналогичная задача?
30/04/20 Чтв 22:00:27 1672937296
>>1672867
> Ну и что с ней делать?
Загружаешь, нажимаешь Ctrl+E, изучаешь экспортированные функции. Можешь на них Tab потыкать и смотреть псевдокод от HexRays. Но в любом случае, надо хоть немного асма и знаний.
Аноним 07/05/20 Чтв 03:06:35 1679241297
VX-анон, я знаю что ты тоже сидишь здесь. Посоветуй что почитать актуального, куда вкатиться, какие доки/туториалы изучить чтобы ворваться в этот увлекательный мир. Нашел разные журналы типа 29а, но они все безбожно устарели. Хотелось бы понять в какую сторону надо копать. Вся надежда на тебя, анон.
Аноним 07/05/20 Чтв 10:09:05 1679368298
>>1679241
Викс мертв,осталась просто комерческая малвара
если хочешь делать что-то свое,то можешь подписаться на пару десятков дебилов вроде кремеза в твиттере и реверсить малварь которую они постят


лучше подскажите как в пвн вкатится
Аноним 07/05/20 Чтв 12:29:32 1679499299
>>1679368
Учи Си, кресты, ассемблер, ОСь, на который хочешь пвнить, причем углубленно. Я тебя не знаю, соответственно яхз какой у тебя бэкграунд, но если ты не особо опытен в программировании как таковом - сначала начни программировать, причем плотно. Для пвна идеальный бэкграунд - ламповое лоу-лвл системное программирование (на уровне API операционной системы или же вообще кернел-спейс - драйвера, например). Потом учи примитивы уязвимостей, современные способы эксплуатации оных, ищи CTFы и постоянно практикуйся. Если не знаешь англ хотя бы на уровне upper intermediate - даже не суйся. Да и все кошерные материалы по этой теме в интернете только на английском. Если есть англ + база лоулвл программирования - ты в шоколаде, сразу ныряй в эксплуатацию и CTFы. Без определенной базы в пвне ловить нечего.
Аноним 07/05/20 Чтв 13:43:11 1679595300
>>1679499
Понял,спасибо
Англ я знаю так,средне,читать могу,но говорить или фильмы смотреть нет
из знаний наверное си только,какая-то база асм под x86
Буду дальше учить.За сколько времени можно вкатиться чтобы писать врайтапы такого уровня https://xss.is/threads/37092/ ?
Аноним 07/05/20 Чтв 14:00:08 1679621301
>>1679595
Если фильмы смотреть не можешь - это достаточно тревожный звоночек, подтяни все же англ.
Твоей базы недостаточно, вкатись плотно в кресты и OS internals помимо всего прочего. И подтяни то, что ты сказал (асм и си), а то ответ был какой-то смазанный, такое чувство, что ты не уверен, что шаришь в этом.
По ссылке - очень базовые вещи, связанные с пвн, это весьма базовый уровень. В настоящих кейсах, особенно если пытаешься атаковать более или менее серьезную программу, нужно искать несколько уязвимостей и составлять цепочку эксплоитов, чтобы добиться произвольного исполнения кода. Как пример - на последнем pwn2own нужно было построить цепочку из ДЕВЯТИ разных эксплоитов, чтобы удаленно исполнить код через дыры в safari, минуя сэндбокс и митигации. Часто приходится подключать поиск дыр в ядре. Но до такого уровня нужно пахать годы, ты пока подтяни базу и базовые знания эксплуатации.
И выкинь нахуй все материалы на русском языке, они бесполезны.
Аноним 07/05/20 Чтв 21:24:32 1680221302
>>1679241
Как ты узнал?! А если серьезно, то из виксов выросли и разошлись кто куда, опоздал ты.

>>1679368
Только CTF и желательно самому, без подглядываний.

>>1679595
Да это херня полная, копипаст и вода. Не советую сидеть на этих околотематических бордах которые создают иллюзию движа, там нет контента и знаний. Лучше подпишись в твиттере на топовых спецов, чтобы быть в курсе актуальных событий, следовать по течению и следи за конфами https://infocon.org/cons/.
Аноним 07/05/20 Чтв 23:07:07 1680325303
>>1680221
спасибо,а можно примеры топовых спецов в твиттере?
Просто по крайней мере смотря на аналитиков малвари оттудава мне хочется плакать и смеятся одновременно
Аноним 08/05/20 Птн 13:20:07 1680698304
>>1680325
Члены Google Project Zero - natashenka, 5aelo и прочие.
Вот отсюда >>1664140 можно бложики/твиттеры выступавших собрать.
Если накидаете своих линков, также был бы признателен.
Аноним 08/05/20 Птн 18:21:17 1681198305
3.png (17Кб, 870x284)
870x284
>>1584716 (OP)
хелпаните плезс.
Почему у меня при делении происходит такая бяка?
Пишу в Сасме на насме х64
Вот код - https://pastebin.com/n7QbfSTt
Собственно я пишу лабку(сначала на спп написал, чтобы легче было).
Аноним 08/05/20 Птн 20:49:08 1681471306
>>1681198
> fld qword[x]
Читает double, 8 байт, дробь с плавающей точкой. Ты хочешь fild dword[x]?
> i_fmt db "%d",0
Вводит инт, 4 байта, целое число. То же самое и с выводом.

Алсо, в коде на крестах у тебя вообще везде целые числа. Хуй знает, что тебе нужно сделать. Дальше не читал.
Аноним 08/05/20 Птн 20:55:25 1681484307
>>1681471
У меня дано число, которое состоит из 3-х цифр. Нужно получить 6 чисел, образованных при перестановке :1
>Читает double, 8 байт, дробь с плавающей точкой. Ты хочешь fild dword[x]?

Емм, да нет. Я просто поместил х в вершину стека FPU, чтобы делать разные над ним операции.

А есть другой способ?

Мне какбы да, нужно только с целыми числами работать.

Аноним 08/05/20 Птн 21:11:56 1681506308
>>1664065
дай пример что кто-то всунул поддержку юникода, хочу посмотреть детали. вроде в gta-sa с русиком пихали, но не уверен.
Аноним 08/05/20 Птн 21:12:10 1681507309
>>1681484
Есть целочисленные инструкции, (i)mul, (i)div, вот это все.

> Я просто поместил х в вершину стека FPU,
Ты поместил x и еще 4 байта из n1, все вместе интерпретированные как double.
Аноним 08/05/20 Птн 21:20:11 1681519310
>>1655676
мне нравится CheatEngine с его функциями отслеживания. Очень удобно смотреть что пишет-читает по адресам и бряки ставить самому не надо. Попердолил то что можно изменить, нашел область в памяти, нашел область в либе (если не exe), засунул туда INT 3 и потом ковыряешь в другом отладчике.
Аноним 08/05/20 Птн 21:23:16 1681524311
>>1681506
Я уже и не вспомню, это вообще на консолях было. Но обычно тебе нужно найти декодер (обычно часть какого-нибудь draw_text, но бывает копия в других местах, типа подсчета ширины строки в пикселах или в кастомном strlen). Этот декодер последовательность символов преобразует в последовательность текстурных координат глифов, ты его патчишь/заменяешь, текстуру перерисовываешь или дорисовываешь или несколько текстур, смотри как в майнкрафте юникод сделан. И еще координаты глифов находишь и патчишь, если глифы не моноширинные. Ничего сложного в таких патчах нет.

Обычно не заморачиваются и делают 1251, потому что русский в UTF-8 - это два байта на символ, и текст может куда-нибудь не влезть. Если проблем со свободным местом нет и лимитов движка на этот счет нет - можно запилить UTF-8.
Аноним 08/05/20 Птн 21:48:25 1681556312
>>1681524
>, смотри как в майнкрафте юникод сделан
в java или в нативном? и под какую платформу
Аноним 08/05/20 Птн 22:34:05 1681623313
>>1681556
В java. Там неебическое количество текстур с пререндеренными символами, а оно грузит использованные (видимо с каким-то LRU).
Аноним 09/05/20 Суб 21:01:40 1682452314
Аноним 09/05/20 Суб 21:07:19 1682463315
Тут байтоебы живут? Как там в НИИ?
Аноним 09/05/20 Суб 21:43:27 1682518316
image.png (48Кб, 792x858)
792x858
image.png (11Кб, 404x308)
404x308
image.png (56Кб, 936x388)
936x388
Дайте подсказку нуфагу
Нужно реализовать простой цикл на fasme
Я в нем полный нуб, написал такой код, по идее должно в ecx доходить до 15, после выходить из цикла. Результат - пик. Еще раз говорю, я в асме почти не шарю, не бейте палками за говнокод.
Аноним 09/05/20 Суб 22:02:27 1682545317
>>1682463
нет,тут никого из нии,тут всякие разрабы эксплойтов,малварщики,реверсеры,разработчики читов и студенты
собственно почти все выше перечисленные получают больше веб макак
Аноним 09/05/20 Суб 23:12:55 1682621318
>>1682518
Гугли x86 calling conventions (конкретно __cdecl). У тебя printf пидорасит eax/ecx/edx. Используй другие регистры (esi/edi/ebx/ebp) или сохраняй и восстанавливай эти (push/pop).
Аноним 09/05/20 Суб 23:15:21 1682626319
>>1682518
Ещё не разобрался?

Функция printf возвращает количество напечатанных символов (в регистре eax). Т.к. при первой итерации цикла она вернет 1, а добавление у тебя идет перед сравнением, то eax = 1, ecx = 2 ? (этот регистр тоже volatile (caller-saved) и может быть перезаписан во время вызова функции).
Аноним 09/05/20 Суб 23:17:07 1682628320
>>1682545
найс фантазии байтоеба. как там рыбные котлеты?
Аноним 10/05/20 Вск 04:30:18 1682778321
>>1682545
Сейчас как раз в нии и пишут малварь и эксплоиты.
Аноним 10/05/20 Вск 09:15:50 1682840322
>>1682463
Вообще заебись, только
не НИИ, а крупный энтерпрайз
не рыбные котлеты, а королевские креветки. С авокадо спелым вообще пиздатейше, лимонным соком полей - закачаешься.
Затарился паулайнером, а брецели забыл сука, сча в азбуке вкуса доставку заказывать буду
Аноним 10/05/20 Вск 09:37:42 1682850323
>>1682840
А нахуя батоёбы в тырпрайзе? Они ж там будут тыщу лет писать простейшую хуиту и всё сломают в итоге.
Аноним 10/05/20 Вск 09:49:54 1682857324
>>1682850
Писать может и тыщу, а читать молниеносно
Аноним 10/05/20 Вск 15:20:46 1683215325
>>1682621
>>1682626
Спасибо, разобрался, использовал другие регистры.
Аноним 10/05/20 Вск 18:26:00 1683387326
image.png (30Кб, 760x612)
760x612
image.png (16Кб, 641x374)
641x374
image.png (8Кб, 128x76)
128x76
Анончики, помоги, пожалуйста, решить лабу. Вылезает ошибка integer overflow при делении. Как исправить? Или что надо переписать, чтобы решить эту систему?
Аноним 10/05/20 Вск 18:54:08 1683414327
Я так понял, что на dx делить нельзя, и куда его впихнуть?
Аноним 10/05/20 Вск 19:06:34 1683427328
>>1683414
В другой регистр? В si впихни, ты его не используешь вроде.
Аноним 10/05/20 Вск 19:33:40 1683455329
Аноним 10/05/20 Вск 22:03:09 1683591330
>>1683455
А dx-то обнуляешь? Делится-то dx:ax на указанный регистр/память. Или на 8-битный регистр дели, тогда делимое будет в ax, а частное и остаток в al/ah соответственно.
Аноним 10/05/20 Вск 22:03:39 1683592331
Аноним 10/05/20 Вск 22:05:45 1683594332
image.png (159Кб, 612x572)
612x572
image.png (1Кб, 95x63)
95x63
Подскажите, как впихнуть три условия.
Задание: "Программа, которое вычисляет сумму значений функции, заданной системой уравнений для аргумента, изменяющегося в диапазоне [-2, 2] c шагом 1. [a, b], шаг = p
В программе должен быть предусмотрен ввод значений переменных в допустимых границах."
Аноним 10/05/20 Вск 22:26:03 1683600333
>>1683594
Проблему решил. Анончики из б сегодня зверствуют.
Аноним 10/05/20 Вск 23:53:55 1683639334
>>1683600
>Проблему решил. Анончики из б сегодня зверствуют. Менеджер в треде.
Аноним 11/05/20 Пнд 14:59:32 1684003335
Друзья в курсовой надо в теоретической части написать про fasm/nasm/gas есть какие-нибудь источники со сравнением/описанием/хар-ками, желательно на английском языке, с меня как всегда
Аноним 11/05/20 Пнд 16:39:24 1684076336
bhall.jpg (38Кб, 386x500)
386x500
Аноним 11/05/20 Пнд 22:36:32 1684425337
Суп, аноны.
Я, может, не совсем по адресу, тогда направьте, пожалуйста.
Суть вопроса такова: есть одна древняя игруля (сейчас уже мёртвая и никому не интересная, если что, т.е. никакого коммерческого интереса), есть бинарник её форка, перепиленный васянами и выложенный в интернет (не спизженый, самими авторами расшареный много лет назад без каких-либо лицензионных условий и соглашений); также есть исходник версии, которую форкали, их выложили на гитхаб авторы без лицензии.
Так вот что я сделал -- это пока частично отреверсил бинарник форка, активно пользуясь исходниками. Могу ли я теперь заливать на гитхаб результат в принципе и под GPL2 в частности?
Какой вообще статус кода, полученного в результате реверса (да, он зачастую запрещён явно лицензионным соглашением, но ведь не всегда, в частности не в моём случае)?
Аноним 11/05/20 Пнд 23:12:11 1684474338
хочу вкатиться в асм с си, присмотрелся к fasm'у. Какие подводные?
Аноним 12/05/20 Втр 01:51:37 1684569339
>>1684474
В линуксе проще с nasm, у которого есть нормальная отладочная информация, которую жрет gdb. Если у тебя винда, или некоторые неудобства под линуксом не пугают, или ты хочешь писать всякие патчи на макроязыке fasm - бери fasm, комьюнити вполне живое, всегда подскажут.

>>1684425
> Могу ли я теперь заливать на гитхаб результат в принципе
Заливать ты можешь что угодно. Чем старше игра, тем больше всем на нее похуй. Сейчас повадились издавать криво подправленное под современные ОС старье на gog или стиме, широко используя в том числе и фанатские патчи.

> GPL2
Нет.

> какой вообще статус кода, полученного в результате реверса
Погугли "clean room reverse engineering", что это, и почему появилось. Можешь еще наезды на ReactOS погуглить.
Аноним 12/05/20 Втр 07:19:09 1684674340
>>1684569
>clean room reverse engineering
Большое спасибо, почитал. Пиздец как копирасты охуели уже в конец.
Также нашёл годный FAQ от EFF https://www.eff.org/ru/issues/coders/reverse-engineering-faq , настроение такое же.
Ну и в конце набрёл на ГК РФ ст. 1280, которая в ч. 3 п. 3.3 явно запрещает мне шарить декомпилированный код.
Какое же днище вся эта система...

>> GPL2
>Нет.
Ну, продолжение игрушки (код на 80-90% тот же) авторы уже выкладывали сами под GPL2, так что тут точно могут быть обидки.

В общем, я решил по итогам всех чтений, что везде укажу авторов оригинала, авторов форка, и выложу в итоге на гитлаб, а не гитхаб; вроде, так риски бешенства копирастии минимализируются.
Аноним 12/05/20 Втр 13:23:07 1684929341
image.png (59Кб, 757x500)
757x500
image.png (43Кб, 763x485)
763x485
Аноним 12/05/20 Втр 16:10:59 1685208342
>>1684929
1.Что такое "малвар сайтс"?c2?Файлы где малварь распросмтранялась?Что вообще ты этим сказать то хотел?
2.Нахуй ты это припер в тред посвещенный асму?
Аноним 12/05/20 Втр 18:10:34 1685439343
>>1684929
Фишинг используется для распространения малвари. Уебывай с треда с своими картинками.
12/05/20 Втр 18:30:34 1685473344
Аноним 15/05/20 Птн 17:43:57 1689286345
image.png (124Кб, 916x576)
916x576
Sup, /pr/.
Вкатываюсь в RE. По совету шапки начал с Дениса Юричева - RE для начинающих, честно читал, честно понимал все, что касается x86 архитектуры, а MIPS, ARM не интересны. Но в разделе "Специфичное для ОС" почувствовал неимоверную интеллектуальную слабость, т.к. просто не понимаю как устроена ОС, знаю там про ring, про порядок загрузки, крч максимально обзорный курс, но по факту не одупляю что происходит. Кстати аналогичную проблему испытал, когда видел листинги шифраторов или генераторов хэша.
Вопросик в чем собственно. Есть что-нибудь фундаментально, что можно еще взять почитать? Вроде примеры разобрал, управления делал, а скачиваю crackmes.one что-нибудь, не вывожу. Анончики, как подступиться к великому???
Аноним 15/05/20 Птн 18:52:58 1689402346
>>1689286
Таненбаум,
Немецкий автор с 10 изданием про ОСи,
Windows internals, седьмое или шестое издание по две части в каждом

Также можно глянуть OSDev.org и архитектуру компьютера, хеннесси и тд.

Аноним 19/05/20 Втр 21:24:08 1694238347
Capture.PNG (88Кб, 744x413)
744x413
>>1584716 (OP)
>Денис Юричев: "Reverse Engineering для начинающих"-
Аноним 19/05/20 Втр 21:51:27 1694261348
>>1689286
На мой взгляд читать Тененбаума и прочие книжки по ОС какая-то не то чтобы пустая трата времени, но неоптимальность в этом деле. Самое эффективное взять и прочесть код маленькой ОС, у меня только после этого сложилось понимание. Советую сюда глянуть https://pdos.csail.mit.edu/6.828/2018/schedule.html
Ещё можешь пройти курс на степике по ос, их там кажется 2, тебе нужен где помоложе чувак ведёт - но обязательно заходи на гитхаб курса и читай код, там помнится таки написана ОС.
Без кода имхо уверенного понимания не появиться.
Аноним 20/05/20 Срд 08:16:48 1694540349
>>1694238
отпиши ему,он там чуть ли не каждый день обновления книжки делает
Аноним 20/05/20 Срд 14:04:35 1695050350
Список изменений IDA PRO 7.5:
https://www.hex-rays.com/products/ida/news/7_5/

Апдейт очень даже жирный, все таки конкуренция заставила Ильфака двигать булки.

Тем не менее, 7.5 версия вышла, а полноценного кряка с 7.0 все еще не завезли. Как так то?
Аноним 20/05/20 Срд 16:00:12 1695193351
>>1694261
>На мой взгляд читать Тененбаума
на мой взгляд Тененбаум это такой научпоп, чтобы читать дополнительно, в этом плане он заходит.
Аноним 20/05/20 Срд 16:01:22 1695197352
Аноним 20/05/20 Срд 16:02:25 1695200353
>>1684674
идеально было бы переписать игрушку своими словами, копируя механику оригинала. (такое не редкость, см. опенсорсные форки) но этого надо очень захотеть.
Аноним 20/05/20 Срд 16:48:14 1695261354
>>1695050
>полноценного кряка с 7.0 все еще не завезли
Хм.. Может я тебя не совсем верно понял, а чем ликнутая 7.2 не устраивает?
Аноним 20/05/20 Срд 21:30:38 1695555355
>>1695261
Там нет hex-rays'a для x86.
Аноним 21/05/20 Чтв 16:47:32 1696425356
15879619103830.jpg (109Кб, 600x600)
600x600
Поясните за radare и прочее такое. Они могут в работу через stdin / stdout? Т.е получили на вход инструкцию с операндами и на выходе выдали значение всех причастных регистров? Гуглил насчёт GDB, он под шиндовс как-то мутно устанавливается. И ещё то же про LLVM интересно, есть для него отладчики под шиндовс с вышеописанной возможностью? Опять же потому что с LLDB все как-то неоднозначно.
Аноним 21/05/20 Чтв 18:06:27 1696562357
>>1696425
Возьми или напиши себе эмуль такой. Можешь взять unicorn в качестве основы.
Аноним 21/05/20 Чтв 23:20:29 1696953358
Аноним 22/05/20 Птн 06:17:12 1697203359
Screenshot20200[...].png (155Кб, 720x1280)
720x1280
Screenshot20200[...].png (165Кб, 720x1280)
720x1280
>>1696953
Без контекста это гуглить никакого смысла нет. Выдает какие-то биржи, децибелы итд.
Аноним 22/05/20 Птн 07:01:58 1697216360
>>1697203
Очевидно что речь о dynamic binary instrumentation и dynamic symbolic execution советую triton, юзал для деобфускации, он неплох
Аноним 22/05/20 Птн 07:23:09 1697225361
>>1697216
> dynamic binary instrumentation
> Очевидно что речь о dynamic binary instrumentation и dynamic symbolic execution
Что вообще никак не связано с вопросом >>1696425 Ясно, понятно.
Аноним 22/05/20 Птн 07:49:41 1697233362
Окна.png (14Кб, 104x106)
104x106
Трёхкратная упаковка.
Аноним 22/05/20 Птн 09:05:49 1697266363
>>1584716 (OP)
Аноны, как нормально реверсить форматы файлов? Знаю что там используется какое-то сжатие, xor-обфускация и в этом лежат шифрованные RC4 данные. Теоретически есть ключ для RC4, но похоже из-за сжатия/обфускации он не подходит. Два дня убил, результатов пока ноль. Реверсить алгоритм чтения? Ковырял гидрой, нашел где всё это безобразие происходит, но там пиздец, основная функция на 1000 строк и ещё десяток функций в ней. Логично было бы от получения данных с диска идти, но распаковка где-то не рядом происходит. Может есть хоть какие-то примеры как люди ковыряюсь такое говно?
Аноним 22/05/20 Птн 11:45:01 1697434364
>>1697266
А какая цель: получить содержимое файла или алгоритм узнать?Работащий экземпляр программы есть, которая файлы читает, откуда алгоритм чтения?
Аноним 22/05/20 Птн 12:09:08 1697491365
1438095216735.png (104Кб, 1335x1415)
1335x1415
>>1697434
> алгоритм узнать
Это. Пердольный способ криво распаковать и так есть.
> Работащий экземпляр программы есть, которая файлы читает, откуда алгоритм чтения?
Да. Но там десятки функций между функцией, принимающей параметры чтения и путь, до виндового ReadFile. IDA вообще нечитаемый пиздец высерает пикрилейтед, в гидре вполне читаемо, но нихуя не понятно в такой куче. Как мне, например, проследить путь данных от ReadFile? Тут какой-то ООП и данные сразу уходят из функций в никуда и хуй поймешь что потом их обрабатывает.
Аноним 22/05/20 Птн 13:14:32 1697571366
>>1697225
> Т.е получили на вход инструкцию с операндами и на выходе выдали значение всех причастных регистров?
> Что вообще никак не связано с вопросом
Иди учи мат. часть, потом возвращайся.
Аноним 22/05/20 Птн 19:05:53 1697914367
>>1697491
> Тут какой-то ООП
Создавай типы @ проставляй типы, и будет читаемый и понятный пиздец. Главное - не лениться.
Аноним 23/05/20 Суб 16:41:10 1698978368
>>1697491
Ну, по алгоритму - тебе придется разбираться самому с переменными и названиями, и что они обозначают. Подстановка нормальных имен несколько упростит дело, как писали выше.
По поводу формата файлов, чтобы проще было начать раскручивать цепочку архиваций - погугли список заголовков файла-архива в зависимости от типа архива. Вот zip-ники к примеру с "PK" начинаются
Аноним 23/05/20 Суб 23:20:34 1699552369
>>1695200
Объективно нереально... Там 2000+ функций, исходники оригинала в 110к строк олдовой сишки (т.е. с функциями по 300+ строк, макросами для односвязных списков, свой мини-менеджер памяти, мини-субд и даже блять скриптовый язычок для ИИ), в форке который реверсю из бинари ещё напердолено процентов 10-15 от этого по объёму. Я сам игровую механику знаю только в малой части, чтоб с нуля запилить.

Но я с новым вопросом. Вот что-то нарисовалось в гидре в первом приближении. Теперь я это всё экспортирую в декомпилированном виде. Я верно понимаю, что аналогичной кнопки для экпорта типов (структур, енумов) нету? А то их 100+, во многих десятки полей, руками лень. Питухон-скриптингом это наверняка решится, но есть ли лучший способ? Загуглить не удалось.
Аналогичный вопрос с константами. Со строковыми у меня костыльный внешний скрипт, который ищет их в выводе гидровского декомпилятора и подставляет фактическое значение в кавычках из указанного адреса, а есть ещё и просто константные массивы чисел/структур. Их бы в си-синтаксисе вывести. Тоже скриптом изнутри гидры надо делать?
Аноним 23/05/20 Суб 23:42:02 1699575370
>>1699552
> Объективно нереально... Там 2000+ функций, исходники оригинала в 110к строк олдовой сишки (т.е. с функциями по 300+ строк, макросами для односвязных списков, свой мини-менеджер памяти, мини-субд и даже блять скриптовый язычок для ИИ), в форке который реверсю из бинари ещё напердолено процентов 10-15 от этого по объёму

Пфф, люди клиенты онлайн-игр реверсят и сервера с нуля пишут, WoW как пример. Было бы желание и время.
Аноним 24/05/20 Вск 00:30:34 1699587371
>>1699575
Это делают наёмные команды реверсеров и разработчиков. И получается плохо совместимое говно, лишь по форме напоминающее оригинал, и то благодаря тому, что клиент тот же самый.
Аноним 24/05/20 Вск 01:22:28 1699610372
>>1699575
Вов никто не реверсил, были многократные утечки.
Аноним 24/05/20 Вск 11:12:45 1699725373
>>1699575
>trinitycore
>является форком проекта Massive Network Game Object Server. В самом начале проект разрабатывался девелоперами UDB
>На данный момент, в репозитории присутствуют патчи более чем от 180 авторов.[7]
>90% Blizzlike with custom fixes
>blizzlike
>blizzlike
>99% compatible
>blizzlike

Да ты же троллишь.
Зачем реверсить игровую механику? Запили свою!
Зачем реверсить задачу CTF? Запили свою!
Зачем реверсить малварь? Запили свою!
Аноним 24/05/20 Вск 11:13:59 1699727374
>>1699725
> Зачем реверсить малварь? Запили свою!
Звучит как план.
Аноним 24/05/20 Вск 11:47:31 1699752375
>>1597130
А на ассемблере можно написать сайт?
Аноним 24/05/20 Вск 11:52:33 1699754376
>>1699575
>>1699610
Интересно, а в гта 5 создатели РП модов тоже сидели реверсили саму игру или им разрабы подогнали СДК свой?
Аноним 24/05/20 Вск 11:54:54 1699755377
Аноним 24/05/20 Вск 12:17:08 1699777378
Аноним 24/05/20 Вск 12:35:28 1699795379
image.png (1096Кб, 650x701)
650x701
>>1699727
>Зачем реверсить малварь? Запили свою!
Аноним 24/05/20 Вск 15:23:38 1700004380
>>1699795
>>1699727
Опять вы в чистый и невинный асм тред протекаете. Тут таким не занимаются.
Аноним 24/05/20 Вск 17:25:45 1700275381
>>1699725
> Зачем реверсить игровую механику? Запили свою!
Лучше с точностью воспроизводить все найденные баги и плакать?
Аноним 25/05/20 Пнд 07:38:38 1701116382
>>1700275
Я, честно, не понимаю, в чём ты меня хочешь убедить.
Есть игра, с механикой несколько сложнее, чем у тетриса; реверсить её как "чёрный ящик" вообще не вариант, чтобы разобраться как всё работает я и полез в исходники оригинальной версии, там выяснил, что в форке много чего переделано и доделано, как именно -- а хуй знает, опять же, слишком сложный чёрный ящик. Отсюда необходимость реверса. А ты мне предлагаешь делать своё, "похожее". Да нахуй оно мне надо-то? Похожих опенсурсных игр ёбаная тьма, больше чем игроков в них осталось (а-ля рогалик).
И это в треде про реверс я оправдываюсь за реверс... нонсенс. Лучше б дал скрипт для вытягивания из гидры тайпдефов и константных структур в си-синтаксисе.
26/05/20 Втр 07:54:00 1702746383
игродети, съебите в свой загон
26/05/20 Втр 18:11:47 1703451384
Аноним 28/05/20 Чтв 14:05:07 1705584385
>test rax, rax
А в чем смысл?
Аноним 28/05/20 Чтв 19:27:00 1706027386
>>1705584
Чтобы выставить ZF обычно.
Аноним 31/05/20 Вск 17:17:02 1709215387
image.png (23Кб, 642x502)
642x502
Помогите мне, пожалуйста. Я отчаялся.
Написал я программу. Все работает.
Второй пункт задания была вызов этой функции из под си.
В си мы вводим вещественное число, передаем в асмовскую функцию, а она ее возвращает.
Не могу никак написать код возвращения.
Читал, что нужно использовать для этого ФПУ(st0) - пробовал(пик 1)
- не работает. Также через еах пробовал. Тоже не работает
Помогите.
Код прилагается:
1. Сишный код(пик)
2. Асм - https://pastebin.com/k4bqgFKr [nasm, sasm]
31/05/20 Вск 17:31:45 1709224388
>>1709215
Строки 36-37 в ассемблерном листинге удоляешь, в сишном коде в объявлении FBG меняешь тип возвращаемого значения с int на double.
Аноним 31/05/20 Вск 17:34:52 1709229389
>>1709224
КАК я не заметил этого, боже. Я про тип функции в си. Ну конечно. Спасибо тебе.
Про 36-37. Забыл убрать когда отправлял код.
Аноним 02/06/20 Втр 12:38:56 1710792390
Сап, реверсач. Рубрика вопросов от ньюфага. Учил насм по Assembly Language Step-by-Step, и местный дядька всё по красоте разъяснял. Но увы, чересчур дохуя воды, потому решил пушить язык первосоздателей через РЕ хеллоуворлдов у Юричева(первые две главы) осло читается просто охуенно
Так вот вопросы:
-насколько адекватен подход обучения асме через РЕ;
-посоветуйте что-нибудь простенькое для проверочки знаний: парсер-хуярсер, польский калькулятор, небольшая утилитка..
Аноним 02/06/20 Втр 13:49:25 1710827391
>>1710792
>подход через РЕ
ТОЛЬКО ЕСЛИ тебе будет ментор компилить что-то, потому что ты можешь понезнанке компильнуть этот хеловорлдец в условной студии2012, которая в листинг напихает кучу непонятной для тебя хуеты.
Аноним 02/06/20 Втр 14:37:19 1710866392
>>1710827
>хеловорлдец в условной студии2012
Пока компилирую только в гцц с разными ключами на оптимизацию.
Студии, арм и мипс не трогаю.

>ТОЛЬКО ЕСЛИ тебе будет ментор компилить что-то
И где такого дядьку взять? Помогать на чистом энтузиазме со всяких лоров врядли кто-то будет.

>, которая в листинг напихает кучу непонятной для тебя хуеты.
То что гцц выдаёт - относительно ясно и понятно. Листинги от Юричева по другим архитектурам читаю по диагонали и не сказать, что там уж очень много магии.
Аноним 02/06/20 Втр 16:21:29 1710947393
>>1710792
Немного туда же вопрос, а челленджи у Юричева ньюфаг осилит? И да, я так понимаю, хорошо бы вникать и в арм, и мипс, чтобы суть вопроса увидеть с разных сторон - или это чисто идеалистическое представление, т.е. если интересна архитектура x86-x64, то можно и скипнуть?
Аноним 02/06/20 Втр 18:42:21 1711121394
Посоветуйте годную книженцию по ARM для полного нуба в ассемблере.
Аноним 04/06/20 Чтв 12:18:43 1712740395
Аноним 04/06/20 Чтв 19:01:54 1713227396
В тред призываются мамкины хакеры оффлайн игр.
Есть игрушка Kenshi и у меня появилось желание взломать статы, чтобы ускорить процесс раскачки на поздних стадиях, но игра использует mulss, addss и оперирует регистрами rx и xmm. Собственно я совсем не понимаю, как мне написать скрипт и сделать интеграцию в бинарник Кенши. Если хоть кто-то готов мне помочь я буду уже скидывать инфу по процессу
Аноним 04/06/20 Чтв 21:33:20 1713360397
05/06/20 Птн 10:19:11 1713733398
>>1713360
По делу не помогу, но:
> вообще правильно ли я транслировал?
У тебя есть .s, собери его. У тебя есть твой код, собери его. Потом накорми оба какими-нибудь данными и сравни.
Аноним 06/06/20 Суб 10:05:14 1714811399
>>1584716 (OP)
> Денис Юричев: "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна! Вот прямая ссылка https://beginners.re/RE4B-RU.pdf
Хочу напечатать ее в типографии, чтобы с твердой обложкой и переплетом. Никто тут этим не занимался? А то с компьютера мне тяжело читать, все плывет.
Аноним 06/06/20 Суб 10:24:56 1714814400
>>1714811
Идёшь в типографию и печатаешь. Лучше скооперироваться, тираж из одного экземпляра будет ебанически дорогим.
Аноним 06/06/20 Суб 12:54:16 1714877401
Не подскажите, какая инструкция используется в ассемблере для перемножения чисел с плавающей точкой. Есть у меня значение 100.0 в регистре eax и есть 1.2 в ebx. Мне их надо перемножить, а то с использованием mul и imul у меня выдаёт целое
Аноним 06/06/20 Суб 13:08:17 1714892402
>>1714877
>Есть у меня значение 100.0 в регистре eax и есть 1.2 в ebx.
Для скаляров mulss и mulsd.
Аноним 06/06/20 Суб 14:21:11 1714922403
>>1714877
> eax
> плавающая точка
Толсто.
06/06/20 Суб 14:32:23 1714926404
Аноним 06/06/20 Суб 14:57:12 1714936405
>>1714926
Ну поведай же нам, как в 32 бита поместится 80.
Аноним 06/06/20 Суб 15:36:33 1714963406
>>1714936
в тваю мамашу как та памещается жи
Аноним 06/06/20 Суб 15:43:13 1714973407
>>1714936
80 - это long double. А вот во float всего 32.
Аноним 06/06/20 Суб 17:45:41 1715029408
Аноним 06/06/20 Суб 18:19:32 1715052409
>mulsd xmm0, QWORD PTR [rcx-2400]
Какой ассемблер проглотит это?
Аноним 06/06/20 Суб 19:01:21 1715067410
>>1714877
Опять пишу, чтобы мне поведали истину. Можно ли в ассемблере сделать сравнение по типу больше чем?
То есть у меня есть код и мне надо, чтобы он остановился после того, как значение превысит 100, дело в том, что сравнивать надо тип float, а стандартное cmp не может сравнивать больше чем.
Может есть инструкция, которая может?

Кстати, с умножением разобрался, кто же знал, что mulss требует двух операторов
Аноним 06/06/20 Суб 19:10:08 1715076411
>>1715067
> стандартное cmp не может сравнивать больше чем
Тебе мало? Сравниваешь cmpless, как только получишь ноль в маске - останавливаешься.
Аноним 06/06/20 Суб 19:13:06 1715079412
>>1715052
>The (V)MULSD instruction multiplies the double-precision floating-point value in the low-order
quadword of the first source operand (an XMM register) by the double-precision floating-point value
in the low-order quadword of the second source operand (an XMM register or a 64-bit memory
location) and writes the result in the low-order quadword of the destination XMM register.

Но насм сообщает о мисматче между xmm и 8 байтами.
Куда ходить дальше?
Аноним 06/06/20 Суб 19:16:25 1715090413
>>1715076
Спасибо большое, не заметил третьего оператора
06/06/20 Суб 19:39:46 1715113414
>>1715079
> Куда ходить дальше?
За нормальным ассемблером. Или скажи ему, что там tword, и он заткнется.
Аноним 08/06/20 Пнд 20:00:04 1717041415
>>1715113
>>1715113
>За нормальным ассемблером.
за флатом?
>Или скажи ему, что там tword, и он заткнется.
tword - 10 байт, xmm - 16 байт. Как ни странно, насм его понимает, однако та же беда с мисматчем. Пробовал dqword и xword(по 16 байт), но с ними насм вообще не дружит, судя по мануалу и фактам.
Аноним 08/06/20 Пнд 22:17:49 1717157416
>>1717041
Поэкспериментировал. Все работает, если размер не указывать вообще.
Аноним 09/06/20 Втр 20:35:57 1717997417
Screenshot20200[...].png (179Кб, 1920x1057)
1920x1057
Уважаемые байтоебы, BugTraq за авторством seclists.org с февраля болеет.
Хотел спросить, где вы еще собираете аналогичную информацию по свежим дырам помимо очевидного nvd.nist.org?
Аноним 11/06/20 Чтв 11:52:34 1719211418
>>1717157
>Все работает, если размер не указывать вообще.
Спасибо, анон.

А правда, что весь патчинг сводится к изменению опкодов и иммов в бинарях? Если да, то есть смысл практиковаться писать патчи, скрипты, когда можно всю работу спокойно сделать через условный радар?
Аноним 12/06/20 Птн 17:47:56 1720583419
Аноним 12/06/20 Птн 17:52:47 1720589420
>>1720583
Отбой. Ошибка есть win 7
Аноним 12/06/20 Птн 18:07:13 1720593421
не первый раз открываю ваш тред хочу начать вкатываться, но потом почему-то пугаюсь и закрываю тред. я даже в своих с\с++ не силён, какие мне asmы хотя мне сказали что освоение asm поможет мне понять некоторые моменты в с\с++
Аноним 14/06/20 Вск 07:56:29 1722165422
>>1714811
печатаешь на А4, а потом ищешь тех кто у вас в городе переплетает дипломы и т.п.
Аноним 14/06/20 Вск 12:40:25 1722278423
че как успехи в реверсе пацаны
Аноним 14/06/20 Вск 18:22:50 1722831424
>>1722278
Хочу реверсить всё что движется.
Аноним 15/06/20 Пнд 04:49:07 1723181425
>>1722278
норм,заработал где-то баксов 300 недавно,как школьнику мне збс
Аноним 15/06/20 Пнд 07:19:56 1723218426
Аноним 15/06/20 Пнд 17:56:58 1723907427
Хочу попрактиковаться в ассемблере для arm. Существуют ли виртуальные эмуляторы симуляторы arm процессора, чтобы можно было запускать код без наличия физического устройства?
Аноним 15/06/20 Пнд 21:57:21 1724139428
>>1723907
qemu (можно прямо qemu-aarch64/qemu-arm, чтобы запускать ARM-ные бинарники - оно будет на лету транслировать исполняемый код, но использовать системные вызовы твоей ОС). Если нужна полноценная вм, то qemu-system-arm/qemu-system-aarch64 соответственно.
Аноним 15/06/20 Пнд 22:17:01 1724159429
>>1724139
Премного благодарен
Аноним 15/06/20 Пнд 23:24:26 1724227430
>>1723218
крякнул несколько программ для сео и около того
Аноним 15/06/20 Пнд 23:33:31 1724230431
>>1724227
За это можно и по рукам получить. Как зарабатывать на асме легально?
Аноним 16/06/20 Втр 00:16:34 1724268432
Аноним 16/06/20 Втр 05:42:28 1724368433
>>1724230
Антивирусные компании,ресерч,эксплойт дев(на гране,но если на какой-то зиродиум,то норм),поиск зиродеев,реверс ембеддед прошивок,приложений и много чего еще(на хх иногда появляются вакансии даже с приличными зп в 200-300к)
Ну вообщем много вариантов,это достаточно перспективно как мне кажется.Возможно вакансий меньше чем быть вебером или там на джаве что-то писать,но за то ты редкая птица,тебя так просто не заменить и не уволить
Я особо не боюсь получить по рукам-авторы программ не из россии,не платят налоги или чего-то такого.Да и использовать эти проги будут пару человек которые у меня это заказывали
Аноним 16/06/20 Втр 13:44:57 1724623434
Есть что-то лучше AsmJit? Алсо, стоит обмазываться дизассемблером для автоматизации патчей или это слишком медленно и лучше вручную смотреть байты в отладчике?
Аноним 16/06/20 Втр 14:22:34 1724656435

>Есть что-то лучше AsmJit?


Есть, LLVM. Разработчики эмулятора PS3 даже него как раз целиком перешли в качестве машинокодогенератора. Раньше у них был LLVM для основного ядра powerpc и asmjit для недоядер SPU
Аноним 16/06/20 Втр 15:05:48 1724688436
>>1724656
> LLVM
Но он же для других задач, разве нет? Он же как JIT херовый, только под компиляцию заточен. Посмотрел примеры и там ад какой-то. Как вообще кодить с ним? Плюс он тяжелый, заебешься таскать с собой. А весь AsmJit весит 100 кб. С AsmJit хуяк-хуяк и запускаем код, а на LLVM какие-то портянки никак с асмом не связанные. Да и я же не пишу ЯП, мне просто на ходу код генерить и запускать. Расскажи хоть как его кушать правильно.
Аноним 17/06/20 Срд 17:36:03 1726248437
Сап, байтоёбы, что за двухрегистровое ископаемое с нижеприведенным сэтом:

>"IM n" // load the constant value n into R0
>"AR n" // load the n-th input argument into R0
>"SW" // swap R0 and R1
>"PU" // push R0 onto the stack
>"PO&