Vyacheslav
у мя масм всегда на оффсет ругался, хз)
Смотря где ты его пишешь. Для локальных переменных нужен ADDR, потому что локальная переменная лежит по неконстантному адресу [EBP+XX]
Eugene
Ещё вариант: mov eax,slRequestSep INVOKE Pos, EDI, EBX, OFFSET szRequestSep, EAX
bilka00
Но в последнем масме это не очень работает
bilka00
Прям совсем не очень
Eugene
костыль, но по-другому не знаю как sizeof нормально тоже работает
Vyacheslav
Ещё вариант: mov eax,slRequestSep INVOKE Pos, EDI, EBX, OFFSET szRequestSep, EAX
Это тоже знаю, что работает, но блин. Я не хочу ещё одну команду добавлять там, где она не нужна
Eugene
push dword ptr lzRequestSep push offset szRequestSep push ebx push edi call Pos :)
Eugene
Или свой invoke написать :)
Vyacheslav
Или свой invoke написать :)
Это мысль, но я ума не приложу, как через макросы поддержку ADDR запилить.
Eugene
Хорошо, я не против :)) Но вдруг строка большая, мы же заранее не знаем addr (для локалок) всё равно через регистры делается, так что можно вручную записать lea, а потом регистр передать а в остальных сулчаях использовать offset
Eugene
Потому что всё равно если написать invoke MessageBox 0, eax, ecx, addr LocalVar, То он не даст скомпилить, т.к. lea eax,LocalVar запорит eax чуть раньше, а MASM он же умный, предупредит :))
Vyacheslav
Известны ли вам хорошие библиотеки для работы с большими целыми числами?
Vyacheslav
Если только MPIR/GMP
Спасибо, посмотрю внимательнее. На первый взгляд MPIR сильно не хватает комментариев
Eugene
Есть ещё не Delphi хорошая либка с исходниками.
Eugene
Но в асм переводить тоже удовольствие то ещё :))
Eugene
Но либа прям ништяковая
Vyacheslav
Я реализации деления большого на большое хочу посмотреть
Eugene
Velthuis.BigIntegers: https://github.com/rvelthuis/BigNumbers Описание: http://www.rvelthuis.de/programs/bigintegers.html
Eugene
быстрая там есть и для работы с флоатами, и с простыми числами что-то и пр.
Vyacheslav
Aiwan \ (•◡•) / _bot
а тебе для какойго асма? или тебе не для асма надо?
Vyacheslav
а тебе для какойго асма? или тебе не для асма надо?
Мне алгоритм надо. Язык непринципиален
Eugene
Спасибо! Если она работает, то либа шикарная
Работает, причём довольно быстро.
Vladislav
Известны ли вам хорошие библиотеки для работы с большими целыми числами?
глянь еще https://www.libtom.net/TomsFastMath/, там сразу асмом может будет что
Vladimir
Вопрос на засыпку знатокам ARM'а: какие могут быть подводные камни при определении наличия тех или иных инструкций следующим методом:
Vladimir
1) пытаемся выполнить инструкцию, проверяем предполагаемый результат с полученным
Vladimir
2) если не совпало, считаем что поддержки нет
Vladimir
3) Ловим трапы, выставляем в обработчике косой результат, чтобы пункт 2 сработал как надо
Vladimir
вроде всё должно быть шоколадно, но смущает наличие такой штуки, как UNPREDICTABLE
­
Херасе ботов...
Maksym
генеально)
Maksym
мне нравится))
­
Было уже. Так и забросили бота.
Anonymous
Привет. Считать файл в память. Сортировать массив байтов памяти по росту относительно кода ANSI таблицы. Записать результат в другой файл. Открыть, считать файл я смог и сохранить тоже :) С сортировкой возникла проблема. Как можно "cbA" добавить в массив по Ansi коду с тхт? Или можно просто дефолтное сортирование взять, т.е. вычислить кол-во прочитанных символов и его содержание сортировать. Так будет правильно?
Anonymous
Я пытался, но кажется, все сломал. Даже после перезапуска МАСМа он спамит это в окне вывода. Код не отображает (: UDP: после закрытия проекта и создании нового все равно спамит:D
Ivan
read_file_to_memory() analize_memory() do "push 0" 0xff times, do "inc [ stack_pointer + [ ++mem_addr ] * sizeof(rsp or esp) ]" n times, n - size of allocked memmory = file_size generate_file() do ...
Eugene
Зачем считать кол-во каждого символа, когда нужно сортировать по коду, а не по кол-ву?
Eugene
Сортируй пузырьком, к примеру посимвольно сравнивая каждую пару байт и всё.
Dolphin
Вячеслав шарит
Vyacheslav
Vyacheslav
Два прохода длиной n
Dolphin
Dolphin
Два прохода длиной n
а да, завтыкал
Dolphin
невыспался ))
Dolphin
поправил
Vyacheslav
вложенных же
Зачем вложенных? uint tbl[256]; char c; while(cin >> c) tbl[c]++; for(int i = 0; i<256; ++i) for(int j = 0; j<tbl[i]; ++j) cout << (char)i; С телефона на асме писать лень
Vyacheslav
невыспался ))
Ты знаешь, что делать :) (спать)
Dolphin
не офтопь, это не флудильня ;)
Anonymous
Добрый день. Может быть кто-то пользуется гуем для r2 Cutter ? Подскажите пожалуйста как в режиме дебага передать отлаживаемой программе строку которая она должна запрашивать sys_read'ом из стандартного потока ввода в процессе выполнения ? syscall выполняется, но никакого запроса на ввод символов не выводит, ну и соответственно нули в буфере куда должен был помещаться ввод... Из консоли read syscall срабатывает, символы считываются. Или может быть подскажите другой отладчик/гуй к gdb ? с человеческим лицом
Ivan
И ещё таким способом можно читать файл по кусочкам а не весь файл сразу в память
Anonymous
под линукс естественно
JeisonWi
Cutter пока официально не поддерживает отладку
JeisonWi
Пока в разработке
Anonymous
ох печаль беда ( примерно тоже самое мне сказали на канале куттера
Anonymous
а есть что-то другое под *nix с такой же юзерфрендли мордой и поддерживающее дебаг ?
­
Это телега, а не аська, опечатку можно поправить, нажав изменить сообщение.
Anonymous
спасибо буду знать
Eugene
а есть что-то другое под *nix с такой же юзерфрендли мордой и поддерживающее дебаг ?
В более или менее юзерфрендли мордой под *nix я знаю только разве что Nemiver. Хотя в сравнении с нормальными юзерфрендли дебаггерами под винду это та ещё поделка.
­
Пользоваться гуём в 2018... Ну-ну...
JeisonWi
Pwndbg
JeisonWi
Это то, что ITsec использует
Anonymous
тогда уж проще наверное графический режим из r2
електр🟢нік ✙🟠рчбеч ඞ
Vyacheslav
Пользоваться гуём в 2018... Ну-ну...
Никогда не перестану пользоваться OllyDbg
Andrey
never say never
dukeBarman
он про линуксовые говорит же :) x64dbg только под винду, хоппер в дебаг считай не умеет