Ответ от DeepSeek:
ОтветПривет! Я хочу спросить тебе что такое код, который я вижу в отладчике x64dbg? Что он из себя представляет?
Привет! Код, который ты видишь в отладчике x64dbg, — это машинный код и его дизассемблированное представление. Давай разберемся, что это значит:
Машинный код:
Это набор инструкций, которые процессор может выполнять напрямую. Он состоит из бинарных данных (нули и единицы), которые представлены в виде шестнадцатеричных чисел (например, 0x90, 0xC3 и т.д.).
Каждая инструкция машинного кода соответствует конкретной операции, которую процессор может выполнить, например, сложение, перемещение данных, вызов функции и т.д.
Дизассемблированный код:
Поскольку машинный код сложен для чтения человеком, отладчик (например, x64dbg) преобразует его в ассемблерный код. Это текстовое представление машинных инструкций, которое легче понять.
Например, машинный код 0x90 может быть представлен как NOP (No Operation — инструкция, которая ничего не делает), а 0xC3 — как RET (Return — возврат из функции).
Как это выглядит в x64dbg:
В x64dbg ты видишь адреса памяти, машинный код (в шестнадцатеричном виде) и соответствующий ему ассемблерный код. Например:
Copy00401000 | 90
| NOP 00401001 | B8 01000000
| MOV EAX, 1 00401006 | C3
| RET
00401000 — адрес в памяти.
90, B8 01000000, C3 — машинный код.
NOP, MOV EAX, 1, RET — дизассемблированные инструкции.
Для чего это нужно:
Анализируя этот код, ты можешь понять, как работает программа на низком уровне.
Это полезно для отладки, реверс-инжиниринга, поиска уязвимостей или просто изучения работы программ.
Если у тебя есть конкретный пример кода из x64dbg, можешь поделиться, и я помогу его разобрать!
А также второй ответ, но это не то что я хотел!
Просто я задумался что такое код, и словил дичайший новый эксприенс, можно вставлять свой код.
Второй ответ:тут
Так что такое код? Что он из себя представляет?
Ладно, никто не хочет отвечать! Пойду спрашивать у ИИ!
ProstoAndreyRU сказал(а):↑Ответ от DeepSeek:
ОтветПривет! Я хочу спросить тебе что такое код, который я вижу в отладчике x64dbg? Что он из себя представляет?
Привет! Код, который ты видишь в отладчике x64dbg, — это машинный код и его дизассемблированное представление. Давай разберемся, что это значит:
Машинный код:
Это набор инструкций, которые процессор может выполнять напрямую. Он состоит из бинарных данных (нули и единицы), которые представлены в виде шестнадцатеричных чисел (например, 0x90, 0xC3 и т.д.).
Каждая инструкция машинного кода соответствует конкретной операции, которую процессор может выполнить, например, сложение, перемещение данных, вызов функции и т.д.
Дизассемблированный код:
Поскольку машинный код сложен для чтения человеком, отладчик (например, x64dbg) преобразует его в ассемблерный код. Это текстовое представление машинных инструкций, которое легче понять.
Например, машинный код 0x90 может быть представлен как NOP (No Operation — инструкция, которая ничего не делает), а 0xC3 — как RET (Return — возврат из функции).
Как это выглядит в x64dbg:
В x64dbg ты видишь адреса памяти, машинный код (в шестнадцатеричном виде) и соответствующий ему ассемблерный код. Например:
Copy00401000 | 90
| NOP 00401001 | B8 01000000
| MOV EAX, 1 00401006 | C3
| RET
00401000 — адрес в памяти.
90, B8 01000000, C3 — машинный код.
NOP, MOV EAX, 1, RET — дизассемблированные инструкции.
Для чего это нужно:
Анализируя этот код, ты можешь понять, как работает программа на низком уровне.
Это полезно для отладки, реверс-инжиниринга, поиска уязвимостей или просто изучения работы программ.
Если у тебя есть конкретный пример кода из x64dbg, можешь поделиться, и я помогу его разобрать!
Второй ответ:тут
Так что такое код? Что он из себя представляет?
Ладно, никто не хочет отвечать! Пойду спрашивать у ИИ!
Нажмите, чтобы раскрыть...
Я просто в
с того что можно писать и вставлять свой код!
Кто мне запретить?
Да никто, что хочу то и делаю!
Нет никаких ограничений, процессор будет послушно выполнять мой код-если он корректный.
И на этом всё, смотрите на стриме продолжение.
Ппц, сразу столько возможностей прямо
Существует сайт как википедия.
Код - инфо-последовательность, записанная на носитель информации; Передача кода - это сигнал в медиа-среде.
Существует например код морзе, а есть и генетический код. Вещи разные? Разные, так что нужно уточнять.
То, что в x64dbg - ассемблерный код, процесс называется обратным проектированием.
ProstoAndreyRU сказал(а):↑Я просто в
с того что можно писать и вставлять свой код!
Кто мне запретить?
Да никто, что хочу то и делаю!
Нет никаких ограничений, процессор будет послушно выполнять мой код-если он корректный.
И на этом всё, смотрите на стриме продолжение.
Ппц, сразу столько возможностей прямо
Нажмите, чтобы раскрыть...Возможность доделать сайт
Glazic сказал(а):↑Данные
Нажмите, чтобы раскрыть...А вот и нет!
Вот что ещё написал DeepSeek
СпойлерИзвини что спрашиваю ещё раз но я кое-что не понял! Что такое код ассемблерный, из чего он состоит? Я имею из чего? Из функций, подпрограмм и переход типа jmp?
Не переживай, всё нормально! Давай разберёмся, что такое ассемблерный код и из чего он состоит. Ассемблер — это низкоуровневый язык программирования, который напрямую взаимодействует с процессором. Он ближе к машинному коду, но всё же более читабелен для человека.
Из чего состоит ассемблерный код?
Инструкции (команды)
Это основные строительные блоки ассемблерного кода. Каждая инструкция выполняет определённую операцию, например:
Арифметические операции: ADD, SUB, MUL, DIV.
Логические операции: AND, OR, XOR, NOT.
Перемещение данных: MOV, PUSH, POP.
Управление потоком выполнения: JMP, CALL, RET, условные переходы (JE, JNE и т.д.).
Пример:
asmCopyMOV AX, 5
; Записать число 5 в регистр AX ADD AX, 10 ; Прибавить 10 к значению в AXМетки
Метки — это именованные точки в коде, на которые можно ссылаться для перехода. Они используются вместе с командами перехода (JMP, JE, CALL и т.д.).
Пример:asmCopystart:
MOV AX, 5
JMP end ; Перейти на метку end end:
RETДирективы
Директивы — это команды ассемблеру, которые не переводятся напрямую в машинный код, а управляют процессом сборки. Например:
section .data — объявление секции данных.
section .text — объявление секции кода.
db, dw, dd — выделение памяти для данных (байт, слово, двойное слово).
equ — определение константы.
Пример:
asmCopysection .data
message db 'Hello, World!', 0 ; Строка в памяти section .text
global _start _start:
; Код программыРегистры
Регистры — это небольшие ячейки памяти внутри процессора, которые используются для хранения данных и выполнения операций. Примеры регистров:
Общего назначения: AX, BX, CX, DX.
Указатели: SP (указатель стека), BP (указатель базы).
Индексные регистры: SI, DI.
Сегментные регистры: CS, DS, SS, ES.
Пример:
asmCopyMOV AX, BX ; Скопировать значение из BX в AXФункции и подпрограммы
В ассемблере функции реализуются с помощью меток и команд CALL (вызов функции) и RET (возврат из функции).
Пример:asmCopyprint_message:
; Код для вывода сообщения
RET _start:
CALL print_message ; Вызов функцииКоманды перехода
JMP — безусловный переход на метку.
CALL — вызов подпрограммы (функции).
RET — возврат из подпрограммы.
Условные переходы (JE, JNE, JG, JL и т.д.) — переходы, которые выполняются только при выполнении определённых условий.
Пример:
asmCopyCMP AX, BX ; Сравнить AX и BX JE equal
; Перейти на метку equal, если AX == BX JMP not_equal equal:
; Код, если AX == BX not_equal:
; Код, если AX != BXСекции (сегменты)
Ассемблерный код обычно разделяется на секции:
.data — секция данных (переменные, строки, константы).
.text — секция кода (инструкции программы).
.bss — секция для неинициализированных данных.
Пример:
asmCopysection .data
num db 10 ; Переменная num со значением 10 section .text
global _start _start:
MOV AL, [num] ; Загрузить значение num в регистр AL
Пример простой программы на ассемблере
asmCopysection .data
message db 'Hello, World!', 0 ; Строка для вывода section .text
global _start _start:
; Вывод сообщения
MOV eax, 4
; Системный вызов для вывода (sys_write)
MOV ebx, 1
; Файловый дескриптор (stdout)
MOV ecx, message
; Адрес строки
MOV edx, 13
; Длина строки
INT 0x80
; Вызов прерывания
; Завершение программы
MOV eax, 1
; Системный вызов для выхода (sys_exit)
XOR ebx, ebx
; Код возврата 0
INT 0x80
; Вызов прерывания
Итог
Ассемблерный код состоит из:
Инструкций (команд процессора).
Меток (для организации переходов).
Директив (управление сборкой).
Регистров (временное хранение данных).
Функций и подпрограмм (организация кода).
Секций (разделение данных и кода).
Если что-то ещё непонятно, спрашивай!
ProstoAndreyRU сказал(а):↑Небольшой апп!
Я на стриме нашёл количество предметов в Dragon Age:Origins и теперь можно всё что больше 2 превратить в любое количество.
Я сделал 5000 предметов.
Нажмите, чтобы раскрыть...Кекс ты фигней детской страдаешь на уровне подмены значений в реестрах, этим дети занимаются в 12 лет
Делай что-нибудь толковое и интересное, напиши прогу чтобы д2ру запарсила, сделай тему сколько раз пигпола упомянули, или сколько раз серг сказал что уйдёт с форума
0гурчик сказал(а):↑Хорошо, мы будем наблюдать за прогрессом.
14.02.2025 - пока изменений нет
Нажмите, чтобы раскрыть...https://dota2.ru/forum/posts/29156888/ - уже 9 месяц идет, ну это так, к слову.
Тема закрыта
-
ЗаголовокРазделОтветов ПросмотровПоследнее сообщение
-
Spirit Walker 28 Mar 2025 в 14:57Сообщений: 2 28 Mar 2025 в 14:57
Сообщений:2
Просмотров:3
-
Сообщений:11
Просмотров:17
-
EgoZy 28 Mar 2025 в 14:25Сообщений: 2 28 Mar 2025 в 14:25
Сообщений:2
Просмотров:10
-
l0vecwk 28 Mar 2025 в 14:25Сообщений: 7 28 Mar 2025 в 14:25
Сообщений:7
Просмотров:16
-
Сообщений:15
Просмотров:26