Илону Маску в России плюнули на ботинки. Надеюсь, он будет помнить это всю жизнь.
>Будьте внимательны при использовании строчной буквы l и прописной буквы o, потому что они похожи на цифры 1 и 0.
Ахуительные советы.
>@call print("Hello world!");
Даже сам язык говорит что он кал.
я помню пенис большойПочему никто из вас, пидоров, не предупредил, что на айфоне нельзя смотреть шебмы? Какие же вы все уёбки!
@стоит
@такой
@перекат?
Будет вам ассемблер, наверное.
>Ну кому нахер нужен аccемблер поверх джaвaскpипта?
Даже звучит смешно, пхахахахах)
Надо свой ЯП сделать, типа языка древних русов, или старославнский ассемблер.
А где тусуются ассеиблерщики? Полагаю что такооо места не существует иначе х86 разработчики будут взаимно крыть хуями ARM'овских, пиздюлины будут получать MIPS-овские. Рядом будут гнить 8088 деды, там вдали будут истекать гноем посконные Эльбрусс-VLIW-овцы, издалека будут угрожать RISC-V ассемблерщики, из под шконки будут вылазить Мультиклетовцы и обратно под шконку. Прадеды будут вспоминать PDP-11, но вся эта шушара с шутками и прибаутками будет набивать прадедам рот говном.
Между всей этой вакханалии будут раздаваться писклявые голоса программистов экзотических микроконтроллеров, а разработчики на желез от Texas Instruments, эдакие гуру, будут призывать к порядку и получать плевки.
Пьяныый Карабас-Барабас позавидует этому шабашу.
Ну так ГДЕ тусят ассемблерщики????????
понял, принял, буду использовать...
Нет. Пожалуй, начну пиарить с Хабра. Забавно будет если до двачей молва дойдёт.
Дойдëт, ведь ты сам создашь здесь тред про него, а в других тредах постоянно его упоминать по поводу и без.
Я что не могу работать с числами похожими на адрес памяти?
Думал что знаю по битам всю программу.
Оказалось что мои инструкции только её часть, компилятор суёт туда ещё чего-то чё ему захочется...
>Оказалось что мои инструкции только её часть, компилятор суёт туда ещё чего-то чё ему захочется...
Покажи что ли свою программу.
ObFastDereferenceObject например
Она вроде не задокументирована, но должно же где-то что-то быть? хидеры, символьные файлы(хз что это) и т.д.
Понять не могу даже где искать
Ты ошибся, это не тред про ассемблер.
>ObFastDereferenceObject например
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-obdereferenceobject
в ObFastDereferenceObject 2 аргумента
Да и про первый не скажешь что написано исчерпывающе:
[in] a
Pointer to the object's body.
Она в андоке, верно. Наиболее простой способ - загуглить саму функцию, либо же, смотреть по рефам где эта функция вызывается. В первом случае могут помочь исходники ReactOS, но не все функции в документации задокументированы (микромягкие давят хуле)
Твоя функция принимает в аргументах структуру _EX_FAST_REF, и, очевидно из названия, указатель на объект.
typedef struct _EX_FAST_REF
{
union
{
PVOID Object;
ULONG RefCnt: 3;
ULONG Value;
};
} EX_FAST_REF, *PEX_FAST_REF;
Символьные файлы - это просто дебаг инфа о бинаре.
Смотрю обзоры, один другому противоречит, в комментах в магазинах обязательно найдется тот, кто орет, что ST-LINK нинастаящий!!!11, STM32 не видно в CubeMX.
Да чота хз, попробовать хотел что за такой зверь СТМ.
Нахуя выдумывать? Или га работу и там получишь крутую борду.
REP STOS
Какой у него минимальный словарь? Он где-то описан?
call ds:dword_169A4
ссылается она на это:
.rdata:000169A4 dword_169A4 dd 7648h ; DATA XREF: sub_10BB2+21↑r
1) что такое 7648h? оффсет от imageBase к началу функции, которая будет вызвана? или заранее предугаданное значение указателя на функцию? или?
2) почему написано не call ds:[dword_169A4] ? Выглядит будто управление передается по адресу 000169A4, но там не код, а .rdata
Добавить могу что прога написана под XP x86
p.s. Как-то тяжеловато в реверсе все гуглится после вебмакакинга. Это у меня временно, или тут так заведено?
по адресу 0x7648 + 0x10000 (imageBase) тоже какая-то шляпа лежит вместо функции для колла, ничего не понимаю
>что такое 7648h?
Очевидно, оффсет, хз почему он не распознался автоматически. Можешь попробовать превратить его в оффсет ручками: Edit > Operand type > Offset > ...
>почему написано не call ds:[dword_169A4] ?
Потому что IDA по умолчанию при отображении листинга использует синтаксис MASM, в котором хватает косяков и таких вот неоднозначностей. Зайди в опции, выбери "Borland TASM in Ideal mode" и будет все как ты хочешь.
Работа это макрос для пожрать
ПРОЛОГ функции, которая вызовет call WS2_32!send
вижу середину какой-то функции, которая перед ретурном вызывает какую-то хуйню вместо send
В чем я не прав? как это работает?
Хочу закатиться в сасемблер jmp tobi pizda ret 666, конкретно в CE и трейнеры, понять, как это работает и как флинг майнит через проводник пока я сплю, немного суметь в реверс при помощи костыля и сковородки, повскрывать коды игр, эмуляторов, вот это всё. Мб однажды дорасту до собственных игрушек, узнав как они работают "под капотом".
Помогите с основами, дайте советов без иронии и рофлов, что почитать, где посмотреть, как понять массив чужого кода. Ещё нужно гайдов по луне, и желательно на человеческом, техническую инфу на ангельском переварить сложновато.
На си, как я понял, это выглядит так:
if ((char)eax >= 0xFF)
eax = 0xFF;
но чар не может быть больше 0xFF, а если он уже 0xFF, то нахуя ему еще раз 0xFF присваивать?
ладно, перед eax сами звездочку представьте
> но чар не может быть больше 0xFF, а если он уже 0xFF, то нахуя ему еще раз 0xFF присваивать?
Процессору абсолютно похую, что у тебя там за тип данных используется, он всё сжирает в машинных словах, соответственно:
1. Byte - 8 бит
2. Word - 16 бит
3. Dword - 32 бита
4. Qword - 64 бита
Твой чар будет как раз по размеру подходить первому пункту. Так что здесь, по сути, всё правильно.
А то, что и почему присваивается - надо смотреть дальше по control flow, это может быть размер какого-нибудь буфера, например
Ни в чем. Или компилятор проебался, или погромист, если программа изначально была написана на ассемблере.
>Твой чар будет как раз по размеру подходить первому пункту
Зачем мне это? ты вопрос читал? Тебе просто не понравилось, что я byte со скриншота char'ом назвал?
>здесь, по сути, всё правильно
Что правильно?
Я спросил, в чем смысл присваивать переменной размером в байт 0xFF, когда она больше или равна 0xFF.
Байт не может быть больше 0xFF физически, соответственно мы присваиваем переменной 0xFF, только когда она уже 0xFF.
Нужно либо указать на ошибку в моих рассуждениях, либо сказать что компилятор обосрался
>>3224868
Так и думал, спасибо
Смысл этого байтика мне известен, но я специально не стал об этом писать, т.к. это к вопросу отношения не имеет
>суметь в реверс
>CE
Это как пытаться в архитектуру при помощи детской лопатки. Хочешь уметь в реверс -> учи движки, раз собираешься игроделить или ещё какой хуйнёй страдать.
>как флинг майнит через проводник
Никак. Высеры китаёзы работают через подсос к игре, никто твой эксплорер не трогает. Разве что сам мелкософт.
>Помогите с основами, дайте советов без иронии и рофлов, что почитать, где посмотреть
Аcсемблер для чайников, если на русике. Но лучше чекай англюсик, там инфы больше.
>как понять массив чужого кода
Тут поможет только опыт. Которого у тебя нет.
>нужно гайдов по луне
Не нужно. LUA отдельная тема, не стоит её вскрывать.
>проприетарный софт пишется в основном для x86_64
Весь гугл маркет завален таким софтом, миллмард софта под арм, вопросы?
movb $0xF, (%ebx) - неправильна конструкция, а
movb $-17, (%rsp) - правильная
Не объясним, потому что в рот ебали AT&T, тех, кто его придумал, тех, кто позволил ему покинуть пределы исследовательской палаты, и тех, кто продолжает его тянуть.
О, ебать, Маск это ты?) Помнишь как мы тебя всем самом PLD хуями крыли, а ты все не унимался и продолжал срать. До сих пор иногда вспоминаем.
Всем кто в треде -- этот шизофреник выдавал смешные перлы и на Хабре и даже в Илью в некоторых известных репозиториях (помню только про колибри ос). Тред судя по содержанию говно, сажи
Метапрограммирование же. Это та тема, которая однажды выстрелит.
Система команд это ведь стройный набор структур, которые можно рассматривать как один большой union в сишном понимании. Различение команд происходит в основном по опкодам, уникальным для каждой структуры константам.
Менеджер команд хотелось бы сделать, чтобы например видеть наглядно, какие опкоды не заняты. Какие биты опкода меняются допустим для сопроцессор и тому подобное.
Но это лишь для примера, мне нужно именно теория или какой нибудь аналог svd описанний (xml подробно описывающий адресное пространство микроконтроллера), только для ассемблера, а не для адресного пространства.
Они вообще здесь когда-либо существовали?
x86
Анонасы, не могу разобраться в чём разница между esp и ebs/стеком и кадрома стека? Зачем под это дело сразу 2 регистра?