Ruslan
как мне тут изменить представление? чтобы по 4 байта показывало а не по 1
Ruslan
или это нужно структуру создавать?
Ruslan
супер
Ruslan
я смотрю что оно не умеет это делать для выделенной области
s54820
я смотрю что оно не умеет это делать для выделенной области
Тебе массив нужен? Сделай массив, можешь снять галочку Create as array. А вообще, https://nostarch.com/idapro2.htm
Ruslan
тоесть выделил 16 байт и выбрал 8 - получил 4 4 4 4
Ruslan
Тебе массив нужен? Сделай массив, можешь снять галочку Create as array. А вообще, https://nostarch.com/idapro2.htm
разобрался, спс настроек массив конечно маловато нельзя указать размер каждого элемента (оно берет по 1 байту) и если делаю double word то вместо 00000000 показывает 0 мне нужно именно в хексе как есть без конвертации в типы
s54820
разобрался, спс настроек массив конечно маловато нельзя указать размер каждого элемента (оно берет по 1 байту) и если делаю double word то вместо 00000000 показывает 0 мне нужно именно в хексе как есть без конвертации в типы
Сначала создаёшь первый элемент (например, дворд), потом делаешь массив таких. Если нужно незначащие нолики слева в числах, то Edit→Operand type→Number→Toggle leading zeroes. Если нужно именно представление, чтобы 4 байта в строке байтами было, то просто делаешь массив байтов, и говоришь, что items on line = 4.
Ruslan
добрый день, а в IDA можно извлечь функцию всеми ее зависимостями? отбросив всё остальное
George
добрый день, а в IDA можно извлечь функцию всеми ее зависимостями? отбросив всё остальное
можешь это сделать в два этапа: - сначала вызвать gen_flow_graph с параметром CHART_PRINT_NAMES - потом поочерёдно вызывать gen_file с параметром OFILE_ASM, (если ты хочешь сохранить в asm) с указанием адресов функций
Ruslan
ЧЯДНТ с переменными?
George
это же C-подобный синтаксис, не забывай про ";" в конце
George
auto var_test;
George
var_test = 1;
George
Message("var_test:", var_test);
George
как-то так
George
не проверял, но смысл тебе должен быть понятен
s54820
ЧЯДНТ с переменными?
Нажми Ctrl+стрелочка вниз и пиши на нормальном языке.
Ruslan
это же C-подобный синтаксис, не забывай про ";" в конце
ха, а я думал в построчном режиме не нужна ; прочем я проверил - все также undefined
George
сохрани в скрипт в файл, проверь на нём
s54820
ха, а я думал в построчном режиме не нужна ; прочем я проверил - все также undefined
Да наверняка локальная переменная не живёт дольше выполняемого выражения. Сделай auto x; x = 1; print(x);, это должно работать. Если хочешь построчно, делай не auto, а extern.
Où va le monde
Что хранится в fs:2ch?
Ask
https://en.m.wikipedia.org/wiki/Win32_Thread_Information_Block
Max
всем привет! такой вопрос : у меня есть один асм файл, и сишный, в котором через extern я асм файл вызываю. Как дальше? nasm -f elf64 asmpart.asm ld -e func ./asmpart.o -lc gcc -c main.c -o both.o gcc both.o -o result ^ если так, то вылетает undefined reference to func in main.c. как править?
Ruslan
я так понимаю то MASM код?
Ruslan
ибо конструкции не прокатывают в FASM к примеру proc near public Func1
George
похоже на то
George
попробуй собрать в masm / jwasm / uasm / asmc
012345
Доброе
Pavel
NASM, elf64 section .text global _start _start: mov eax, 1000000000 .l1: dec eax jnz .l1 mov rax, 0 ret Почему я получаю SIGSEGV тут?
George
1000000000 десятичное?
George
т.к. оно выходит за пределы 32 бит, если бы было в hex
­
т.к. оно выходит за пределы 32 бит, если бы было в hex
Как как 0x нет, как и b - наверняка десятичное.
George
судя по тому, что бинарь под линь (elf64), то явно не хватает SYS_EXIT (60)
George
Да, спасибо
Получилось?
Pavel
Да
George
супер )
Eugene
Народ, есть мысли, как можно ограничить рабочую область определённого приложения Windows? То есть чтобы его нельзя было развернуть больше определённой области. Вот экран 1920х1080, надо ограничить левой или правой областью 1500х1080, например. Прога изначально разворачивается на весь экран и уменьшить его нельзя. Если просто изменить размер (MoveWindow, например), прога возвращает старый размер, да и элементы (которые расставляются в зависимости от размера окна) не переставляются как надо.
nano
может есть шанс, что после того как отловить, он и элементы подстроит. Если конечно это вообще предусмотренно приложением
nano
например отлови момент где он считывает размеры твоего экрана и подмени их
Eugene
что хоть за прога?
Промышленная :)
Eugene
На самом деле задача в том, чтобы разместить своё окно в некой области (например, в правой части экрана), и другая прога, разворачиваясь на весь экран, не загораживала это окно.
Eugene
Как Explorer не даёт другим прогам залезать на свой TaskBar (за некоторым исключением, но для моего случая это исключение обрабатывать не нужно). Так и мне нужно.
nano
чекни через dbg GetSystemMetrics поставь внутри него точку остановки. Если попадется, то на выводе подмени через тот же dbg значения и посмотри что поменялось.
nano
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos HWND_TOP попробуй. Но где-то выставляться должна позиция в числах
nano
еще попробуй флаг убрать у промышленной проги WS_EX_TOPMOST
Eugene
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos HWND_TOP попробуй. Но где-то выставляться должна позиция в числах
Нет, это не то. Проги всё равно будут перекрываться. А надо, чтобы они рядом лежали.
Eugene
Одна прога будет загораживать другую, а так не надо.
Eugene
GetSystemMetrics я перехватываю, но ищу пока, какой именно параметр. 0-й — это ширина экрана, его он не вызывает.
nano
а он во весь экран как выглядит? Может он разворачивается и убирает рамку? Скрин есть?
nano
если это разворот простой, то надо maxmize чекать
nano
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos HWND_TOP попробуй. Но где-то выставляться должна позиция в числах
попробуй через эту функцию изменить размер чужого окна с флагом SWP_NOSENDCHANGING. Но я очень не уверен. Но возможно на этот раз он не вернет себе обратно размер
Eugene
Короче, я пропатчил вызов WinAPI-функции, всё пашет теперь как надо. Всем спасибо 😉
Eugene
Заменил jmp dword ptr [xxx] на jmp в область нулевых байтов в конце секции кода. И там сделал что надо.
⸙ꠋꠋk̹̺ Seymøur
Друзья, подскажите пожалуйста, есть ли какие-нибудь статьи/книги по скомпиленной внутрянке STL? Если конкретно, то есть бинарник со структурой, которую нужно увеличить. Это уже сделано и загружается всё норм. Но проблема в том, что там замешан ещё STL (конкретно std::map), который тоже надо поправить. Смотрю на всю эту портянку и становится немного грустно. Буду благодарен за статьи/советы
George
Идеальным вариантом было бы написание соответствующего функционала в виде библиотеки, скомпиленной той же версией компилятора, что и твоя целевая программа
⸙ꠋꠋk̹̺ Seymøur
Идеальным вариантом было бы написание соответствующего функционала в виде библиотеки, скомпиленной той же версией компилятора, что и твоя целевая программа
Да, вроде того раньше делал, хотелось бы тут без этого, в конечном итоге просто сравнил похожие методы, нашёл различия и поправил Спасибо :)
Anonymous
ребзи встеритил в коде такую часть masm mov rax,qword ptr [rax]
Anonymous
это нормальное поведение?
Eugene
x = *x;
Eugene
Правда, не факт, что там читается указатель. Может быть просто число.