В этом треде мы изучаем самый компактный и низкоуровневый язык Ассемблер и смежную с ним область: Реверс-инженеринга (RE).
Вы пишите на ассемблере или собираетесь начать на нём писать? Программируете микроконтролёры, пишете драйвера для ОС, а то и саму ОС? Вам сюда. Вы изучаете алгоритмы работы закрытого софта, пишите патчи бинарников? Вам тоже сюда.
Попрошайки с "решите лабу по асме за меня" идут в общий тред, а лучше нахуй.
Инструменты для RE: Дизассемблеры: 1) IDA Pro Torrent Edition 7.2 | 7.0 | 6.8 на выбор. Иногда ограничения версий x86/x64, патчинг, вылеты прилагаются 2) IDA Freeware 7.0 - бесплатная для некоммерческого использования Важные функции/процы/форматы не завезли, саппорт все обращения ксорит побайтово. 3) IDA Home - тем, кто реверсит для хобби 365$ в год, ага. Умеет на выбор PC|ARM|MIPS, обычные и х64. Завезли IDAPython, но забыли Decompiler. 4) Ghidra - главный конкурент IDA Pro, разработка NSA под свободной лицензией. Тормозной Java UI, гипотетические звездно-полосатые анальные зонды в комплекте. 5) Radare 2 | Cutter - консольный + гуй на Qt дизассемблер. Умеет в Ghidra decompiler. Предположительно нужен только клиническим, не умеющим в скачивания торрентов, пользователям альтернативных ОС. 6) Hiew - Hex-редактор и легкий x86|64|arm дизассемблер за копейки. AV-ресечеры текут, вирьмейкеры боятся, поклонники st. Криса грят малаца. 7) Остальное
Отладчики: 1) x64dbg - х86/64 юзерспейс виндовый отладчик с открытым кодом не Olly же в 2020, верно?; 2) WinDbg - родной виндовый дебаггер от MS 32/64 битные приложения, драйвера, анализа аварийных дампов - это все к нему;
Пиздец, это больно. Лох это судьба. Следите за руками) Основная идея - после распаковки глифов изменить джамп на свой код который меняет глифы на русские. Нужный джамп найден, код написан. Где разместить этот код? Оказалось что игра начинается со 150 сектора, видимо так сделано для того чтобы не изнашивался cd-rom приставки(догадки). Значит я могу разместить этот код в 149 секторе, считать его в конец user_memory и пусть он там лежит и ждёт джампа. Но надо где-то разместить код на считывание этого сектора. Нашёл кусок кода который можно спокойно занопить, около 20 команд получилось, оказалось мало. Решил в начале этого 149-го сектора разместить код который бы сразу исправлял все джампы и возвращал код в исходное состояние. Сделал. Теперь игра запускается только на эмуле ePSXe, видимо другие эмули не понимают изменения кода после того как запущена игра. Решил найти побольше места чтобы разместить "полноценный" код на считывание сектора, без всяких изменений кода после запуска. Сделал, пикрилейтед. Теперь внимание вопрос: зачем вообще вся ебала с этим сектором, если в том месте где я разместил код свободно 1000 байт, 250 команд. Я же могу просто там сразу разместить код на изменение глифов без всяких секторов.
В этом треде есть финалисты хоть одного flare on? Это вроде как самый дрочёный подобный кункурс на планете для опытных сеньёров реверсеров, но пройдя все его челендши не обязательно сможешь попасть на собес в fire eye. Ведь финалистов каждый год где-то человек 200, а визы fire eye раздёт всего несколько десятков ежегодно. Похоже, что даже не всем финалистам пижет рекрутёр. Какой тогда нужен уровень чтобы получить офер хоть куда-нибудь из штатов? Учитывая, что большинство контор хотят гражданство, чистую биографию, полиграф и доступ к гостайне. Даже майкрософт теперь только таких нанимает. Пиздец короче. Я расстроен.
ну и да, зачем ты какие-то там сектора пердолишь, я не понимаю, на всех дисках плойки один и тот же формат - исполняемый elf файл с именем в виде сосоневского кода релиза и system.cnf, где биосу указывается какой файл читать.
XXXX_NNN.NN (Boot-Executable) (filename specified in SYSTEM.CNF) FILENAME.EXE (General-Purpose Executable) PSX executables are having an 800h-byte header, followed by the code/data.
000h-007h ASCII ID "PS-X EXE" 008h-00Fh Zerofilled 010h Initial PC (usually 80010000h, or higher) 014h Initial GP/R28 (usually 0) 018h Destination Address in RAM (usually 80010000h, or higher) 01Ch Filesize (must be N*800h) (excluding 800h-byte header) 020h Unknown/Unused (usually 0) 024h Unknown/Unused (usually 0) 028h Memfill Start Address (usually 0) (when below Size=None) 02Ch Memfill Size in bytes (usually 0) (0=None) 030h Initial SP/R29 & FP/R30 Base (usually 801FFFF0h) (or 0=None) 034h Initial SP/R29 & FP/R30 Offs (usually 0, added to above Base) 038h-04Bh Reserved for A(43h) Function (should be zerofilled in exefile) 04Ch-xxxh ASCII marker "Sony Computer Entertainment Inc. for Japan area" "Sony Computer Entertainment Inc. for Europe area" "Sony Computer Entertainment Inc. for North America area" (or often zerofilled in some homebrew files) (the BIOS doesn't verify this string, and boots fine without it) xxxh-7FFh Zerofilled 800h... Code/Data (loaded to entry[018h] and up)
The code/data is simply loaded to the specified destination address, ie. unlike as in MSDOS .EXE files, there is no relocation info in the header. Note: In bootfiles, SP is usually 801FFFF0h (ie. not 801FFF00h as in system.cnf). When SP is 0, the unmodified caller's stack is used. In most cases (except when manually calling DoExecute), the stack values in the exeheader seem to be ignored though (eg. replaced by the SYSTEM.CNF value). The memfill region is zerofilled by a "relative" fast word-by-word fill (so address and size must be multiples of 4) (despite of the word-by-word filling, still it's SLOW because the memfill executes in uncached slow ROM). The reserved region at [038h-04Bh] is internally used by the BIOS to memorize the caller's RA,SP,R30,R28,R16 registers (for some bizarre reason, this information is saved in the exe header, rather than on the caller's stack). Additionally to the initial PC,R28,SP,R30 values that are contained in the header, two parameter values are passed to the executable (in R4 and R5 registers) (however, usually that values are simply R4=1 and R5=0). Like normal functions, the executable can return control to the caller by jumping to the incoming RA address (provided that it hasn't destroyed the stack or other important memory locations, and that it has pushed/popped all registers) (returning works only for non-boot executables; if the boot executable returns to the BIOS, then the BIOS will simply lockup itself by calling the "SystemErrorBootOrDiskFailure" function.
The PSX uses the standard CDROM ISO9660 filesystem without any encryption (ie. you can put an original PSX CDROM into a DOS/Windows computer, and view the content of the files in text or hex editors without problems).
>>1839931 Надо отдохнуть. Там ещё ссылки на глифы же. Я, допустим, изменю глифы, так надо же чтобы глифы писались в нужном порядке. А я пока не знаю структуру этих ссылок, может и не зря сектор этот. Чем дальше, тем больше проблем. Как искать весь текст в игре? Все диалоговые окна, ладно, это потом.
>>1839891 Ты же понимаешь что лучше иметь портфолио, чем не иметь. Редко когда желаемое совпадает с действительностью, выстрелит в другом месте, может даже не в программировании. Но по любому ты ничего не теряешь, а только приобретаешь.
>>1840685 Меня больше напрягает не сложность это освоить, а то, что этого уровня недостаточно для больших достижений. Предел мечтаний большинства айтишников это попасть в кремневую долину и это многим удаётся. Даже индусам. А вот реверсеру с навыками даже чтобы пройти весь flare on всё равно сложно туда попасть. Было бы гораздо легче если бы существовал какой-нибудь достежимый порог пройдя который можно было бы получить офер на зарплату мечты.
>>1842631 Потому что работа реверсера в корне отличается от работы дева. Более того, около 90% вак на реверсера - это в ЛУЧШЕМ случае серая работа, а порой и черная.
>>1842631 обращаюсь к треду вообщем,не только к тебе не понимаю вашего желания РАБотать Вот ты весь такой супер гений,ищешь зиродеи,реверсишь все что запускается и не запускается,дебажишь ядро винды с закрытыми глазами и сука хочешь работать в обоссаной антивирусной конторе с анальными зондами в жопе чтобы потом сидеть ковырять сраную обфусцированную,виртуализированную и 100500 раз поморфленную малварь за не самые большие бабки Еще за это место жопу надо рвать,какие-то конкурсы решать,ехать куда-то в жопу мира на собес Вы ебанутые?
Почитал тред. Асм и реверс - онли хобби для себя, или там черех хекс сделать так чтобы у перса не было лука как в фар крае лол. Практической пользы от вашего асма то бишь обертки для си - нету. Лучше учить питон тогда или си шарп на крайняк. Да и порог вхождения - легче блять королеву британии выебать чем выучить асм рили. Я уже не говорю про диалекты. Кароче, скачал радар, написал хелло ворд на си, посмотрел оп коды в асме. И все. ДАльше не могу понять куда это применить.
>>1844060 Все так, но это уже завод, производство, те - это уже не рашка - порашка, и опять же - порог вхождения, либо с детства надо дрочить, либо акью должно быть выше 150 как минимум. В рашке - тем более что процы - это не ее конек, и при то что вся тех документация на ангельсом, и еще для каждого проца - куча разных регистров и прочая хуйня, с асмом рашке и реверсом - делать нечего вообще. КРоме хобби, или чернухи, но там трабла с трафиком уже.
>>1844070 Не все так печально. В срашке-парашке, конечно, с этим куда печальнее, чем в нормальных странах, но даже в парашке можно устроиться малварщиком в ту же лабораторию касперского. Да, нужно быть пиздатым, но это возможно.
>>1844694 Там же платят копейки ебанные,не? слышал о 50-70к не на юниора,а на нормального вираналитика В дс на эти деньги жить тяжело,только если у тебя своя хата мб
>>1845356 в парашке, равно как и во всей СНГ-помойке, только вебмакакой и работать, другие отрасли в айти просто мертвые. Хочешь получать много денег за байтоебство - тебе за бугор.
Вопрос от долбоеба... Есть онлайн игра есть для нее читы и есть один тип который релизит очень быстро - после обновления или патча самой игры... Быстро где то 3-4 часа край 5 часов...
>>1846025 Интересует как он быстро релизит с технической стороны... Читы его постоянно не в детекте + встроенный hwid spoofer Может есть какие то автоматизированные штуки на основе (SDK IDA PRO)по поиску оффсетов и рефлекшен классов объектов и прочего ...? А тоя в этом неособо сильно шарю как этот тип
Он может просто хорошо знать устройство взламываемой системы, думать на несколько шагов вперед, предсказывать какие дырки будут залатаны и иметь в запасе запасные эксплойты.
На прошлой неделе было два микро обновления в четверг и в пятницу... И кадый день и в четверг и в пятницу он накатил релиз нахой.... А я тут простенький радар не могу быстро зарелизить пиздос я долбоеб
Товарищ майор, спросите лучше ваших каллек из управления К - где они вам находят рабов что бы предлагать пойманым мамакиным какерам вместо срока под знаменем летучей мыши ГРУ взламывать американские сервера.
>>1846098 Для крутых ребят даже не чернуха приносит ебейшие бабосы. В зиродиуме фулл чейн на андроид стоит 2.5 ляма вечнозеленых. Да даже за RCE в ссаном роутере могут до 10к баксов заплатить. И это белая (на бумаге, по крайней мере) тема. Чернуха - умножай все суммы на 10-15, но там и шанс присесть очелом на бутылку, ибо система не любит махинаций с большими деньгами.
>>1847643 Интересный вопрос. Вот есть рце, я ее нашел, мне заплатили. Ок. Но на всех рце не хватит. Как быть? При условии еще что я еще ищу один, что я один самый умный, что кроме меня больше никто не ищет. Да и могут патч выпустить. Да можно еще присесть на бутыль и во время поиска. Так что это тоже такое - как хобби.
>>1847677 Ну, во-первых, секьюрити - это гонка со всем миром. Кто первый успел, того и тапки. Во-вторых, есть огромное количество софта, часть которого очень сложно поддается анализу. Пример - baseband прошивка смартфонов, которая крутится на отдельном процессоре проприетарной архитектуры. Чтобы подебажить/пофаззить такую прошивку, нужно, помимо реверсинга кода прошивки, реверсить ISA и писать кастомный эмулятор. Чем геморнее цель, тем меньше вероятность что кто-либо ее качественно анализировал на предмет уязвимостей. Ну а самый веский аргумент, повторюсь, количество софта в мире. Даже если взять отдельные крупные проекты, например, гугл хром, где общая кодовая база ~90 млн. строк кода почти полностью на С++, в таких кодовых базах ВСЕГДА будут уязвимости. Либо давно существующие и незамеченные, либо новые. Это игра в кошки-мышки, вечная гонка.
>>1847851 Есть страны, где свод законов позволяет подогнать деятельность зиродиума под незаконную, но деятельность зиродиума не незаконная в глобальном смысле этого слова. Так что тут зависит от того где ты живешь.
>>1847687 Уже можно. У него также есть гуй - Cutter. Можно писать скрипты на пайтоне как в айде, есть отладчик, анализ кода при дизассемблировании, работает с огромным количеством архитектур (больше, чем топ версия айды), есть декомпиллятор от Гидры, переписанный на С++, которые выплевывает очень достойный декомпилированный код. Лично плюс для меня - с радаром удобно реверсить драйвера в Линуксе, чего не скажешь об айде, которая с этим не дружит от слова никак.
Вердикт - в чем-то айда лучше, в чем-то радак лучше, но сказать можно точно - айда не стоит своих денег. Лет 8-10 назад айда была безоговорочным топом, никакой другой дизассемблер не имел и 1/100 ее функционала, но сейчас картина несколько изменилась. Помимо бесплатного радара есть платные, но не такие дорогие, аналоги айды - binary ninja, hopper, которые уже дошли до определенного уровня пиздатости, чтобы быть либо вровень, либо лучше айды в определенных задачах.
>>1847857 В прошлых тредах приносили ссылку на возбужденное по 273 УК РФ дело против читодела - тут главное наличие желания у органов исполнительной власти. Имхо, поиск/написание/продажа дыр/эксплоитов для кого угодно вполне укладывается в описание данной статьи.
поосиньте чем занимался этот чмооки бекрар,почему закрылся вупен Лучше продать блекушнкам,ей богу Они хотя бы не будут просить твои документы и счета,только кошелек монеро
Они типа пыневиков-вагнерков поварских чтоле? А то тут уже в штатах заочно банду сычей майоров ГРУ (которым вместо тюрячки предложили на ГРУ работать) осудили.
>>1848318 Реверс это почти всегда в лучшем случае серая работа,как сказали выше Если не брезгуешь,то блек форумы всегда рады квалифицированным лоу левел кодерам
>>1848325 А какие направления перспективны? Что востребовано на черном рынке? Например, я все таки захотел этим занятся, найтие черные форумы тоже не проблема. Вопрос что им нужно? Просто продавать зиродеи?
Читнул про реверс, это пиздец, надо знать не только все, но вобще все и даже больше https://qna.habr.com/q/431346 а выхлоп? в рашке - никакого, только хобби. Если знаешь все, то нахуй вообще нужен этот реверс. Если знаешь пыху, яву и пистон - то ты уже бог. Может как-то оправдаетесь?
>>1849260 вывод - не занимайся реверсом в рашке. Либо пиздуй в нормальные развитые страны, либо будь веб-макакой и мни себя богом, говнокодя на макака-скрипте.
Если решать crackme то можно выучить си и асм? Или надо начинать с другого конца? Вообще посоветуйте плис алгоритм с чего начать чтобы как-то вкатиться желательно без длительных прелюдий. Так как есть гугл и там быстрее в случае вопросов.
>>1849852 >без длительных прелюдий Не получится. Напиши что-то более или менее серьезное на С/С++, окунись с головой в кишки того, как работают ОС, выучи асм хотя бы одной архитектуры. Реверс не для новичков.
Раньше интересовался реверсом, работать пошел на джаве, т.к. надоело быть задротом. Работа унылая и сложная, но деньги дают. В качестве хобби развлекаюсь с микроконтроллерами. Кодинг занимается много свободного времени. На удовольствия, интересы, книги, фильмы, игры времени не хватает. Стоит ли дальше становиться задротом, или работа не смысл жизни и лучше быть крутым и умным лайфхакером, который всему самому лучшему в жизни обязан не трудолюбию и интеллекту, а лени, поиску легких путей, похуизму и гедонизму? Все равно сдохнем, но задрот сдохнет за пекой в луже мочи, а нормальный человек поживет себе в кайф, пропутешествует по миру и умрет среди своей семьи.
>>1850759 Если будешь ограничивать себя, деградируешь. Если будешь пробовать все что хочешь, всегда будет вариант вернуться к старому. Это беспроигрышный вариант.
>>1850759 А у меня новое хобби появилось - удалённо преподаю студентам раз в неделю. Каких-то заметных денег эта работа не приносит, но приятно делиться опытом. Забавно что студенты не знаю как я выгляжу, но хорошо знакомы со святым - видеотрасляцией полноэкранного режима.
>>1852906 А тебе ли не похуй, что в библиотеке лишнее? Своя сошка/дллка + небольшой лоадер, впатченный в целевое приложение - это самый удобный способ.
Здравствуйте, асмгоспода. Я хочу написать программу, которая инжектит программу (не асм стаб, а целую программу со всеми импортами SOшек) в адресное пространство другой программы, насколько это заебисто? Речь идет про Линукс и ELF бинари, соответственно.
>Я хочу написать программу, которая инжектит программу (не асм стаб, а целую программу со всеми импортами SOшек) в адресное пространство другой программы, насколько это заебисто?
Примерно так (только на ассемблере) (где pid - идентификатор процесса): Ну и потребуется рут, в обязательном порядке.
Для каждой архитектуры свои заморочки + есть вероятность соснуть тунца с ASLR
#include <sys/ptrace.h> #include <stdio.h>
char file[64];
sprintf(file, "/proc/%ld/mem", (long)pid);
int fd = open(file, O_RDWR);
ptrace(PTRACE_ATTACH, pid, 0, 0);
waitpid(pid, NULL, 0);
off_t addr = ...; // target process address pread(fd, &value, sizeof(value), addr); // or pwrite(fd, &value, sizeof(value), addr);
>>1853429 бля, ну я же написал - не асм стаб) Это и я знаю, я говорю про инжект полноценной программы в формате ELF, которая импортит СОшки и которую можно просто на С написать, не дроча асм стабы. Асм стабы хороши для инжекта простого кода, если же код сложный и требует работу аллокатора памяти, например, то правила несколько меняются.
>>1853540 Да вы заебали со своей модой. Пишите на понятном, человеческом языке задачу, будут вам ответы.(может и сами поймёте в процессе формулирования). Написал высокоуровневый запрос, получил высокоуровневый ответ. Всё так. другой кун
>>1853372 >>1853540 > я говорю про инжект полноценной программы в формате ELF Ты так и не объяснил, нахуй тебе эти извращения, когда можно инжектить стаб, который сделает dlopen твоего говна. И система сама загрузит твое говно правильно, совместимо и без единой строки кода с твоей стороны.
Поясните плис за гидру. Сижу на линухе, вродь изучил радар и нраица есть даже морда для радара. Но вот узнал про гидру. Стоит ли юзать ее. На иду конечно же нету денег.
Не стоит, поймают менты когда в падике закладку будешь пытаться найти и придется несколько лет дизассемблировать только свой пердак после того как его твои сокамерники попользуют.
>>1855334 Да там сроки небольшие по первоходу и маленькому весу так что норм! скорее всего условно будет! он реально про наркотики я чё то не понимаю???
Продавец продаёт шапку. Стоит 10 р. Подходит покупатель, меряет и согласен взять, но у него есть только банкнота 25 р. Продавец отсылает мальчика с этими 25 р. к соседке разменять. Мальчик прибегает и отдаёт 10+10+5. Продавец отдаёт шапку и сдачу 15 руб. Через какое-то время приходит соседка и говорит, что 25 р. фальшивые, требует отдать ей деньги. Ну что делать. Продавец лезет в кассу и возвращает ей деньги. На сколько обманули продавца (включая стоимость шапки)?
Вкатыш на месте. Вопрос вот в чём - я может туплю, но почему так мало регистров в в процессоре, если транзистров в нём миллиарды? Если это (транзисторы и регистры) разные вещи, то почему в кэше L1 указано 100+КБ, а всех вместе взятых регистров на байт эдак 10-20. Или регистрами завутся множество однотипных регистров вроде: Поместить (MOV) в один из н-ых тысяч существующих регистров класса EAX системный вызов 1.
>>1860146 На мипсе много. Своими словами - разная философия к подходу написания программ, мипс более низкоуровневый чем x86 как мне показалось, сам проц более вовлечен в выполнение программы. К примеру есть регистр zero, который всегда содержит 0, программисту уже не нужно думать где взять 0 и т. д. И лучше подходит для одних задач. x86 как бы для всех задач, и 4 общих регистра должно хватать для вычислений, которые должен делать прогер. Не знаю как правильно объянить, тупой. Как то так, а может нет.
>>1860407 Или вот так: если бы x86 использовался только для написания офисных программ, к примеру, то к нему бы прикрутили доп,регистры для облегчения работы программиста в написании офисных программ. Никто же не знает как будет использоваться x86. Вот и сделали 4 общих регистра. Правильно я понимаю?
>>1860416 Нет, вопрос скорее в том, являются ли регистры в терминологии ассемблера физическими регистрами процессора. Если нет, то какое реальное, физическое кол-во регистров на чипе.
>>1860426 Архитектурных регистров (которые видит программист) мало, потому что команда имеет ограниченную длину. А физических регистров сейчас делают 160 и больше, но не очень много, потому что иначе доступ к ним замедлится.
>>1860467 Получается если программист использует самые распространнённые регистры, то обработа данных выходит 5-10 (64 бита одного регистра * 8) байт за такт процессора?
Мипсовскому программисту не надо думать, где взять константу. Ассемблер за него синтезирует то, что напрямую не поддерживается железом. Поэтому под мипс писать в чем-то проще, чем под другие архитектуры: bgt v0,12345678,label # если регистр 2 больше 12345678, иди на метку
Господа, по каким причинам нельзя делать абсолютный прыжок по 8-ми байтному адресу? Например, jmpq 0xdeadbeefcafebabe. Получается, в x86-64 нет такого понятия, как direct jump?
Что для вкатывания в ASM читать то, из шапки честно говоря смутно понял, так-как первыми пунктами идёт информация по Реверсу. Пойму ли я эту книгу без знаний в области ASM? Подскажите книги по самому ASM тогда в пару к этой: Денис Юричев: "Reverse Engineering для начинающих"
>>1862540 Не знаю, стоит начать с этого? Архитектуру пока не знаю какую, но наверное можно пока без этого что-то начать учить? Или это тема только для хороших мальчиков которые в школе были золотками и умничками?..остальным дорога в питон и хтмл сиэсэс?)
>>1862599 Привлёк тем, что я работаю с терминалами сбора данных, с достаточно древними системами такими как windows c.e 5.0, 6.0 И многие вещи ещё древнее, иногда бывают жесткие проблемы с драйверами и прочей поддержкой этого оборудования с современными системами А самое главное, это то, что есть теоретическая и практическая возможность миграции с например windows mobile 6.5 на windows c.e 6.0 и просят на рынке за готовую прошивку от 30к зелени. Куча моментов которые требуют допиливания с точки зрения тех же драйверов
И меня это так заебало, что я решил костьми лечь но лучше понимать то с чем имею дело В идеале нужно С знать, но и ассемблер и реверс нужен тоже, это со слов китайских коллег. Поэтому буду выкатываться сюда потихоньку, сейчас мне 27, цель к 30 хотя бы понимать на уровне начинающего, то с чем работаю. В идеале самому устранять вещи которые даже официалы отказываются делать потому что политику EOL EOS никто не отменял
>>1862880 ТСД это тема. Как искать таких клиентов? Там у юзверей свои законы - у нас есть 1с погромист который всё сделает. Как доносить таким людям что можно забесплатно и лучше? По твоему вопросу, просто тупая банальная логика. Научись понимать логику в первозданном виде так сказать. И ковыряй потихоньку, интерес должен сам появиться, там одно цепанёт тут другое. Тут все мучаются 100%, нет тех кто сразу всё знает как решить. Ну будешь ты знать как это работает, и что? С другой стороны то тоже не дураки сидят, закодили так чтобы хуй кто догадался, опять задача которую надо разгадывать. Так начинай разгадывать прямо сейчас, легче не станет.
>>1862972 Анон, я не жду когда станет легче, и ковырять это собираюсь не из-за какой-то выгоды особой, есть гораздо более лёгкие и денежные пути Это дело принципа, я всегда с техникой имел дело по работе, но никогда не разбирался в этом на глубинном уровне а ползал лишь по верхам, поэтому хочу понять как это устроено, пусть это будет что-то вроде хобби. Но для меня важно понимать одну вещь - то что я учу, это то что мне нужно, ибо времени не так у меня много что бы ходить по кругу и заниматься далекими от этой тематики делами.
Всем спасибо кто советовал и кидал какие-то ссылки. Анон который кидал про компоненты электронные я надеюсь ты пошутил, потому что мне пока тяжело понять какое это отношение имеет к делу.,,это я и так знаю, потому что паять умею и чинить элементарные электрические цепи тоже
>>1863026 >Анон который кидал про компоненты электронные я надеюсь ты пошутил, потому что мне пока тяжело понять какое это отношение имеет к делу Прямое. Асм это системное программирование.
Спецификация чипа в тсд, это просто так, семечки? Как тогда писать драйвер если не знать как чип работает? Читай нет спецификации. Что ты можешь сделать с этим куском камня? Ну вот он лежит перед тобой, ты ничего не понимаешь. Принёс этот камень мне, и я тоже ничего понимаю что с ним делать, как и ты. Для меня это просто какая-то херня с ножками. Чудес тут никаких нет.
Сразу расскажу что такое plug-and-play, воткни и играй. Вот стёрлись все идентификаторы на плате и что делать? Как определить что это за камни на плате? Вот и придумали, втыкаешь плату - она тебе в ответ свой идентификатор. Это логично. Надо просто понимать что логично. Есть у тебя какой0то вопрос, надо думать как бы это сделали другие логически. Вот тебе и все секреты ассемблера.
Кста к вопросу об asm Смотреть интервью какое-то с каким-то кодером, говорят asm всегда будет пользоваться спросом и мол вообще мало специалистов в этой теме Правда или поклёп и нужны только джава бояре
>>1863080 >говорят asm всегда будет пользоваться спросом Правда, всегда нужен тот кто будет ремонтировать твоего домашнего робота. Ну и если у робота будет ИИ то он скорее убъёт хозяина чем того кто будет его "лечить".
>>1863026 >Анон который кидал про компоненты электронные я надеюсь надеюсь ты пошутил
Схуяли?
Книга была скинута в ответ на вполне конкретный вопрос:
> Вопрос вот в чём - я может туплю, но почему так мало регистров в в процессоре, если транзистров в нём миллиарды? > Если это (транзисторы и регистры) разные вещи, то почему в кэше L1 указано 100+КБ, а всех вместе взятых регистров на байт эдак 10-20. [/b]Или регистрами завутся множество однотипных регистров вроде:
>Смотреть интервью какое-то с каким-то кодером, говорят asm всегда будет пользоваться спросом и мол вообще мало специалистов в этой теме
Да, всегда, когда баблом и кекогерцами за бабло проблему производительности не залить, все алгоритмические оптимизации использованы, то в джело вступает АСМ.
Или когда железку оптимизируют по стоимости - скажем делают бюджетную стиралку и прошивка на языке высокого уровня при той же функциональности потребует более мощного МК и, как следствие, увеличения себестоимости производства.
А так как стиралка у нас для бюджет, а не премиум, то это недопустимо - быдло должно иметь возможность после всех накруток её купить, а дорогой мк сделает ее неконкурентоспособной в нише бюджетных стиралок - конкуренты за такую же цену продают стиралку уже умеющую в глубокий минет помимо 100500 программ стирки.
Страшно на самом деле то что управлять всем этим будет не бездушная машина, а вполне конкретные охуевщие кожаные мешки-успешнобляди вроде брина, цукера и прочих мамутов, пынь и сечиных поменьше.
>>1863111 Да нет. Предположим коронавирус искусственно выпустили в открытый мир. Сильно сомневаюсь что это было по указке винни или его подчинённых. Кто-то хотел ёбнуть всех этих охуевших старпёров без зачатков разума, чтобы не мешали своими указаниями и управлениями.
>>1863130 >Предположим коронавирус искусственно выпустили в открытый мир.
Есть маза, начнем с того, что корона - это не единственный вирус, который выпустили. И весь этот маскосрач затеян сугубо с целью скрыть этот факт - что вирусов выпустили так то дохуя.
Куча людей конкретно переболевших делала анализ на антитела по короне и нихуя.
Я бы хотел поднять тему с ТСДшниками. Там русская прошивка - плоти, новый драйвер - плоти, пукнул - плоти. И платят, потому что выгоднее заплатить чем остаться без ТСДшника. Одна русская прошивка стоит ~5к. А если их 100 иди 1000, за каждый заплати.
>>1863471 совершенно верно, подтверждаю. И русская прошивка мало кого беспокоит а вот некоторые другие вещи очень востребованы...и стоит это космических бабок. Поэтому и решил вкатываться в эту тему.
Достаточно хорошо знаю этот рынок, и совершенно точно могу сказать что существовать он будет еще минимум лет 10, конкретно у нас в СНГ
Как бы книжки читать то легко, читай и читай. А вот когда написал прогу и запускаешь её в отладчике, и молишься чтобы она заработала с первого раза, потому что у тебя уже нет сил, полное истощение.
>>1863080 этот >>1863091 пиздит оптимизацией займется какой-нибудь intel c++ compiler,написанный настоящими профи,а ты будешь писать курсовые за студентов за 500 рублей на своем асмемблире
Например. Проблема пограничного значения(как то так называется). Элементарный поиск. Нужно найти слово ассемблер в файле. Подгружаешь мегабайт ищешь, нету, второй мегабайт, тоже нету. Потом понимаешь, а что если буквы ассем в конце первого мегабайта, а блер в начале второго. И всё, жо-па. Код превращается, превращается код в какой-то полный пиздец.
>>1863557 Можно подключить виндовскую функцию MapViewOfFile, проблема решена. А что если её просто нет на устройстве. Как делать поиск? Вот тут и нужны низкоуровневая логика, чтобы понять тонкости поиска и написать самый оптимальный код.
Надо что-то делать, парни. Надо чтобы была практика. Чтобы самому столкнуться с той же Проблемой пограничного значения, а потом увидеть белиберду в чужом коде и понять что автор таким образом обошёл эту проблему. Вот я сегодня пью, завтра буду делать.
Пытаюсь хакнуть игру и возникли следующие вопросы: Может ли быть такое, что число, которое отрисовывается как часть интерфейса, не хранится в памяти, а вычисляется при каждой отрисовке? Чтобы вызвать какую-то функцию нужно подгадать место и инжектнуть код? Особенно в тех случаях, когда функция меняет что-то извне.
>>1863656 Может. Число это может быть просто спрайтом, который нарисован заранее с тенями, фоном, цветом и т.д. А игра просто отрисовывает этот спрайт.
>>1863656 >Чтобы вызвать какую-то функцию нужно подгадать место и инжектнуть код? Особенно в тех случаях, когда функция меняет что-то извне. Нихуя не понял. Тебе нужно поставить хук/брейкпоинт перед тем как отрисуется твоя цифра. Потом раскручивать почему она отрисовалась именно так.
>>1863717 Тут два случая: 1. Предположим, что игра высчитывает число построенных лесопилок каждый кадр - как узнать вне игры это число? На первый взгляд тут только чтение и можно воссоздать функцию, без необходимости инжектить код. 2. Нужно как-то дать понять игре, что игрок хочет купить или продать ресурс. В идеале это была бы внедренная в игровой цикл проверка и вызов функции "продать/купить" при необходимости. Но можно ли обойтись без инжекта?
>>1863528 > А вот когда написал прогу и запускаешь её в отладчике, и молишься чтобы она заработала с первого раза, потому что у тебя уже нет сил, полное истощение. До чего знакомое состояние...
Как работает DEP в винде? Вот я отключил DEP установив в bcdedit nx AlwaysOff, перезагрузил систему, попробовал исполнить код на стеке и получил исключение. Решил проверить, что там в ядре и EFER.NXE оказывается установлен. В итоге что вообще тогда делает эта опция?
если при переходе ссылки, на книгу Дениса Юричева выдаёт ошибку, или на официально сайте сталкиваетесь с сообщениями про некий личный клуб. То вот ссылка на книгу, если сомневаетесь и опасаетесь фишинга, то можете проверить ссылку на сайте VirusTotal, мне кого то в обманывать ради какой то собственно выгоды не с чего, просто хочу скинуть РАБОЧУЮ ссылку на актуальную на данный момент версию книги https://yurichev.com/writings/UAL-RU.pdf
>>1870361 Компилятор просто размечает секции как не исполняемые. Я же DEP отключаю на уровне системы, но это нихуя ни на что не влияет. По идее в системе вообще не должно быть не исполняемых страниц памяти.
>>1870664 Возможно это зависит от операционной системы (в чем я сомневаюсь), но в Линуксе DEP (он же NX) - это митигация НЕ на уровне системы, а на уровне компилятора. Пример митигации, которая действует на уровне всей системы - это ASLR. Почти на 100% уверен, что на винде та же песня. Каким компилятором пользуешься? Просто поищи флаги/опции по отключению разномастных фич, среди которых должен быть DEP (в gcc это флаг -z execstack)
>>1870897 А вот так. Яхз как работает аппаратная поддержка, но в том же Линуксе можно отрубить NX через компиль, либо же в рантайме сделать стэк/кучу исполняемыми через системный вызов mprotect. >>1870801 >попробовать исполнить код на странице с RW, но с выключенным DEP.
Нет. Policy данной митигации таков - любая страница виртуальной памяти не может быть одновременно исполняемой и разрешенной к записи (либо то, либо другое, но не вместе). Именно поэтому эта технология еще называется W^X, если знаешь таблицу истинности операции XOR, то поймешь в чем прикол. Имея страницу RW, ты не сможешь исполнить код в ней, банально потому, что у нее нет прав на исполнение. Попытка сделать это просто сгенерирует сегфолт и программа крашнется. Погугли насчет изменения прав страниц виртуальной памяти в рантайме, хз че там по винде, в Линуксе это сисколл mprotect.
>Денис Юричев: "Reverse Engineering для начинающих"- бесплатная современная книга на русском языке. К прочтению вкатывающимся и прочим ньюфагам обязательна! >Прямая ссылка - >https://yurichev.org/b564f46f1c207b2dbc84a2bd4a41ed4c/
Мало того что из треда в тред кочует дохлая ссылка. Так теперь она и не бесплатная. Есть у нас тут патроны Юричева?
>>1872765 в либген такое точно не стоит лить, так как постоянно обновляется. >>1873108 в вебархиве чекал, но какие то не те ссылки. Не нашло. Благодарю.
>личное дело да всякое на самом деле бывает. Патреон так то вполне себе неплохой вариант, но вот полностью закрывать и убирать старые версии. грусть :( может хочет проверить интересно ли вообще кому то или он зря сидит дописывает, столько лет как никак. (патрон как раз будет показатель заинтересованности, но пока там раз два и всё подписчиков)
>>1874685 По двухмерным массивам самое то бегать. И не только. Константа часто используется как смещение поля внутри структуры. x86 кончено говно, но адресация у неё красивая и удобная.
Сап, асм Работаю с emu8086. Нашел код, который складывает два числа, и проверяет результат. Если сумма равна 0 — выводится одно сообщение, если нет — другое.
Однако реализовать в emu его почемут не получается. Пробовал и в com, и в exe, и в bin - везде одно и то же. Сначала ругается на eax, ebx. Если их заменить, выдает другую ошибку - о том, что invoke MessageBox, 0, chr$("В eax не 0!"), chr$("Info"), 0 invoke MessageBox, 0, chr$("В eax 0!"), chr$("Info"), 0 не верны.
>>1875805 Вместо кода вывода на экран. Только mov bp, msg подними до вызова прерывания. В регистр BP помешается адрес выводимой строки. Координаты и цвет задай константами. msg_lenght посчитай заранее. Приведи обсе строки к одной длине.
Кулити, асмгоспода. Я пишу API для инлайн хукинга для никсов. Программа, в целом, приаттачивается к процессу, мапит немного RWX памяти и пишет туда код, который должен исполняться при триггере хука. Казалось бы, это можно решить куда более легким способом - просто заинжектить СОшку с кодом агента. Проблема в том, что это не работает на статически слинкованных бинарях. У меня два стула - писать код агента на ассемблере, что больно, но возможно, или же изъебнуться, заинжектив в процесс целый бинарь, прыгая каждый раз в адрес ммапа + оффсет до функции агента, но это попахивает хуями. Что посоветуете?
НоооОО! Код зашифрован. Я насколько понял - пароль 3 символа UTF-8!!!!!! Те 100к в 3 степени вариантов? Это легально? Помню, 3 года назад был такой крякми, там в пароле был смайлик из юникода, но сейчас уже не могу найти тот врайтап. Помогите с паролем(((((
Есть идея проверить utf-8 рендж у соли и прочих base64 строк чтоб на основе этой гадости генерить варинаты под брут пароля. Но это низкобальное задание, вряд ли там настолько все сложно.
Надеюсь на силу легиона!!!!!!!!1 Или мб кто врайтам трехлетней давтности вспомнит и найдет.....
Вопрос по nasm. Буду рад помощи, нагуглить ничего не удалось. Ситуация такова: нужно вычислить размер бинарника который получится (ну, это просто - x equ $ в конце файла) и разделить на 16, так как это вычисляется адрес сегмента.
Код схематично выглядит так: y equ (x + 1)/ 16 ... x equ $
Выдает ошибку division operator may only be applied to scalar values.
ку, асмач Зачем нужен регистр cs, когда память уже давно не сегментирована в виду использования модели виртуальной памяти? Это типа просто легаси и все?
Боги ассемблера, склоняю перед вами голову и молю помощи. Как написать цикл для данного выражения (n - переменная которою вводит юзер). Вроде все обдумал по логике, но считает неправильно.
>>1842631 Профессора математики получают меньше, чем прогеры. Тут вопрос не в уме или таланте, а в рыночке. Это первое. Второе. Молодежь не понимает, что мир не работает на основе меритократии.
>>1842631 Реверс в 95% случаев нелегален, поэтому такие вакансии попросту не афишируются. Но корпоративный шпионаж и хакерство не являются редкостью в ходе рыночной конкуренции, поэтому реверсеры нужны еще как.
Основная команда разработчиков radare2 форкнула его в новый продукт Rizin
Аноним23/12/20 Срд 11:38:43№1887886242
Rizin — свободный и с открытым исходным кодом фреймворк для реверс-инжиниринга, включает в себя дизассемблер, эмулятор, hex-редактор, отладчик и многое другое.
Причиной форка разработчики называют стресс и неуважение, которое они испытывали при работе в сообществе сложившемся вокруг radare2, и для дальнейшего развития в сторону ценностей, которых они придерживаются, 8 декабря был создан форк и написан CoC.
Основная команда Cutter (это GUI для radare2), которая также была частью основной команды radare2, покинула radare2 и стала соучредителем Rizin. После этого Cutter переключается с radare2 на Rizin в качестве бэкэнда.
>>1887886 говно без задач, зачем это, если есть r2 с точно таким же функционалом, который тоже продолжает развиваться? А для гуя есть каттер (и похуй какой там бэкэнд, будь то r2, будь то rizin). Имхо, все эти форки от обиженок - бич опенсорс проектов в целом.
>>1888087 Ну если эти форкнувшие граждане действительно core developer team, то радар и потонуть может. А так в принципе тоже все равно, как оно будет называться, лишь бы пилили понемногу. Листал их анонс вдоль и поперек, так и не понял, кто и как их там угнетал в r2.
>>1888197 Да и хуй с ним. Им кто то пользуется вообще? Я думаю тройка (ида, гидра, бинджа) удовлетворят потребности любого пользователя, прежде чем он узнает о радаре.
>>1892989 Согласен. По моему мнению это лучший из тредов на программаче: по крайней мере, тут люди занимаются тем, что им на самом деле интересно, не думая о деньгах.
>>1895732 Ешё бы результаты труда увидеть. А то одни вопросы и книжки почитать. А мне стимул нужен, где его взять, все на хайпе читают чёто. Вот к примеру чел с mbr - сделай и всё, покажи как надо делать. Это же информация и микропроцессор - это полная свобода действий, делай всё что душе угодно, в этом заложена вся суть асма. Давайте в 2021-ом году переломим этот тренд и будут результаты. С НОВЫМ ГОДОМ!!
Понимайте что такое асм. Вы не сможете знать как всё устроено, просто по определению, потом что это делалось разными группами людей, в течении большого временного отрезка. Будите изучать, изучать, изучать а потом ещё раз изучать, а потом всё, дурка ебать. Есть задача - делай, потом нам расскажешь как сделал, когда понадобится. Асм вот про это, про конкретику.
Ну и мой коронный выстрел в голову высокоуровневым винтикам. Прога ищет в файле любое hex-значение, где XX-любой байт. Тест на файле в 700 мб. Просто захотел сделать и сделал, теперь выёбываюсь.
>>1837856 (OP) Бля, пацаны, а есть какой веб фреймворк или еще что типа того? Чет ваще нихуя не понятно, какие-то edx, щас туториал открыл а тут текст какой-то пиздец ваще нихуя не понятно регистры там чета. Есть какие либы, чтобы можно сразу было программы писать, а не ебаться со всей этой хуйней, слышал асемблеры ваши быстрые, думаю для своего пхп проекта применить, но чет жесть. Я даже мейк вон написал, автоматизация производства, так сказать. А коассы ваще можно создать или это ФП язык типа джаваскрипта?
>>1895938 > Задача найти последовательность 12XX56XX9, где XX может быть любым значением
12 + rand(0,99) + 56 + rand(0,99) + 9 ))))00
По каким принципам найти то? Их тут всего тыща будет, лол. Чтение файлов в raw режиме есть почти в любом высокоуровневом языке, даже в пхп ты можешь побайтно читать, не говоря уже о всяких плюсах, голэнгах и т.д.
>>1895942 Покажи Ну вот тебе задана строка, к примеру 1000 байт. Ты знаешь что в этой строке 528 байт - 1D. 545 байт - АА. Начинается строка с FF. Надо найти все строки.
>>1895968 Это значит что нужно найти все строки в 1000 байт, которые начинаются с FF, в которой 528 байт 1D, и 545 байт АА. Всё что между ними игнорируем. Ну я тышу загнул конечно, но хотябы строку в 10 байт.
>>1895977 > Это значит что нужно найти все строки в 1000 байт, которые начинаются с FF Еще раз - что за строки. Ну начинается она с FF, а длина какая должна быть? Я могу тебе от FF прям до конца файла отхуярить, вот тебе и одна строка.
> в которой 528 байт 1D, и 545 байт АА Ты просто повторил, что написал до этого. Я просил пояснить, что это значит. 100 байт, 528+545 из которых - тупо мусор? Верно? А найти нужно конкретно "FF"?
Строка в 10 байт. Начинается с FF, пятый байт 1D, седьмой байт AA. Между этими байтами может быть всё что угодно. Надо найти все такие строки. Я показал как это делается.
>>1896585 У меня проблема. Вот тут>>1840188 я писал что надо сделать перерыв. Сделал. Теперь я не помню на чём остановился, начал смотреть свои черновики, а там чёрт ногу сломит. Уже несколько раз пытался начать(хотел до НГ сделать что-нибудь). Думал что это из-за бухла не идёт ничего, две недели не бухал, интерес так и не появился. После НГ попробую опять. На пике черновик, я ебу, мне кажется что это кто-то другой делал и писал.
>>1896678 Да особой разницы то нет. Я какбы хотел описать проблему, потому что считаю её объективной. Высокоуровневые напишут комментов к своим 100 строкам кода и норм, а тут.. вот я весь механизм отрисовки текста уже вскрыл, но я не помню что и где именно находится, все нужные джампы там и т.д. Комментить каждое своё действие.. ну такое, ещё больше работы получается. Надо как-то решить эту проблему, может перед паузой писать типа письма себе, но это уже шизой попахивает.
>>1837856 (OP) Можете кратко пояснить ассемблеры в вакууме? Начал изучать вяленько для саморазвития и понял, что нужно очень глубоко шарить за регистры и вообще за железо, немного прихуел (хотя не пхп макака, лол).
Объясните кратко как из этих команд всех получается какое-то ПО, типа суть в том, чтобы тупо гонять инфу по регистрам и памяти и джампать туда сюда?
>>1896990 Вызвал системный вызов (если прога в юзерспейсе работает) - вылезло окно, или вывелась строка на экран. А если это операционная система - обратилась к железу, например, видеокарте или монитору, и вывела на экран пиксели. Естественно, все это вызывается в зависимости от выполнения тех или иных условий, с определенным количеством аргументов и так далее.
>>1896909 Да, те же ощущения. До того, как прочитал Таненбаума, даже не представлял, какое важное знание мог бы упустить...
>>1895839 > Ну и мой коронный выстрел в голову высокоуровневым винтикам Мне почему-то кажется, что там тупое сравнение, даже не КМП, и уж тем более не Рабин-Карп. Потому что именно в этом вся суть любителей асма - кричать о быстродействии, а реализовывать наиболее простой (и тормозной) алгоритм из существующих.
Объясните долбаебу. Только вкатываюсь в ваши ассемблеры и пытаюсь без особого опыта написать в стдаутистус хеллоу ворлд в цикле. Стандартная спизженная из интернета программа по выводу хеллоу ворлда использует все регистры NASM'a, где мне хранить каунтер то блять? Если ecx занят самими данными на вывод, а остальное подвязано под систем колл могу проебываться с терминологией, не бейте, ток вчера про регистры узнал
>>1898411 > Чего? Регистры процессора, которые доступны к взаимодействию через среду NASM'a. Что не понятно?
> Ты прочитай про General-Purpose Registers в ISA-мануале. > У тебя по крайней мере не задействованы EDX, ESI, EDI. Я когда гуглил где-то в табличке с этими регистрами прочитал, что они Pointer registers, я нихуя не понял, но подумал, что их трогать не стоит. Потом в каком-то краш курсе увидел, что их как раз и заюзали для вывода текста в цикле. А почему нельзя в .bss хранить все это?
Аноны, мне пришла в голову крайне гениальная идея. Компилятор в процессе своей работы шифрует исполняемые файлы и файлы библиотек открытым ключом по лучшему из алгоритмов шифрования, и при выгрузке в оперативную память операционная система расшифровывает их закрытым ключом, чтобы, таким образом, чтобы он ее смог выполнить. Само ядро шифруется по такому же принципу - при компиляции, и расшифровать ее может закрытым ключом только загрузчик. Почему до этого не додумались капиталисты и не убили на корню весь реверс-инжиниринг?
>>1900169 Что мешает сдампить расшифрованую программу из памяти, или извлечь ключ из ядра ОС?
шифрованые бинарники делают уже лет как 30 минимум. В основном конечно вирусы, но и шаровары этим промышляют. Вроде как старые версии скайпа (до покупки майкрософтом) были шифрованые
>>1900180 А, ну да, точно, я тупанул. На пекарнях теряется смысл по той причине, что загрузчик, бивис, ОС и софт спокойно меняется и не бывает вшитым. Зато во всяких электронных устройствах такое практикуется: загрузчик вшит намертво, прошивка сжимается, и расжатие загрузчиком происходит в самом устройстве после закачки в него.
>>1837856 (OP) Нахуй у ваших ассемблеров такой разный синтаксис? В одном ебаные проценты свистоперделки, в другом dest и src местами поменяны, еб твою мать. Не могли сделать единый стандарт, красноглазые?
Уважаемая Илита, задаю крайне глупый вопрос, но всё-таки. Как в ИДА перенаправлять стдин? Пробовал в параметрах prog < input, но когда происходит sysread, код тупа останавливается и в этот момент даже дамп глянуть нельзя.
-Copied Games -Unlicensed Games -Cheating -Linux -Homebrew
Xbox Checks:
System Startup<-check-> Windows (in ROM)<-check-> Game (DVD)
Savegame Check:
System Startup<-hacked-> Windows (in ROM)<-check->Game<-no check->Data (Gamesaves)
DVD Drive fail: the drive firmware is not protected
Hypervisor: -Manages page tables and TLB -W^X Enforced everywhere -Games cant make data executable -Games cant chainload code
Memory Hashing infoinfo: -for every cache line on RAM -on write: store hash in CPU-internal RAM -verify on read
-DMA into hashed memory will make CPU panic on next read -must be turned off for pages that require DMA -very effective -needs lot of CPU- internal RAM cache line: 128 bytes secure hash: 16 bytes
-only feasible for -1 MB of external RAM -can only protect HV
Memory Encryption: -Encrypt/decrypt memory on cache fill/writeback -must be turned off for pages that require DMA -DMA will jsut destroy the contents *can be used to destroy e.q. blacklists -Not as effective as hashing -protects HV and game code -also protection against dumping HV, game code, HD-DVD keys, thought DMA
Random number generator: -encryption should not be predictable -random number generator inside CPU -ecryption key different on every boot -prevent DMA replay
Hashing/Encyption: -PPC64 supports 64 but addressing -everything fits in 32 bit on the xbox360 -upper 32 bit are used as flags by L2 cache
00000100 (CPU internal security flags) 0000201c (Physical address which will go to the bus)
Hashing: -implemented by L2 cache -16 bytes SHA-I per 128 bytes cache line -stored in 64kb CPU-internal SRAM
Encryption: -implemented by L2 cache -key taken from random number generator
eFUSES: -768 bit -JTAG disable -unique key for Flash decryption -devkit/retail indentifier -update sequence counter
Paging: -page tables map 32 bit virtual address to 64 bit physical address -upper 32 bits of physical address are crypto/hash
Hypervisor; -encrypted and hashed -running without paging -HRMOR
Manufacturing: -all efuses are 0 -xbox boots a generic flash image -xbox generates unique key, stores it in efuses -xbox personalizes flash image -xbox stores encrypted DVD key in flash
Load Executable: -Xbox kernel loads executable into memory -kernel hands code section to hypervisor -if signed properly, makes code executable -double mapping memory as code and data, copy from data to code
Return to HV: -thread states are saved in unencrypted data segment -register can be overwritten --load registers with syscall parameters --set PC to syscall intructions
Как мне вообще скомпилить программу на ассемблере? Вот у меня есть установленный dos box, есть файл с кодом программы с расширением asm, есть файлы tasm, td и tlink. Что со всем этим делать, чтобы оно заработало?
Сяп. Как быстро распознать негативное значение? Если функция(в т.ч. и системная) возвращает меньше нуля, то SF поднимается сразу? Или надо что вроде > addl 0, %eax дописать?
>>1837856 (OP) Вопрос по ассемблеру для 8088. Точнее наверное про регистры проца. В самоучителе написано, что в идеале DS CS SS регистры содержат начало 64к сегмента и сами, соответственно, занимают области памяти по 64к. Но правильно ли я понимаю, что всё это рандомные адреса, и размер сегментов тоже ничем не ограничивается в меньшую сторону? То есть, например, если я запишу в DS адрес 1000, а в CS 1010, проц не будет считать, что сегмент кода нагло залез в 64-килобайтную область сегмента данных? Просто под данные будет выделено 10 байт, а под код всё что дальше. Так?
>>1912482 Олсо, вопрос вдогонку. Только что прочитал про debug, дескать в нём можно вводить машинные коды. Интересует, какую он память использует во время работы? Прямо обращается к оперативке или что-то делает в своем загончике, с виртуальными адресами? А то как-то боязно, что наэкспериментирую с записью-чтением в оперативку, и винда слетит.
>>1912715 У меня советская пекарня на 8088. Лет 20 назад играл на ней в игори, кодил на бейсике. А ассемблер так и не смог освоить (потому что в документациях про него ничего сказано не было, кроме пары скудных примеров) Решил всё таки исполнить мечту юности - стать полным богом и властителем этой пекарни. Заодно попробовать декомпилировать игори (кассеты с записями сохранились). Разобраться что там за что отвечало, может быть даже замоддить. Благо 64кб текста это ни о чем. Я на дваче в несколько раз больше пощу за неделю.
>>1837856 (OP) что за хуйня запускаю idу на exe, она мне выдает 7FFC43413B29: unknown exception code 4242420 (exc.code 4242420, tid 4748) и все, сам по себе exeшник работает
>>1837856 (OP) Посоны, а есть смысл вкатываться, если не хочешь ничего взламывать, а просто лампово программировать embedded, IoT, без попутного изучения архитектуры всего чего только можно вплоть до 8086? Или это один и тот же багаж знаний, который будет требоваться везде?
Освоил этот ваш сосамблер до кровавых мозолей для х64. Могу ебануть эхо и хелловорлд за минуту, и любой алгоритм шыврования за полдня. Спрашивайте ответы.
>>1912482 > Но правильно ли я понимаю, что всё это рандомные адреса, и размер сегментов тоже ничем не ограничивается в меньшую сторону? Сегмент - это сорт оф виртуальное понятие. В реалмоде почти x86 все, что делает сегмент - это предоставляет базовый адрес почти, потому что если ты сделаешь mov word[ds:ffff],ax - получишь фолт.
> Прямо обращается к оперативке или что-то делает в своем загончике, с виртуальными адресами? В каком-нибудь досе - к реальной оперативке, к реальным портам, к реальному жесткому диску. В винде, естественно, он работает внутри NTVDM, который обычный процесс со своей собственной виртуальной памятью, и поверх этого эмулируется реалмод.
>>1837856 (OP) бля помогите плз. IDA не дебажит программу выдаёт exception на старте. 7FFE867F3B29: unknown exception code 4242420 (exc.code 4242420, tid 8208) я читал что то про tls callback, но что конкретно нужно делать чтобы исправить? x64dbg может дебажить с enable debug privilege
Насколько я понял, ЦПУ берет за раз из памяти паттерн определенного размера. Если нужно взять объект иного размера (к тому же не кратного предыдущему), то процессор производит дополнительные исчисления. Следовательно, объекты желательно выравнивать по n-байтной границе. Сам читал по диагонали. Поправьте, если где-то не прав.
>>1895536 чем идентичный лол? По ссылке параша уровня справочника по ассемблеру. Сначала немного про архитектуру, а потом разбор каждый команды и как она работает. У Нарвахи курс по Ольке и то содержательнее чем эта херня.
Никак не могу заставить это работать, адрес офк подогнал. В лучшем случае получаю сегфолты. В чём может быть проблема? Мб надо с gcc 5.4 пробовать? (RE4B Выбор другой строки из исполняемого файла)
>>1928841 >Address space layout randomization Ага, почитал про эту тему. >Это скрин из книги Юричева? Оттуда. Пытаюсь вкатиться в ассемблер, почитываю разные книги.
>>1844030 Лол на асме писать одно удовольствие, как на пианинке хуячить. >диолекты И смена синтаксисов, и переходы на разные архитектуры дело плевое. правда жаль это действительно никому не нужно мимонарик-с-мд5
>>1844030 > Кароче, скачал радар, написал хелло ворд на си, посмотрел оп коды в асме может вычислить строку в хексдампе и заменить хеллоуворлд на хуевёрт или подобное.
>>1930862 Шестнадцатеричный доп. код числа 35000 есть ...00 88 B8. Ассемблер формирует непосредственный операнд в инструкции для MOV по размеру равному первому операнду (BX), и отбрасывает старшие разряды его доп. кода. Получаем 88B8H - отрицательное число -30536 (с установленным старшим битом - битом знака).
братаны, скажите я вот человек, недавно закночивший вуз, поработавший 2 года бойтоебом ( а последние два игроделом) во времена байтоебли меня привлекал RE. Скажите, насколько это востребованный навык? Где он может пригодиться или даже сыграть решающую роль? Наверняка же рядом с ним нужно еще что-то знать Алсо, с чего бы начать учить эту область? Насколько опыт на поделках релевантер тому, чем нужно заниматься на работе? спасибо
>>1931324 В целом невостребованный, из работы только чернуха по сути. Как хобби норм, особенно для байтоеба, но если ты это рассматриваешься с точки зрения вката ради финансовой выгоды - худший вариант. Лучше сиди на С/С++ и пили прошивки с драйверами, серьезно.
>>1931804 мануалы к цп. основы - из любого учебника. >>1931956 я головой немного ударился. наверное хотел лучше понять генерацию кода, да и развлечься немного
В универе помню видел прогу, а что за прогу видел - не помню... Есть что подобное, в идеале под линь, в идеале консольное? Спросить в универе не вариант, последний раз там лет 15 назад был.
Нужен то ли эмулятор ассемблера, то ли интерактивный дизассемблер, где на одном экране можно было бы вводить свой код на ASM, и тут же запускать его пошагово, и тут же видеть регистры/память.
>>1936709 Нахуя тебе вайн? Под прыщами тоже есть проприетарный софт так-то, там не все попенсорц от и до, только ядро и часть драйверов. Если же ты сидишь на лине и хочешь реверсить под винду - лучше не занимайся анальной акробатикой и поставь винду на дуалбут.
>>1936709 >Возможно ли заниматься реверсингом под прыщами? В статике ковырять бинари вообще пофиг где, большинство утилит есть и под окна, и под никсы (IDA, ghidra, cutter). Дебажить логичнее под соответствующей платформой, но виртуальные машины и т.п. никто не отменял. >>1937044 >в идеале под линь, в идеале консольное radare? gdb?
>>1941155 Эти времена уже прошли, чаще всего просто сажают молча на бутылку. Короче говоря, анон, чернуху не советую никому вне зависимости от обстоятельств.
>>1941202 >>1941132 Какие-то маняфантазии. Реверсом сейчас занимается почти любая компания, которая что-то разрабатывает, просто такое не афишируется. Будто бы пропитый товарищ майор вообще поймет, что ты там делаешь в IDA Pro и что за циферки с буковками бегают по экрану.
>>1941820 Пруфы есть? Просто интересно о чем речь, а то видать я в параллельной вселенной живу. >>1941824 Смотря каких. Если один хитрожопый хацкер спиздит достаточно много денег через зиродей и/или свой ботнет, его из-под земли достанут.
>>1938479 Можно вполне Если про чисто асм - криптовка малвари Руки до тебя не достанут Используй новые ники,впн на своих серверах зареганных не на свои данные и тп и тд Условные свои 2-3 тысячи долларов в месяц можно с этого получать
>>1945460 Если обычный механический замок еще возможно взломать в 2021, несмотря на то, что он был изобретен много веков назад и усовершенствован тысячу раз, то почему должна устареть бинарная эксплуатация всего лишь через 30 лет после своего появления?
>>1945907 Один из этих мимокроков 10 лет в индустрии в стране, где бинарной эксплуатацией активно занимаются даже наемные челики (чего не скажешь о рашке) и участник ситифэов уровня DEFCON. Найс такой мимокрок, держи в курсе. >>1945908 Манясравнения подъехали. Бинарной эксплуатации даже чуть больше, просто в 1988 году произошло то, что заставило начинать задумываться о митигациях. А вообще, почитай о новых митигациях, а также об MTE, охуеешь. Нет, конечно может быть ТЕОРЕТИЧЕСКИ и будет возможность взлома именно через ошибки работы с памятью, но цена и время взлома станет нечеловеческой (а-ля нужна цепочка из 20+ эксплоитов, которые эксплуатируют разные баги, чтобы джейлбрейкнуть айпонт). Уже сейчас 1-4 исследователя могут работать целый год только над написанием(!!!) рабочего эксплоита под известный браузер/ОС, учитывая, что они нашли тонну РАЗНЫХ эксплуатабельных багов, поиск которых тоже занимает огромное количество времени. Итог: смерть бинарной эксплуатации не означает, что взлом будет фактически невозможен на все 100% (хотя если через 30 лет все написанное на С/С++ перепишут на Раст, то реально сдохнет во всех смыслах), а то, что взлом будет настолько дорогим и времязатратным, что заниматься этим не на уровне целого государства будет невыгодно абсолютно всем, особенно исследователям-одиночкам.
>>1946382 Верно. Проблема в другом - еще не нашли эффективного поиска уязвимостей такого плана (фаззеры эффективны только против проблем с памятью, а среди динамических методов ничего кроме фаззинга не доказало свою работоспособность). Вручную искать - удачи, особенно с огромными кодовыми базами, особенно если они проприетарные, это как найти иголку не просто в стоге сена, а в целой галактике. Ну и логические баги редко ведут к исполнению произвольного кода, в отличие от багов доступа к памяти.
>>1946418 Сейчас нет, а через 30 лет - почему бы и нет? Я не утверждаю, что так и будет, но предполагаю, ибо теоретически это возможно. Уж больно много проблем у этих языков.
>>1946467 Я говорил точечно про бинарную эксплуатацию. Именно лоу-лвл хакинг. Он уже в умирающей стадии, да. Но реверс нужен не только для этого, поэтому с ним всё ок. Байтоёбство же в целом еще как нужно, особенно учитывая наступающую эру IOT. Всегда нужны системщики, способные писать дрова, прошивки и античиты для очередных быдлоигр, но все это разРАБотка, как ты понимаешь.
Эра взломов не заканчивается тоже, только именно лоу лвл взломов (хотя хардварный хакинг еще может взлететь, но лоу лвл программному - все, пизда). Взломы на уровне веб-дрисни цветут и пахнут, поэтому если ты хочешь быть именно кулхацкером, то вкатывайся в веб, там это в стадии развития, а не затухания, как в бинарном хакинге.
>>1946515 Аналогично. А какова цель вката? Если тупо хобби, то какая разница что там умирает, а что нет? Если ради того, чтобы подзаработать, то смотря что. Если именно бинарная эксплуатация, то не советую по вышеописанным причинам.
>>1946525 > А какова цель вката? Если тупо хобби, то какая разница что там умирает, а что нет? Да, ради хобби, конечно. Да просто интересно было раньше читать про всякие лоу-левел взломы. Как с памятью играются и прочая фигня. Просто обидно смотреть на то как убивают твои прошлые фантазии.
>>1947024 Хуёл, я на этом деле собаку съел. Есть офк symbolic execution, помогающий в поиске логических багов, который можно прикрутить к фаззингу, но этот метод не скейлится и применим только к хеллоуворлдам.
>>1946542 То, чтт он пишет, справедливо лишь для популярных платформ с кучей бабла, влитого именно в секьюрити. Т.е. МС, Эппл, Андроид. С эпохой IOT у тебя есть овер9к девайсов, взламывай не перевзламывай. Взломай свой роутер, например. А потом соседский.
>>1947604 Две книги Митника (Искусство обмана, другую не помню название). Компьютерное подполье (это которая с редакцией Ассанжа). Но это все про 80-е и 90-е. Но интересно.
>>1948871 Это деанон, сорян, брат, мне нельзя открыто светиться по определенным причинам (не занимаюсь чернухой, другая причина). Можешь мне не верить. Молодец, что интересуешься, не забрасывай.
А IoT в РФ вообще существует? У нас же не производится электроники как таковой для гражданского применения. Все эти ваши умные утюги, холодильники, гироскутеры, чайники - все сделано в Китае. Какое у нас IoT? Все о нем уже не менее 6 лет говорят, но никакого IoT я так и не вижу. По сути, ничего толком за эти 6 лет и не изменилось в этой сфере, имхо.
Отреверсили gta 3 и vc, можно собрать из исходников! Я просто охуел от такой новости.
Реверсили инжектя куски и переписывая их на C++. Это стало возможным благодаря тому, что в первых версиях gta3 были debug строки с названиями функций и благодаря всему опыту, который накопился за годы реверса и разработки мультиплееров, клео и прочих модов.
>>1949775 Гта 3 вообще лайтовая по ресурсам игра, вот бы ее кто ради лулзов портировал на симбиан N95 и похожие с gpu. От третьего айфона не сильно отличается, а на него запилили.
>>1949775 Глянул исходники и вот теперь не понимаю. Как они додумались столько переменных назвать и выстроить иерархию инклудов и исходников? За два года сделали.
>>1837856 (OP) Памагити! В универе заставляют писать на Borland C под DOS. Суть проблемы: 1)пик1: после редактирования файла L1ASM.ASM почему-то при компиляции не перезаписывается файл L1ASM.OBJ , хотя файл L1.OBJ , который компилируется из файла L1.CPP перезаписывается нормально. Т.е. если L1ASM.OBJ удалять каждый раз вручную, то все работает нормально. 2)Но если скомпилировать L1ASM.ASM с помощью Turbo Assembler без привлечения среды Borland C, то соответствующий файл L1ASM.OBJ перезаписывается нормально, сколько бы раз я его не компилировал. Значит, проблема где-то между Borland C и Turbo Assembler. 3)Ещё перед пик 1 появляется пик 3. Что с этим делать? inb менять IDE
>>1950010 >g:\BC\BIN\L1ASM.OBJ\L1ASM.OBJ Так и должно быть? А вообще, ты знаешь как тут (на доске в целом) относятся к студентам с лабораторными заданиями
Сап реверсеры. Нужна помощь с vtable, а именно: если есть несколько экземпляров одного класса, то их виртуальные таблицы методов содержат одинаковые ссылки или vtable каждого экземпляра класса содержит разные ссылки, которые ссылаются на продублированные в память коды методов? Сильно не бейте, я пытаюсь понять UAF.
>>1950085 Удалось, кажется, решить: когда Borland C обращается к Turbo Assembler, он выполняет макрос $TASM. Если его поменять на $NOSWAP $SAVE CUR $CAP MSG(TASM2MSG) $EDNAME то вроде бы работает как надо
>>1948891 >Молодец, что интересуешься, не забрасывай. Спасибо конечно,мне приятно Но из твоих слов выходит что я занимаюсь тем что умрет через лет 5-7 полностью.Так может нахер это? Вплане мне это нравится,но я не могу позволить себе заниматься 3-4 года фуллтайм тем чем я себе даже на квартиру и еду не смогу заработать Не всю же жизнь жить мамкины котлеты жрать пс 17 мне сейчас
>>1950316 Занимайся этим для саморазвития. Если любишь лоу левел, вкатись в разработку драйверов, прошивок - это умрёт ГОРАЗДО позже, чем бинарная эксплуатация. Продолжай решать ctfы, это даст тебе много окололоулвльных знаний, которые помогут в байтослесарстве и ты в среднем будешь писать лучший и более безопасный код, нежели дефолтный васян-байтоёб. Как видишь, выгода энивей есть.
Если же ты помешан именно на инфобезе и ни на чем более, то здесь нужно ОБЯЗАТЕЛЬНО сделать 2 вещи: 1) Завести трактор на съеб из рашки в сторону Америки/Европы. 2) Таки полюбить мир веб безопасности и вкатыватья туда, это единственная отрасль инфобеза именно с точки зрения эксплуатации, которая реально жива и которая умрёт очень нескоро (если вообще умрёт). Плюс это легче учить, чем бинарщину, легче искать уязвимости, attack surface в миллион раз больше, чем в бинарщине. Будущее двигается в сторону веба в целом.
Олсо, не исключено, что через 10 лет у тебя компьютер будет OS-less и будет просто подключаться к облаку провайдера, в этом случае даже банальное использование браузера будет удаленное. А с технологией 5G это вполне реально, ибо скорости позволяют.
>>1947859 И да, и нет. В эмбедщине действительно плачевная ситуация по сравнению со всем остальным, но через год-два выходит митигация-убийца, которая хоронит бинарную эксплуатацию и на рынке эмбеддеда, убивая всю суб-отрасль окончательно. Митигация - memory tagging extension. Вкратце - это address sanitizer на уровне железа. Если ты знаешь что такое ASAN и представляешь себе работу оного на уровне ЖЕЛЕЗА(!!!), то всё сразу поймёшь. Это последний гвоздь в крышку гроба. К сожалению, времена ламповых бинарных хакеров подошли к концу.
Так мужики, я конечно дико извиняюсь, но не могли бы вы мне пояснить за годную литературу/статьи/видеоуроки на худой конец по FASM, желательно с подходом с практической стороны, а то я Hello World и калькулятор уже написал, а дальше куда хуй знает
>>1950809 Про логические уязвимости я уже говорил выше. Проблема для атакующей стороны в том, что они редко приводят к исполнению произвольного кода, в отличие от багов с памятью.
К тому же, я говорил про близкую кончину именно бинарной эксплуатации, а не реверсинга. Реверсинг != бинарная эксплуатация. Реверсинг используется в бинарной эксплуатации, это инструмент. Но у него есть применение и вне бинарной эксплуатации, поэтому с самим реверсингом всё ок. Но стоит помнить, что реверсинг - не отдельная профессия, а инструмент исследователя.
>>1950973 > Проблема для атакующей стороны в том, что они редко приводят к исполнению произвольного кода, в отличие от багов с памятью. Это да. Но я уже хочу найти любую уязвимость, которая позволит получить несанкционированный доступ к информации.
>>1952956 Понимание самых ходовых мнемоник не помешает. Там же основной контент вида "давайте напишем хелловорлд и расковыряем, что на выходе отрыгнул компилятор". Вообще странный вопрос, начни читать - при необходимости полистаешь справочники.
Анончики, есть софтинка, которая посылает на китайский йоба принтер последовательность байтов на порт. Как формируется эта последовательность, мне не совсем понятно. Драйвер на него написать поленились, а с софтиной этой плясать уже все заебались. В декомпиляции я не разбираюсь, все-таки опыт требуется. Если кто хочет взяться за это, оставьте фейкомыло. О цене тоже договоримся. На выходе хотелось бы получить какой-нибудь простенький скрипт.
хз, может не по теме, но кто-нибудь уже ковырял исходники недавно взломанных gta 3 и vc? удалось что-нибудь свое добавить в код и собрать его? просто интересно, сам хочу в скором времени попробовать это.
>>1950115 Методы это функции по сути. Если метод один-в-один то компилятор его повторять в коде не будет.
Виртуальная таблица - это способ программисту динамически (во время выполенения программы) назначить функцию-реализацию этого самого метода. Естественно данная функция должна иметь схожий заголовок (т.н. сигнатуру; т.е. что принимает, что возвращает)
Виртуальная таблица - список указателей на такие функции. Этот список создан для каждого ОБЪЕКТА класса. Класс это тип, а объект класса - это инстанс/переменная.
По той же логике что и INT это тип, а переменная этого типа - это объект/инстанс.
Для вкатывания обязательно в архитектуру вкатываться? Если да, то вот к примеру в digital design and computer architecture изучается некий MIPS ассемблер. Уместно ли его учить для написания/изучения программ на современных процессорах и всяких NASM'ов FASM'ов и GAS'ов?
>>1958546 Знание архитектуры раньше было неоходимо чтобы писать более качественный код - т.е. для оптимизаций. На сегодняшний день это очень сложная и муторная задача для человека, и в целом отдана на откуп оптимизирующим компиляторам, которые часто справляются с этим лучше человека. Есть места где человек все еще может путем покупки соответсвующей ветки прцессоров и подгона под них методом последовательных проб и замеров - кодеки например.
>>1958294 Да, через уязвимость в софте, но зиродеи нынче дорогие, а находить их, да еще и писать под них эксплоиты, может далеко не каждый.
Квинтэссенция взлома - zero click remote code execution. Это сугубо технический взлом без использования социальной инженерии, достаточно чтобы жертва юзала уязвимый софт.
Возможно вкатиться в asm без знакомых? На данный момент работаю на жабе, но этот веб мне остоебел, думал найти работу на с/с++, потом уже решил перейти в asm, но глянул на hh - 0 вакансий (разве что добавка к тем же с/с++, но чистого asm не было). А так язык то интересный
>>1960000 Для чего? Хобби? Топ тема. Работа? Не имеет смысла, работа в этой области конечно есть, но глубоко исследовательская и по большей части не в странах СНГ.
Есть варик, если ты молодой (< 20 лет) и уже имеешь базовые знания + возможность завести трактор. Иначе выгоришь в 90% случаев. Но решать тебе, офк.
>>1960337 Хз о ком ты и что ты подразумеваешь под словом бинарщина. Разработка, ИБ? Разработка цветет и пахнет, правда платят за байтоеблю хорошо опять же только за бугром (да, в США байтослесарь получает в среднем больше веб-макаки, surprise motherfucker). Инфосек в низком уровне погибает, да. Особенно на программном уровне. Уже сейчас для фул чейна на известную ОС/браузер/веб-сервер нужен штаб гигамозгов, уровень которых недостижим для всяких 20-ти летних вкатышей, и очень много удачи и времени. И одним эксплуатабельным багом не отделаешься, их нужно в среднем минимум 3-4, РАЗНЫХ. И не факт, что они вообще будут. Учитывая, что помимо кучи митигаций, количество которых растет в геометрической прогрессии, некоторые важные компоненты известных программ переписывают на Раст (мелкософты уже начали), то можно представить, как через 2-3 года ресёрчеры полетят с рабочих мест) Я уже молчу про то, что критически важный софт, который торчит мордой в интернет, сидит под фаерволлом и крутится в песочнице. Короче, нажать на энтер и быть внутри корпоративной сети через переполнение буфера - это уже навсегда в прошлом, да. Хз чё там по вебу, я не интересовался никогда тем, что выше уровня крестов, но вангую, что и там куча защитных технологий. Поменьше смотрите мистера робота, реальность не такая.
>>1960337 DEP, ASLR - хуйня из-под коня. ASLR неприятен, но достаточно одного инфолика и всё, эта защита сыпется. DEP - говно без задач, он слабее всех остальных митигаций задрал планку. До 2002 года (вроде тогда завезли DEP в шинду, а затем годом позже в линь и двумя годами позже в мэкось) любой школьник-долбоеб, знающий основы С и асма мог наебнуть полмира, виндовые кернел эксплоиты гуляли по сети только так. Но с другой стороны и зиродеи были не такими дорогими, как сейчас, в начале нулевых не у всех даже в Европках/Америках были компы, я уже не говорю про тырнет. Информация была дешевле в разы, сейчас другие времена.
Сейчас есть митигации, которые зафутболивают планку не просто в стратосферу, а прямиком на Плутон нахуй. CFI убивает ROP и почти любые другие атаки типа code reuse особенно, если он правильно имплементирован (coarse grained слабоват и его можно обойти при большой удаче). Но можно сказать, что ROPу тоже пришел конец. на армах скоро выйдет митигация, которая грубо говоря реализует ASAN на уровне железа, это уже гроб смерть пидор.
Народ, сам сижу на линуксе уже 2010 год и не очень понимаю, как незаметно поставить что-то в автозагрузу на 10ке.
Жертва запускает мой exe'шник. В этот exe'шник заэмбеден другой exe (назовём его второй). Как лучше орагнизовать незаметную загрузку этого второго? Через ключи реестра? Добавить как службу в сервисы? Конечно, оставася максимально незаметным и с истемный правами при автозагрузке.
>>1961499 В асме нужно использовать деление только в крайних случаях, когда без него никак. Я не знаю, не понял твой код. Поставь счётчик, первое что пришло в голову.
>>1960781 Это не по дзену, понимаешь? Ты с инфой можешь делать всё что угодно, ты бог инфы, можешь сделать этот мир лучше. Но ты выбрал подсунуть какойто экзешник жертве, чёто там заэмбендить. Нахуй оно тебе надо? Ты всё равно ничего не добьёшся в конце-концов, потому что у тебя неправильные цели, навязанные обществом.
>>1961693 мне кажется, что члены моей команды вьют интриги за моей спиной и вытесняют меня с проекта постепенно. Возможно, я сликшом токсичный. Но мне интересно знать, что обо мне думают люди.
>>1961708 Бля, умер Xatab. Он умер честным и бескорыстным человеком. Он не мог делать кряки, взламывать игры. Он просто делал то, что мог делать, для того чтобы этот мир был лучше. Его ничто не сломало, ни деньги, ни тян, ни власть, он был уверен в своей правоте. Просто вкладывал свою крахотульку в этот мир и всё, вкладывал и вкладывал. За это ему огромный респект, далеко не каждый так сможет.
>>1961823 Найди счётчик символов, мне 21 не влезло. На скрине>>1959997 БП с которого начинается отрисовка текста -8004C20C, на 800526E8 заканчивается. Между этими двумя БП гдето есть джамп(branch на мипсе). Надо его найти. Ещё надо, для наглядности, сделать конвертор кодировки. Но для этого мне нужно точно знать какой байт соответствует букве( пока не сделал). После того как я изменю все буквы в полностью распакованном бинаре, я увижу текст и буду знать в каких именно кусках он запакован. Потом надо написать упаковшик и всё это запаковать.
Вообще эту игру перевели на португальский и китайский. Надо понимать что им было проще, английские глифы и португальские почти одинаковы, так же как японские и китайские. Возможно, что эту игру даже невозможно перевести на русский. Но это предположение, да даже если так, то было бы неплохо дать заключение реверсача, а то люди то ждут.
>>1961686 Деление должно быть во время препроцессорной обработки, не в рантайме. Надо разделить на 16, чтобы получить сегментный адрес. Тогда я буду знать, где заканчивается сегмент с ядром
>>1961938 Все так же. nasm не дает делать сдвиги и деление с такими значениями, пишет все тот же division operator may only be applied to scalar values.
Вот я честно непонимаю, зачем я должен задрачивать какие-то высокоуровневые структуры, чтобы они потом не работали. А чтобы работали я должен соблюдать правила который ктото прописал. Это моё мнение.
>>1961989 >>1961972 Человек, наверное, говорит, что юзая чужие абстракции и библиотеки, иногда сильно ударяешься о подводыные камни и не можешь обойти завалы из таких камней в сильном течении.
>>1961989 nasm и masm сделаны для перехода с высокоуровневых языков на низкоуровневые. Они как бы вроде могут делать как ассемблер, но в то же время используют высокоурожайный синтаксис. То есть движение от высокоуровневого языка к низкоуровнему. Fasm - наоборот, полностью понимает низкоуровневый синтаксис. Но если ты такой высокоуровневый бог, то можешь юзать всякие директивы, скрипты и т.д. То есть движение от низкоуровнего языка к высокоуровнему.
>>1962007 И ошибка division operator may only be applied to scalar values. У меня в fasme ошибка указывает на строку, где я проебался и не поставил : на метку. Говорит мне, что я нихуя не понял что ты от меня хочешью
>>1962025 Предлагаешь транслировать код в бинарник, смотреть итоговый размер бинарника, писать в код хардкодом размер файла и делать это каждый раз перед сборкой, да?
Кто мне поможет?>>1961862 Надо просто аутировать, запускать пролог, потом снова запускать, потом снова запускать и так целый день, а может и два, пока не найдёшь этот branch. Ещё можно написать упаковшик, есть желающие? Упаковщик полюбому нужен, потому что у наших англоязычных друзей задача была намного проще. Там теже символы по сути, надо только их по другому расположить. Патриотизм то есть у вас? Ведь это от именно от нас зависит что в этой стране происходит.
>>1961907 Помогут. Но как - вопрос хороший, там нужно много технических знаний + интуиция. Иначе зиродеи не стоили бы так дорого. У тебя какая база вообще?
Я больше ничего не буду делать. Потому что вы пидары. Я это сделал потому что мне совсем левые люди сделали просто как профи. Вы нихуя не можете, кроме как выёбываться своими !знаниями! Мне это не интересно. Идите на хуй.
>>1962111 разрабатывал ассемблер для x86 на базе intel xed (сейчас они его выложили в opensource), что-то фиксил в qemu и в bochs. Сейчас занимаюсь comp vision в с++, питоне и тензорфлоу.
в общем база такая: работал админом, настраивал activediectory, dhcp сервера, dns, разбираюсь в маршрутизации, настраивал squid, apache, linux, freebsd. Много лет занимаюсь проганьем на си/с++. Знаю ruby и питон.
Почему спрашиваешь?
Наставьте на путь истинный! Хочу ломать тупые системы чиновничьи! Хочу наводить хаос!
Анон, здравствуй, я есть ньюфаг. А что написать на асме, чтобы было самому приятно, чтобы не совсем легаси и воможно даже полезно. Или на худой конец что-то отреверсить. Сверху какой-то поехавший пытался срс32 имплементировать, пока склоняюсь к подобной хуите.
Вчера перепил, нёс всякую хуйню, обзывался. Короче, примите мои извинения. Если что, у меня была тяжёлая чмт(открытый перелом), походу из-за этого меня клинит не туда.
>>1962215 Я бы посоветовал остаться в computer vision, если честно :) Но раз уж так хочешь, то с такой базой можешь сразу ворваться в изучение примитивов бинарной эксплуатации. Также советую порешать задачки на реверсинг и эксплуатацию в CTFах, это поможет выстроить правильный майндсет в голове. Вкатиться сразу в эксплуатацию реальных систем скорее не получится, это сложнее, чем ты думаешь. Сначала натаскай мозги на правильный лад через CTFы по восходящей сложности.
>>1962423 грустно. и игори не особо играю. я бы чтонибудь лапками написал или там своим мозгом декомпильнул небольшую прогу. неужели ничего такого нет?
>>1960351 Ну ты сказал конечно. DEP, как и любое другое hardware based смягчение, фактически убивает целый класс багов, конкретно в этом случае предотвращает выполнение данных. Именно из-за DEP хакерам пришлось извращаться и придумывать такие вещи как code reuse атаки. Новый CET (hardware based CFI) направлен на смягчение forward/backward edge атак с переиспользованием кода, но вот например майкрософт решили использовать только shadow stack и сделали ставку на свою реализацию CFI (CFG/XFG). Проблема в том, что CET выкатили буквально год назад, железа тупо нет и еще долго не будет, а для software based CFI требуется инструментация кода, т.е полная перекомпиляция (в редких случаях возможна бинарная, но скорее всего нет). Короче пока все это будет распространяться, пройдет лет 5 не меньше. Ну и не стоить забывать и недооценивать data-oriented атаки.
>>1963239 DEP далеко не на всех платформах является hardware-based. Скомпилируй бинарь на Линуксе компилятором gcc или clang с флагом -z execstack и получишь RWX кучу и стэк, как в 90-ых. Так или иначе, DEP разбивается в пух и прах классическим возвратно-ориентированным программированием. И чем больше бинарь, тем больше в нём гаджетов, которые позволяют выстроить фактически любую произвольную полезную нагрузку.
Насчет CFI - когда ворвутся fine-grained имплементации - настанет пиздец любым code reuse атакам, любые модификации ROP станут бесполезными и потеряют актуальность. Перехват потока исполнения программы по сути умрёт, контролировать instruction pointer станет невозможно при любых формах порчи памяти, так как программа будет крашиться при любой попытке прыгнуть/вернуться туда, куда CFI не позволяет. Просто теперешние имплементации позволяют обойти CFI, удовлетворяя граф разрешенных лэндов по backward/forward гранях через слегка модифицированный ROP. Но это пока есть преимущественно coarse-grained имплементации, это ненадолго.
5 лет - это же очень мало. Чтобы новичку с нуля вкатиться в это и дойти до уровня написания фул чейнов на известные браузеры и ОС - это даже больше 5-ти лет чуть ли не ежедневного ебашилова при условии достаточной мотивации и количества интеллекта, это не каждому дано осилить. Так или иначе, те, кто хочет вкатиться в binexp сейчас с нуля обречен на фейл, точка невозврата во вкат именно в бинарную эксплуатацию мирового уровня, имхо, прошла, только если ты не самородок. Через 7-8 лет ресёрчеры по всему миру, включая google project zero, начнут терять работу.
Против data-oriented атак уже есть концептуальная защита - DFI (data flow integrity), к тому же, дойти до исполнения произвольного кода при таких атаках ГОРАЗДО сложнее, так как упор делается не на перехват потока исполнения, а на порчу данных, которые на него не влияют напрямую. К тому же, искать data oriented гаджеты вручную невозможно, а их количество даже в больших бинарных файлах довольно ограничено.
>>1963392 Зачем? Байтоёбская разработка, например, цветёт и пахнет, туда можно будет вкатиться хоть через 20 лет. >>1963328 Вбиваешь в гугле binary exploitation и учишь всё, что видишь. Потом начинаешь искать CTFы и решать задания в категориях Reverse Engineering и pwn. И так лет 5-6, попутно изучая все технологические изменения в этой сфере.
>>1963300 > так как программа будет крашиться при любой попытке прыгнуть/вернуться туда, куда CFI не позволяет
это когда перед некоторыми переходами новый адрес проверяется на вхождение в правильный сегмент? а fine-grained и course-grained определяет частоту таких проверок?
>>1963431 >Зачем? Байтоёбская разработка, например, цветёт и пахнет, туда можно будет вкатиться хоть через 20 лет.
у меня скоро блять шизофрения разовьется от этой напирающей дихтомии "бинарям пиздарики vs. цветет и пахнет". надо чтоли от интернетов отдохнуть.
>>1963478 Вхождение в правильную функцию. Причем при попытке приземлиться на середину функции программа тоже крашится. Fine-grained - это генерация более скурпулезного графа, что в теории можно реализовать так, что ты не сможешь отклониться от нормального потока исполнения программы от слова совсем.
>у меня скоро блять шизофрения разовьется от этой напирающей дихтомии "бинарям пиздарики vs. цветет и пахнет".
В смысле? Байтослесарству не пиздарики, по крайней мере в разработке. Тут речь шла только об инфобезе. Там да, пизда.
>>1963507 >Тут речь шла только об инфобезе. Там да, пизда. Да ладно? А почему всякие wallarm и cloudflare цветут и пахнут? Или ты имеешь в виду инфобез байтослесарский?
>>1963512 Именно байтослесарский софтверный offensive инфобез. Если анон выше хочет быть именно кулхацкером и ломать корованы, то я советую ему заняться именно веб-уязвимостями, там смерть в ближайшее время явно не намечается, да и attack surface гораааздо больше, чем в бинарщине.
>>1963507 >Вхождение в правильную функцию. Причем при попытке приземлиться на середину функции программа тоже крашится.
т.е. даже не вхождение а обычное сравнение с единственным корректным адресом, получается? ну и в случае условного джампа - с двумя адресами? но там же наверное это дело обернуто в какую нить дополнительную цепочку test, cmp или сетбит, это типа неуязвимость?
>Fine-grained - это генерация более скурпулезного графа, что в теории можно реализовать так, что ты не сможешь отклониться от нормального потока исполнения программы от слова совсем.
кек наверное для моего понимания это засирание всего кода переходами и соотвествующими проверками. энивей спасибки за научпопдля идиота
>>1963881 Попытаюсь объяснить на пальцах: конпелятор генерирует ориентированный граф, который описывает все валидные call/jmp/ret в программе. Очень fine-grained имплементация позволит задетектить перехват потока исполнения программы при любом раскладе, поэтому да, достаточно сильный fine-grained CFI == неуязвимость перед перехватом потока исполнения.
спасибо, аноны. а теперь про DEP. судя по википедии, это просто-напросто бит запрета на исполнение для отдельного пейджа? как это аппаратно может поддерживаться?
и вот такая картина неясна: переписан стэк с адресом возврата; далее ret <evil_code>
очевидно, evil_code находится на пейдже со сброшенным нх-битом. как тогда выставленный нх-бит перписанного стэка спасет от перехвата? я наверное чегото сильно невкуриваю.
>>1964263 >это просто-напросто бит запрета на исполнение для отдельного пейджа Почти. Смысл этой митигации в том, чтобы в адресном пространстве процесса не было ни одной страницы памяти, которая одновременно и writable, и executable. Именно поэтому у данной митигации есть еще одно название - W^X (надеюсь, не надо объяснять почему). >как это аппаратно может поддерживаться? Очень просто. Достаточно переделать MMU (это железка, которая маппит виртуальные адреса к физическим) и сделать его умнее, то бишь быть memory permissions aware. >очевидно, evil_code находится на пейдже со сброшенным нх-битом. как тогда выставленный нх-бит перписанного стэка спасет от перехвата? Не до конца понял, что ты тут написал, но все равно отвечу: если адрес evil_code, куда ты пытаешься вернуться, не является исполнимым, то программа просто крашится, так как не может исполнить неисполнимый код. Если ты сейчас сидишь в ахуе, то перечитал начало моего ответа про DEP и в чём цимес данной митигации.
>>1964306 >Именно поэтому у данной митигации есть еще одно название - W^X (надеюсь, не надо объяснять почему).
очевидно, чтобы в рантайме не перезаписать исполняемый код или не исполнить данные. по крайней мере, я себе это так представлял: r-x: код, константы; rw-: бсс, дата, стэк, кучи; ну и вроде как через ммап() можно получить кучу с разными разрешениями. всё.
>>ret <evil_code> фикс: ret
ебанный стыд. наверное от усталости. я имел ввиду, что evil_code это адрес возврата после перезаписи стэка. и описание работы nx-бита прочитал через жопу. сначала подумал, что адрес возврата принадлежит другому процессуа разве так нельзя?. а оказывается, что злокод нужно также записать в адресное пространство процесса. теперь ясно как оно.
>>как это аппаратно может поддерживаться? >Очень просто. Достаточно переделать MMU (это железка, которая маппит виртуальные адреса к физическим) и сделать его умнее, то бишь быть memory permissions aware
лол. всю дорогу думал, что ммю и тлб - исключительно виртуальные понятия. с этим теперь тоже всё ясно.
и вопрос лирический. зачем защитники так сильно упоролись? нет бы играть в шашки из битов с хацкерами, вешая лапшу буржуям и военным, пилили бы вместе бабки. они же наверное тоже на мороз полетят со своими депами и сфи.
>>1964371 >адрес возврата принадлежит другому процессу
Нет, чувак, это так не работает. ret это по сути pop eip/rip (32/64 битный бинарь, соответственно) для возврата из стэкового кадра той функции, исполнение которой уже завершилось. Всё это происходит в рамках адресного пространства конкретного процесса.
>и вопрос лирический. зачем защитники так сильно упоролись? нет бы играть в шашки из битов с хацкерами, вешая лапшу буржуям и военным, пилили бы вместе бабки. они же наверное тоже на мороз полетят со своими депами и сфи.
Военным и всяким спецслужбам похуй на всех. Им легче словить топ-менеджера/любую другую шишку какого-нибудь условного Майкрософта, приставить ему дробовик к виску и попросить по-хорошему доступ ко всему чему надо, разумеется по-тихому, нежели искать зиродеи в продуктах этой компании.
А обычные ресёрчеры полетят с работ по двум причинам:
1) Защитные механизмы часто придумывают аспиранты/доктора/профессора камплюхтер сцаенс (нужное подчеркнуть) в академических рамках, отнюдь не в закромах хайтек-компаний. Им всю жизнь будут платить бабосы (не такие большие, как ресёрчерам в хайтек-компаниях, разумеется, ибо таков рыночек) за то, что они будут искать сферический способ в вакууме похекать что-либо и как от этого можно защититься. Это можно сравнить с квантовыми физиками, которым платят деньги за результат, которого можно никогда и не достигнуть за всю историю человечества.
2) Это банально жизнь. Во времена Джона Диллинджера можно было с пистолетом чуть ли не в соло ворваться в банк, спиздить много денег и иметь все шансы быть не пойманным полицией, живя опосля в шоколаде и больше не рискуя. Сейчас чтобы физически ограбить банк, как 90 лет назад, и при этом не быть пойманным, нужно быть супергероем из Марвел, а не человеком, засим это потеряло актуальность в современном мире. Также и с бинарным хакингом. Всему рано или поздно приходит конец в виду развития достаточного количества, и качества, превентивных мер.
>>1964408 >Нет, чувак, это так не работает. ret это по сути pop eip/rip (32/64 битный бинарь, соответственно) для возврата из стэкового кадра той функции, исполнение которой уже завершилось. Всё это происходит в рамках адресного пространства конкретного процесса.
да-да. я всю туплю и забываю про виртуальную адресацию, протектед мемори етс., воспринимая память как нечто неделимое.
и далее по тексту одна грусть. больше не погамать в эти игрухи.
так то спасибо еще раз за все ответы и толерантность. жаль у меня с картинками туго в телефоне, иначе хоть няхой отблагодарил.
>>1964419 >и далее по тексту одна грусть. больше не погамать в эти игрухи.
Не всё так плохо. Если ты байтослесарь, то есть разработка, которая цветёт и пахнет, особенно за бугром.
Если же ты упорот именно по хакингу, то есть еще живые атакующие отрасли - веб-хакинг, например. Я в нём не силён, ибо сам байтоёб, но имею приятелей веб-ИБшников, и в целом слышал об общей ситуации в веб-хакинге. Судя по тому, что я слышал, там всё куда живее, чем в бинарном. И поверхность атаки тоже гораздо больше. Туда, по крайней мере, ещё можно вкатиться не гениям и достигнуть очень высокого уровня мастерства задолго до смерти самой отрасли.
>>1837856 (OP) По основам ассемблера >Digital design and computer architecture О простых вещах сложным языком + аналоговая схемотехника, мало примеров. Не для новичков. >Танненбаум Много неожиданно вставленных абзацев с исторической справкой, что сбивает с мысли и не даёт усвоить целостной картины. Много неизвестной и плохо уточнённой терминологии с точки зрения человека только-только вкатывающегося в азы computer science. Например не уточняется какая память подразумевается скорее всего ОЗУ и куча таких мелких моментов вне контекста знаний вкатывальщика.
Сап. Короче есть такая проблема. Как подружить с русскими шрифтами игру. Латиница норм, кириллица в говне. Причем я пробовал и другой шрифт игре подсовывать. Всё одно, межбуквенное расстояние в пизде. В какую сторону копать. Пытался дебаггером проверить какие есть различия в проходе между русским символом и английским. Пока не нашел. Можно конечно сделать так как деды делали, то бишь перерисовать шрифты, но это не спортивно.
>>1965937 Предположение на 99%(потому что сам код отрисовки символов в екзешнике не нашёл). Японские буквы в кодировке utf-8 из трёх байт, русские буквы из двух, игра добавляет 3 байт к букве в виде пробела перед буквой. Английские буквы в utf-8 из одного байта и соответствуют коду ascii, игра их распознаёт как ascii и ничего не добавляет. Шрифты не причём. Два варианта для победы: 1 наебать игру расширив двух-байтные русские буквы до трёх байт, какими-нибудь управляющими символами чтоли. 2 Исправить экзешник, чтобы ничего не добавлял. Я не нашёл этот код, но поищу, интересно стало.
Сап АСМач, на связи студент ПМИхи, есть ряд вопросов о сабже, буду благодарен за пояснение. Учусь в вузе на пми, профильными являются высокоуровневые языки и научные либы, но параллельно нам преподают Си и, собсна, АСМ. Преподы неплохие, но за пределы методичек не выходят, увидел тред и еще больше задумался над перспективой вкатиться. Айти будущее в необъятной не такое и ясное, особенно в сфере мл и прочего прикладного матана, хочу по-серьезному вкатиться в АСМ, чтобы был вариант поработать в сфере микропроцессорного программирования (в моей мухосрани куча тематических КБ и мелких контор). Тащемта вопросы: Cтоит ли вкатываться с такой целью? Востребовано ли ИРЛ? Где искать реальные прикладные задачи для практики?
>>1967113 Плюс весь текст там в sjis, utf в те бородатые года, на игру которая не на экспорт не завезут. Плюс была бы поддержка utf игра спокойно запускалась бы на любой локали.
>>1967140 Странная хрень, думал что пробел с русской буквой ставиться перед буквой. Но с английской почему-то ставится после буквы. Видимо это связано с самим глифом и места для отрисовки почему-то выделяется больше. Надо дальше ковырять.
>>1964432 Ты говоришь, что бинарные уявимости сак. А вот у гугла проект https://googleprojectzero.blogspot.com/ выглядит живым ещё. Как считаешь, такими эмуляторами можно только в ОС баги искать? Или в каких-то монструонзных вещах типа Exchange сервера? Ваще, с чего начать
Маленькая победа, скопиравал сам глиф после выполнения функции getglyphoutlinew, которая должна была нарисовать глиф английской буквы a. Не знаю почему так, все структуры одинаковые.
>>1967440 Там по смещению 111B90 есть функция, в ней происходит проверка юникод чар или нет. Если да, то вызывается GetStringTypeW. Возвращает оно либо 1 в случае с ascii либо 2 в случае с юникодом. Так вот, если возвращаемое число будет 3, то межбуквенный интервал увеличится, если 1, то не ascii чары ломаются. Я конечно не прогромист, но я знаю самый научный метод - метод научного тыка. И как мне кажется нужно капать в эту сторону.
>>1967419 Пчел, ты в курсе какие там роботы вообще работают? Ты даже не представляешь себе уровень хакеров в gp0, это лучшие из лучших. таких челиком меньше 1000 во всем мире. И да, в виду развития митигаций даже они полетят с работ через 7-8 лет. ДАЖЕ они. >такими эмуляторами можно только в ОС баги искать? ВО всем, что угодно, но это эффективно только против easy-to-find багов, глубокие и сложные баги, которые годами остаются незамеченными, как правило, находятся ручным реверс-инжинирингом.
>>1967475 >находятся ручным реверс-инжинирингом. чо они, листинг читают прямо-таки наугад, либо всё подряд? Либо смесь какого-то фаззинга и чтения листингов?
>>1967707 Скажем так, это требует не только тонны технических знаний, но и интуиции. Фаззинг находит easy-to-find баги по большей части, к тому же он неэффективен в поиске логических багов. Всё куда сложнее.
>>1967469 Надо вместо push ecx сделать джамп наверх и там разместить доп. код для проверки русских букв, чтобы они тоже как ascii были, правильно я понимаю? Щас попробую
>>1968147 Для проверочки обычно можно юзать чит энджин. А вообще не поможет. Если у русских чаров ставить 1 они идут в разнос. Там проблема где-то глубже. Надо дальше копать. Но смотреть именно после этого что происходит с ascii и не происходит с юникодом.
>>1968174 Вроде работает, проигнорировал тот jnb когда в eax был чар буквы п. То есть игра должна была наткнуться на GetStringTypeW, но вместо этого она просто вышла из процедуры. Надо придумать как подсунуть доп проверку, у меня тут ошибки типа analysis assumes that byte you are pointing at is not the first of valid command. Помогите
>>1968421 Чё сделал? На пикче я вручную тот джамп игнорил, чтобы он не срабатывал. Сделал всё также только только кодом и буквы посыпались. Не пойму в чём разница.
>>1968440 Думаю для русских букв нужно правильно выставлять параметры в GetStringTypeW, потому что если делать всё как для ascii(делать тупо выход из процедуры, как делают символы ascii), то дальше игра всё равно неправильно распознает символ, т.к. ascii из одного байта, а unicode из двух. Думаю, для этого надо инжектить дллку.
>>1968839 Фигню сказал. Там просто тупая проверка. Если аски на выход единица, если юникод 2. Затем берем ширину по умолчанию 0x17 умножаем на выхлоп нашей функции, затем делим на 2 = конечную ширину символа.С русскими буквами в любом случае проблем нет. Можно даже еще поиграться с переменными и сделать поменьше расстояние. Либо найти подходящий шрифт.
>>1967475 Какие? Вот тот же joru двачером обычным был, сидел на мертвых форумах, малварь писал даже. Ничего сверхъестественного они не делают, ты бы также хуячил с поддержкой от гугла. Руками никто ничего не ищет, только автоматикой, но тулзы и примитивы тебе нужно самому писать и подтачивать под каждую цель, для этого нужно предварительно все тщательно исследовать.
>>1968963 >Руками никто ничего не ищет Проиграл. Я не спорю, что фаззеры используются, но ты не найдешь все баги благодаря нему. Я читал много райтапов от project zero, у них немало найденных багов чисто на интуиции. Порой цель может быть такой заебистой для сетапа харнесса, что легче ручками поискать в опасных местах, нежели фаззить ее.
И да, современные митигации превращают эксплуатацию в искусство. Для рабочего эксплоита в наши дни, как правило, нужно минимум 2-3 разных багов для обхода современных митигаций.
>>1968986 Давай определимся для начала что значит руками. Я это интерпретирую так: дропнуть бинарь в иду и до посинения дрочить листинг. Так естественно никто не делает. В ресерчах ты видишь лишь малую часть того, что происходит за кулисами, тебе кажется что аналитик сделал свои выводы интуитивно, на основе опыта, только потому, что он уже имеет крашдамп подтверждающий факт наличия уязвимости, после чего он пытается логически дойти до того же места обратным/ручным путем, чтобы это можно было красиво и слаженно опубликовать. Классический случай ошибки выжившего.
>>1968986 Также не забывай, что фаззерами дело не ограничивается, есть и другие инструменты. Да и само качество фаззера зависит от многих факторов, включая предварительную подготовку к цели.
>>1969039 Я это и не имел в виду. Читать листинг в тупую - это действительно не имеет ничего общего с реальностью. Но даже для того же фаззинга тебе нужно сделать эмумерацию векторов ввода, простым языком - тебе нужно понять как программа получает ввод извне, и далеко не во всех программах это легко отследить. Да, есть тулзы наподобие bpftrace (dtrace на стероидах), но в конечном итоге тебе нужно сделать немало реверс-инжиниринга для того, чтобы понять как слать данные в программу. Ты не можешь просто запустить фаззер и бросать ввод в программу, тебе надо засетапить харнесс, что и требует предварительного РУЧНОГО реверс-инжиниринга. Не знаешь как и сколькими путями программа получает данные извне == сосёшь хуй, не имея возможности даже пофаззить.
Сап гении. Планирую вкат в reverse/pentest. Сейчас на 3 курсе технического вузика. Знаю плюсы на уровне написания своего пэинта и блокнота. Питухон на уровне парсеров и машоба. Возможно за пару месяцев найти себе стажировочку/подработку/баунтихант хотя бы на еду? А то область крайне интересна и БАЛЬШИЕ деньхи мне не слишком нужны в ближайшее время.
>>1969210 >reverse/pentest Так в реверс или в пентест? Это 2 диаметрально противоположные отрасли. Настолько, что 99% требуемых скиллов даже не пересекаются между собой. >Есть разница реверсить под линукс и под винду? Огромная. Это ведь разные операционные системы, причем отличия между ними разительные. И в самой архитектуре ОС, и в тулинге, да вообще во всём.
>>1969236 Потому что тупые соски на хрюшах в душе не ебут о том, что они пишут. >>1969265 input vector enumeration - довольно известный термин в инфосеке в целом, надо просто читать всё на английском. На русском весь материал полный шлак.
>>1969275 Реверс - это инструмент, а не отдельная специальность. Есть чуваки, которые реверсят малвари, есть те, кто реверсят с целью промышленного шпионажа, а есть те, которые используют реверс для поиска уязвимостей в софте. Все предметные области, связанные с реверсом, сложны для вката. Тебе прежде всего нужно нырять в дебри ОС, на первых порах даже какой-то конкретной. Потрать время на разработку системного/околосистемного софта, выучи один из языков ассемблера. Если хочешь вкатываться в поиск уязвимостей, то наберись терпения, на стажировку без связей вряд ли вкатишься, потому что на такие должности ищут уже как правило сформированных спецов, у которых за плечами минимум парочка CVE на их имя. С твоими входными вкат в реверсинг малварей - 3-4 года, в поиск уязвимостей - 4-5 лет. Но это просто моё предположение, может тебе повезёт, а может и нет. Может мотивацию где-то посередине потеряешь. Всё зависит от огромного количества факторов. Что уж точно - не жди быстрых результатов, это очень брутальная отрасль для вката с высоким порогом вхождения.
>>1969275 попробуй ctf таски на бинарную эксплуатацию и реверс порешать, а потом подумай, что реальные проги куда сложнее и забей уже хуй на это реверсоговно. Бери нормальный язык и пиздуй на РАБоту
анон-крэкер, а объясни: почему в симуляторах типа bochs не симулируют data cache'ы cpu? Сам себе я даю ответ такой:ибо это очень тормознуто работало ы, потому что пришлось бы каждый байт памяти защищать мьютексом. Ну ок. Но теоритически хотя бы как-то это можно было бы сделать? 1) Вот например, мы знаем, что на соврменных процессарах intel новее семейтсва p6 (вроде p6) все store'ы/load'ы, не пересекающие границу 64 байта кэшируемой памяти, атомарны. Уже мьютекс не на каждую ячейку.
2) Можно было бы у текущих двух тредов брать какой-то сегмент кода и максимально по возможности проверять адреса сторов и лоадов памяти, и исходя из этого уже принимать решение нужно синхронизация или нет.
3) Сделать очереди сторов для каждого ядра, как это сделано у Intel, например. Заодно можно было бы memory order тестировать.
Сорян за кашу и неточности, у самого каша в голове пока на этот счёт.
>>1969282 Я тут подумал выход. А есть варик вкатиться куда-то на первое время? Типо там QA какой-нибудь или вообще область какая-то в которой скиллы как-то релевантны будут
Ору. "Мужики, вкачусь в кассиры, чтобы стать топ менеджером!". Связи вообще нет никакой, куа макаки не шарят ни за ассемблер, ни за тонкости работы ОС если сами на досуге этим не интересуются офк, но их специальность этого не требует, ни тем более за уязвимости и примитивы эксплуатации. Как твоя голова родила мысль, что эти две отрасли вообще хоть в чем-то связаны между собой? Анон выше посоветовал вкатиться в системщину - вот это здравый совет, так как системное программирование натаскает тебя по части ОС как следует.
>>1969637 Конкретноый проблемы нет. Вопрос теоритический. Почему все игнорируют кэши. Ведь ядро внутри себя использует атомарные примитивы и полагается на мэмори одэр. Юзерспейс использует атомарные операции и полагается тоже на мэмори одэр. Те же lock-free. И просто понять хочу, если бы пришлось это симулировать, как это оптимально можно было бы сделать.
>Тогда уж всю микроархитектуру эмулируй А разве memory order и atomic ops относятся к микроархитектуре? Микроархитектура определяет, сколько циклов отнимают у проца всякие синхронизацтт кэшей и прочее. Поэтому не понимаю наезда твоего.
>>1969642 Не наезжал я. Просто не понятно. Какие баги ты хочешь отлавливать, эмулируя кэши? Может быть для этого нужно будет учитывать особенности конкретной микроархитектуры или модели CPU. Протоколы когерентности кэша разные есть для x86.
>>1969655 >>1969659 антоши, я просто теоритический интерес проявляю, как это можно сделать в таком симуляторе как bochs чешу языком.
>Может быть для этого нужно будет учитывать особенности конкретной микроархитектуры или модели CPU. Протоколы когерентности кэша разные есть для x86. если у тебя симулятор будет работать в несколько своих тредов, то для проявления багов с атомарными ОПами и барьерами памяти, то этого уже достаточно будет для случайного проявления багов.
Всё же опишите словами хотя бы, как можно было бы сделать такую эмуляцию в киму и боксе. Лучше в боксе
>>1969668 Если ты имеешь в виду поиск софтверных багов, связанных с многопоточностью (дедлоки, состояния гонок), то достаточно эмулировать само мультипоточное исполнение и хукнуть функции лока/анлока мьютексов. Я не знаю в подробностях что у бохса есть за кулисами, но вангую, что тебе придется писать всё с нуля или модифицировать код самого бохса под свои нужды, что может быть даже еще сложнее.
>>1969492 А в системщики как вкатиться? Плюсы дрочить на пару с асмом и из таненбаума пытаться реализовывать всякие приколюхи? И сколько на это время уйдёт до уровня бомжа за еду? А по поводу того как моя голова родила мысль могу расписать как такая извращенная фантазия родилась, раз интересно. Что-то по типу того, что куа дурачки находят ошибки в говнокоде своих джунов, а реверсеры разбирают софт который был написан кем угодно и если надо его патчат хуячат. И если надрочиться на анализ кода дурачков и нахождение ошибок, то с реверсом попроще потом будет. Но видимо реально чушь спорол
>>1969733 >А в системщики как вкатиться? Плюсы дрочить на пару с асмом и из таненбаума пытаться реализовывать всякие приколюхи? И сколько на это время уйдёт до уровня бомжа за еду? Системщики пишут драйвера, прошивки, разный йоба рантайм, хуйлоуд, эмбеддед. Всё еще зависит от того где ты живёшь. Если ты из СНГ параши, то земля пухом, лучше задумайся о веб-дрисне, я не шучу.
>Но видимо реально чушь спорол Да, полную ахинею. Реверсеры имеют дело с закрытым софтом (иначе это не реверс-инжиниринг, а хуйня из-под коня) и имеют минимум инфы с точки зрения кода. И они должны шарить за асм, OS internals и архитектуру компьютера в целом. Это другой уровень понимания того, что есть компьютер в принципе.
Рубрика вопрос от дегенерата. Написал хелло ворлд на плюсах пик 1. Чтобы поподменять на пошёл нахуй и всякое такое. Когда вскрываю аидой по очевидным причинам подтягивается вся <iostream> и ещё немного кишочков пик 2. Собственно вопрос. Как сделать так, чтобы только нужный контент оставался? Не ручками же скрывать наверное...
>>1970630 Никак, я думаю. Ты заинклюдил весь хэдэр iostream, вот ты и получаешь всё его содержимое. Когда ты компилишь бинарь, компилятор в стадии препроцессинга резолвит все дефайны и инклюды, чтобы были сделаны, и тупо делает find & replace, засим все, что есть в хедере, является частью объектного файла, который потом линкуется и высирается в виде готового бинаря. Пользуйся поиском подходящих функций, в чем проблема-то?
Не знаю, туда ли я обращаюсь, но попробуем? Недавно увидел вебмку с демкой на спектруме и задался вопросом. Если ли тут аноны, которые пишут/писали демки? Можете гайдов подкинуть или других материалов. Просто для меня это темный лес.
Пацаны! Расскажите, где можно узнать про низкоуровневую оптимизацию производительности кода на ASM? Хочу знать, как устроены и работают современные процессоры. Я где-то отрыл описание древних Pentium 1, что там есть два конвеера U+V, спаривание инструкций, видел сколько требуется тактов на те или иные операции, пенальти на невыровненный доступ к данным, и много что ещё.
Мне нужно знать что-то подобное про современные процы. Я читал доки Intel, Software Optimization Guidelines, кажется. Там многое непонятно. Например рассказывается что есть какие-то порты микроопераций, приводятся схемы процессора, но что из себя представляют эти порты, как работают, какие у них характеристики - всё это за гранью понимания. Где можно внятно про это узнать?
>>1973244 Или вот меня интересует, сколько тактов выполняются различные SIMD инструкции? Могут ли они выполняться параллельно другим инструкциям? Вот вроде FPU инструкции так могут.
Есть эльф с x86 кодом и релоками, радар2 умеет подсвечивать релоки функций, но по данным, чёт не осиливает, лишь помечает, что тут релок, но куда иди сам смотри. Есть ли готовые программы, чтобы редактировать релоки в эльфах? Держите азиаточку авансом.
>>1976946 >Cultural Selection Theory >Book: Cultural selection >Predictions based on cultural selection theory >Evolutionary biology >Random number generators >Software optimization resources
Сначала ничего не понял, потом слегка проигрунькал, но всё же так ничего и не понял.
>>1976402 Зачем. И так хорошо сидим. А вообще шапку надо переделывать - старая протухла. Кстати, кто в теме, накидайте свежих реверс-рилейтед ссылок для шапки.
>>1977116 а чего ты не понял-то? Я могу обманывать, но по-моему, Агрен Фог чувак, который обнаружил, что при смешанном использовании sse и avx инструкций, появляется некая задержка, связанная с подачей питания на вторую часть ymm регистра. Но это в инете уточни. А чего непонятного-то. Ты просил ресурс - я написал.
>>1977514 это как если бы спросили "с чего начать изучать Си", а в ответ дали ссылку на персональный сайт Кернигана/Ритчи, где помимо последнего эдишена C language, также располагались результы исследования в молекулярной биологии, трактат о любви и чья-то курсовая работа на тему влияния имиджборд на развитие человечества.
>>1977674 Один из, не только. Конкретно эта инструкция защищает от прыжков в произвольные адреса. Есть защита backward edge (aka shadow stack) и forward edge для защиты от произвольных прыжков и вызовов произвольных функций. Цель этой технологии - убрать возможность перехватить поток исполнения программы.
Анон, у тебя пиздец каша в голове, ты мешаешь в одну кучу диаметрально противоположные отрасли. У тебя есть юэкграунд в программировании вообще? Реши что ты хочешь - лоу лвл (ОСи, прошивки, драйвера и прочие бинари) или хай лвл (сайты и прочие веб-приложения). Если ты хочешь устроиться на работу в инфосеке, то выбирай хай-лвл, поезд лоу-лвла уже прошёл и отрасль загибается, плюс это сложнее в 50 миллиардов раз.
>>1983161 Вот тебе и лол. Ты вообще в курсе что происходит с митигациями в бинарщине? Там CFI уже нереально закрутил гайки. Осталось только ввести memory tagging extension (сперва воврется в ARM, хз че по интеловским процам) и всё, пиздец. Уже сейчас при достаточно хорошей имплементации CFI практически невозможно перехватить поток исполнения программы. Бинарщину победили через много слоев митигаций, каждая из которых на протяжении этих лет только сильнее закручивала гайки. Через лет 7-8 исследователи полетят с работ, ибо ловить будет уже нечего. Из лоу лвла останутся только хардварные дыры, которыми будут заниматься полтора гигамозга на всю планету. А вот в вебе до сих пор есть где разгуляться, поэтому веб-дыры живее всех живых. И если анон хочет почувствовать себя кулхацкером и поднять лаве на баг баунти, то ему прямая дорога в веб, но никак не в бинарщину.
Призываю байтоебов, не обсыкайте только учусь Вопрос по архитектуре х32 и х64, я правильно понимаю что используя систему на х64 на хранение данных будет расходоваться больше памяти? Допустим нам нужно сохранить в регистр 8 бит информации на х32 системе, 8 бит сохраним а остальные неиспользуемые забьются нулями? Соответственно на х64 одна ячейка потребует в джва раза больше места что бы сохранить те же 8 бит?
>>1983605 >на х64 на хранение данных будет расходоваться больше памяти?
нет. в x64 появляется доступ к старшим 32 битам gp регистров, доступ к восьми дополнительным gp регистрам (r8-r15), "удваиваются" sse регистры, а также увеличивается размер адресного слова с 32 до 64 бит (хотя эти значения могут зависеть имплементации). последнее подразумевает больше вычислений при трансляции эфективного адреса в адрес физический, но приэто вырастает размер виртуального адресного пространство с 4 гигов до ебинских значений. алсо >Flat-segment address space with single code, data, and stack space. но я сам не совсем понял что это значит.
>Допустим нам нужно сохранить в регистр 8 бит информации на х32 системе, 8 бит сохраним а остальные неиспользуемые забьются нулями?
если нечто вроде mov al/ah, <src> то остальные 24 бита в eax останутся прежними.
>Соответственно на х64 одна ячейка потребует в джва раза больше места что бы сохранить те же 8 бит?
не совсем понял, что за ячейка. во всех модах 8 бит хранятся как 8 бит.
Вкатываюсь в реверс инжиниринг, решал CTF, но иногда становится скучновато. Считаю, что учиться надо через практику, так что хочется чего-то более реального. Думаю попробовать крякнуть что-нибудь. Относительно новый софт/игры идут с довольно неплохой защитой, наверное, так что стоит остановиться на чём-то старом. Что посоветуете? Может кто уже чем-то похожим занимался? Понимаю, что для этого всё же нужно больше знаний, но это придёт с опытом.
Есть виртуалка вин 7 32 бита, что посоветуете? масм? если это освоить, то я освою асм в целом или нет? А так сижу на линухе, читал про фасмы, тасмы и прочее, но прочитал также что масм - это канонично.
Разбери какую-нибудь (любимую, но которую ещё не разбирали) старую игрушку. Лучше под дос или раннюю винду (но можно и под игровые консоли) и написанную не на ассемблере.
Господа, как вывести содержимое регистра в консоль? Вот записал я туда значение(число например), как мне посмотреть что туда записано, и как узнать что туда можно записать? ОС линух
>>1991333 Более блядскую формулировку придумать не смог? >Господа, как вывести содержимое регистра в консоль? Типа, если у тебя в RAX записано 0xdeadbeefcafebabe, то тебе надо вывести 0xdeadbeefcafebabe в консоль через stdout? На чистом асме или как? >как мне посмотреть что туда записано Через отладчик, блять, что за тупой вопрос? >как узнать что туда можно записать? Регистр - это, абстрактно говоря, контейнер определенного размера для битов. Если у тебя есть 64-битный регистр, то ты можешь записать туда любое число от 0 до 2^64 - 1 включительно. Глупый вопрос, походу ты не до конца понял что такое регистр.
>>1991653 Не бывает глупых вопросов, в этом сама суть вопроса-прийти к истине при нехватке знаний и опыта. Новые знания порождают больше вопросов. А тебя, наверное, в детстве пиздили за каждый 'глупый' вопрос, поэтому ты вырос агрессивным и озлобленным. Но суть не в этом. Благодарю за пищу для размышлений, все что я хотел узнать я узнал)
>>1992039 Какая разница? Nasm, fasm gnu as - это инструменты. В них немного различается синтаксис, кто-то чуть большими возможностями обладает, кто-то чуть меньшими. Это можно применить в реверс-инжиниринге, написании драйверов, написании кейгенов, написании демок. В целом, важной особенностью изучения является понимание работы ос и железа, что бы потом не выдавать хуйню, любимую долбоебами джавистами: "добавьте диск/память, они сейчас дешевые".
>>1991973 > Господа, как вывести содержимое регистра в консоль? Сохраняешь содержимое регистра в память, далее переводишь значение регистра в печатные ascii символы, затем выводишь на stdout (если в linux. что в винде не знаю). Или тебе готовую программу написать?
>>1992971 Если не считывать файл целиком в память - это программная оптимизация, то хуй его знает. При таком подходе, лучше не программировать, конечно.
>>1999953 реверсить можно, нельзя отреверсенное исопльзовать потом где то. В том же вайн и/или реакте. Но разрешается: один человек реверсит и пишет документацию, втрой по документации пишет новый код. >>1998149 на васме в ресурсах лежит, но за последние года полтора там особо не менялось, чуть форматирование, чуть копирайты, чуть опечатки по тексту
>>2004601 спроси у разрабов вайна/реактос куда они понаписали то что нареверсили.
А так, из старого, еще результаты реверса есть в Мэтт Питрек "Секреты системного программирования в Windows 95" Мэтт Питрек "Внутренний мир Windows" (обе книги есть в элеткронном виде)
Всем привет. Мне присралось сделать простенький трейнер для Worms W.M.D. под Мак с помощью Cheat Engine. Отображаемые на экране значения статов (здоровье итд), как я понял, вычисляемые из какой-то переменной, которую я не могу найти, точнее мне не хватает знаний, поэтому пришёл попросить помощи. Итак. Я отловил два неких значения, отвечающих за отображение здоровья на экране (первый скрин), нашёл, что обращается к этим значениям (второй скрин), поставил точку останова (третий скрин), но дальше я затупил и не знаю, что делать
>>1837856 (OP) Блять, как вообще этот дизассемблер читают люди? Я вроде изучил как память работает, регистры и по сути все, что представляет из себя ассемблер х86/х64, но как только я открываю дизассемблированный код в статических и динамических анализаторах - я тупо не понимаю как это можно на полном серьезе читать, если работаешь не с хеллоуворлдом. Вот дебажу я обращение к памяти, нахожу конкретную строку с mov, и? Как вообще можно даже начинать читать этот код, если этот мов может быть частью какой-нибудь говнофункции на пару тысяч (это если повезет) строк ассемблера, тогда как в плюсах говнокодер просто сделал 10-15 строк кода? Для меня пока это все представляется невозможным для человека, ведь по сути у нас для исследования - ебаный брейнфак, порожденный оптимизатором компилятора.
Как вообще можно без анальной боли и буквально построчного чтения брейнфака с абсолютно бесполезным брейнфаком чуть повыше уровнем из гидры/иды на полном серьезе реверсить ту же компьютерную игру? Либо я не понимаю и не знаю про нормальные инструменты, либо реально надо быть гением и тратить годы на то, чтобы понять как работает 1 тысячная кода какой-то проги.
>>2018137 Никто не читает весь ассемблерный листинг,потому что тебе в хуй не нужно смотреть на весь код программы В дебагере ставится бряк на условие Будь то значение регистра,вызов определённой функции,новый процесс или еще что Дальше уже читается собственно эта часть,смотрят откуда пришли данные и так далее В случае восстановления кода программы используются декомпиляторы вроде хексрейса,смысла тупить в асм листинг нет
Живые есть? Суть - есть программа, нужно найти что будет происходить при установке флажка как на пике Программа очень большая и судя по импортируемым функциям реализована через фреймворк Qt5, платформа Windows Я так понимаю мне нужно найти процедуру окна в котором находиться этот флажок и потом посмотреть как там обрабатывается WM_COMMAND. Процедуру же найти можно через CreateWindow, но поскольку программа реализована через фреймворк то прямых вызовов к WinAPI нету. Поиск по строкам тоже не дал результата - строки которые находятся в этом окне не видит, видимо они подгружаются с длл или подобное Также в программе есть множество видов окон поэтому и оконная процедура не одна Это окно также не главное в программе а получается при нажатии кнопки в меню Как лучше подойти к этой проблеме?
>>2026372 >прямых вызовов к WinAPI нету Значит, должны быть 'непрямые'. Первым делом - нужно поставить бряки на вызовы нужных WinAPI. Без этого ты не поймёшь оконную структуру приложения и не сдвинешься дальше. Далее найди WinProc, который получает сообщение от нажатия по этому баттону/чекбоксу. WinProc назначается окну при вызове CreateWindow или SetWindowLongPtrA. Адрес WinProc окна можно получить через GetWindowLongPtrA, зная хэндл окна (нужно вызывать из пользовательского треда). Хэндл окна интерактивно/визуально можно найти используя Spy++.
Что за автоанализ в ида, как заставить его интерпретировать все как 64 битный код, меняю вручную сегменты на use64 но при дебаге все опять почему-то слетает
Поясните за микрокод. Впринципе его же можно считать частью микроархитектуры, потому что он как минимум вместе с ней скрыт? Хотя он является по факту машинным кодом процессора, а не его ISA, которого он транслирует в настоящий машинный код, машинными командами мы назовем ISA? А вот где нету микрокода, то там машинными кодами считается уже ISA по настоящему, потому что он и исполняется аппаратными средствами, без интропретаций?
>>2028612 Видимо гидра и ниндзя в спину дышат. Лучше бы этот долбаеб ценник уменьшил до приемлемого уровня, ида уже хуй сосать начинает у х86 декомпилятора гидры, такими темпами скоро и забесплатно не сможет втюхивать ее.
Сейчас бы в 2к21 продавать хоум эдишен одну версию без обновлений за 350баксов плюс по 350 баксов за дополнительный тип процессора в декомпиляторе. Удивлен, что они еще на плаву держатся с такой ебанутой системой ценообразования.
>>2028749 В моем понимании AV эвристики, как социальный рейтинг у китайцев - сказал плохо о партии заинжектился к кому-то, прописался в авторан, наоткрывал сетевых соединений без гуя, получил штрафные баллы. По отдельности не критично, но стоит набрать n-ое количество баллов - качество жизни может упасть сработает алярм.
>>2028806 Просто я вот что понять не могу. Если есть уже известный вирус, то ав сначала просто exe без исполнения забракует, потому что знает, что это вирус. Криптор помогает эту проблему обойти, но в рантайме все равно же опять этот уже известный вирус. Так что мешает точно так же в рантайме забраковать exe (я сейчас говорю о вирусах, которые сами по себе может ничего сверхплохого со стороны системы не делают.Те же самые майнеры, которые просто что то по интернету передают, да считают или логгеры какие нибудь)
>>2029552 Вот есть некий процессор, команды ISA которого выполняются непосредственно аппаратно, на уровне микроархитектуры, а поэтому мы их и называем машинные коды. Есть процессор, который имеет некоторую микропрограмму и соответственно его ISA интропретируется этой микропрограммой и выдает микрокод уже для микроархитектуры. По сути для него есть некоторые самые фундаментальные машинные коды, те самые, в которые все превращает микропрограмма, называемые микрокодом, но так как этот уровень не доступен для не работника интел, можно сказать, что его ISA это машинный код, посчитав микрокоманды за часть микроархитектуры. Это как на arm процессоре обычный ISA посчитать микрокодом, создать программу-траслятор, назвать её микропрограммой и создавать cisc на основе arm, считая машинными командами собственноручно написанные команды твоего транслятора, отнеся этот прежний ISA и нынешний микрокод на уровень абстракции пониже. В таком случае ты как бы разработчик микроархитектуры, потому что теперь можешь менять микропрограмму, создавая новые сложные команды, к примеру.
>>2027039 было бы не жалко если бы не: 500 руб - Только одна версия, нет бесплатных обновлений, нет скидок при повторных покупках 1500 руб - 1 год бесплатных обновлений (2 года при вторичной регистрации)
>>1946509 >Я говорил точечно про бинарную эксплуатацию. Именно лоу-лвл хакинг. Он уже в умирающей стадии, да.
>Всегда нужны системщики, способные писать античиты для очередных быдлоигр
Может кто пояснить что несёт это чучело? Зачем нужны античиты, если из его простыни в несколько постов следует, что всё хуями обложат настолько, что хуй че сделаешь?
Ты путаешь тёплое с мягким. Тот анон говорил про взлом программ с целью достижения исполнения произвольного кода когда ты нажимаешь на Enter и у тебя рут на чужой системе/удаленный шелл в другой девайс а иногда и то, и другое. Это реально стало дико сложным и в ближайшее время может совсем потухнуть именно в байтоёбской среде.
Античиты к этому не относятся никоим образом, античиты можно реверсить и патчить, так как они находятся на твоём компьютере, там абсолютно другой челлендж.