Size: a a a

Ассемблер

2020 May 08

d

damagekidϡ in Ассемблер
n2 = 21
источник

d

damagekidϡ in Ассемблер
Уже решил. п.с FRNDINT
источник

.w

. whoami in Ассемблер
Ребят, всем привет. 2а года определялся с тем, чем хочу заниматься и решил что хочу заниматься реверс-инжирингом. Сам по себе я тупой как пробка, но т.к. мне всего 24 года  думаю что не поздно освоить интересующую меня профессию.
В данный момент занимаюсь внедрением СПО, немного шарю в никсах и сетях,
с программированием на "Вы" (ничего не делал сложнее чем автоматизации ПО в bash).
Сейчас начал (ток 2ой день) смотреть на ютубчике курс по отладке на ollydbg, и изучать Си по книжечке.

Подскажите плиз :
что изучать?
как изучать?
где получить практические навыки?
что читать?

Понимаю что отраслей и вариаций много, но тем не менее...
источник

.w

. whoami in Ассемблер
Заранее спасибо
источник

楽園松本 in Ассемблер
. whoami
Ребят, всем привет. 2а года определялся с тем, чем хочу заниматься и решил что хочу заниматься реверс-инжирингом. Сам по себе я тупой как пробка, но т.к. мне всего 24 года  думаю что не поздно освоить интересующую меня профессию.
В данный момент занимаюсь внедрением СПО, немного шарю в никсах и сетях,
с программированием на "Вы" (ничего не делал сложнее чем автоматизации ПО в bash).
Сейчас начал (ток 2ой день) смотреть на ютубчике курс по отладке на ollydbg, и изучать Си по книжечке.

Подскажите плиз :
что изучать?
как изучать?
где получить практические навыки?
что читать?

Понимаю что отраслей и вариаций много, но тем не менее...
Курс "взлом программ с olly debug" в переводе Доброго Яши :) для начала
источник

楽園松本 in Ассемблер
Я думаю, есть два пути, которые в один момент вдруг сходятся. Первый -- это писать простой код на языках высокого уровня и смотреть, как он превращается в машинный код.  Второй найти простые crackme файлы и пытаться их взламывать.
источник

M

Mike in Ассемблер
Привет чуваки)
источник

楽園松本 in Ассемблер
Mike
Привет чуваки)
Здоров!
источник

楽園松本 in Ассемблер
Mike
Привет чуваки)
Чем SAR отличается от SHR?
источник

d

damagekidϡ in Ассемблер
1 буквой
источник

楽園松本 in Ассемблер
damagekidϡ
1 буквой
Да
источник

d

damagekidϡ in Ассемблер
:)
источник

OR

Okier R in Ассемблер
как хукнуть syscall другого   процессора или драйвера?
источник

DK

Dmitry Kirienko in Ассемблер
Okier R
как хукнуть syscall другого   процессора или драйвера?
Смотря сколько процессоров
источник

sl

skavy lastname in Ассемблер
楽園松本
Чем SAR отличается от SHR?
Биты, сдвиг логический, арифметический и циклический.
   Обратите внимание: Большинство примеров ниже использует 8 битные числа, это сделано для того, чтобы вам было легче понять, как это работает.

Функции сдвига (сдвиг логический операнда влево/вправо)

SHL операнд, количество_сдвигов
SHR операнд, количество_сдвигов
SHL и SHR сдвигают биты операнда (регистр/память) влево или вправо соответственно на один разряд.

   Указанное выше действие повторяется количество раз, равное значению второго операнда.

   Пример:

; al = 01011011 (двоичное)
shr al, 3

   Это означает: сдвиг всех битов регистра al на 3 разряда вправо. Так что al станет 00001011. Биты слева заполняются нулями, а биты справа выдвигаются. Последний выдвинутый бит, становится значением флага переноса cf.
   Бит переноса это бит флагового регистра процессора. Этот регистр не такой как eax или ecx, к которому вы можете непосредственно обращаться (хотя есть опкоды, которые это делают), его содержание, зависит от результатов многих команд. Об этом я вам расскажу позже, единственное, что вы должны сейчас запомнить, это то, что флаг переноса это бит во флаговом регистре и что он может быть установлен (т.е. равен 1) или сброшен (равен 0).
   Команда shl такая же, как и shr, но сдвигает влево.

; bl = 11100101 (двоичное)
shl bl, 2

   После выполнения команды регистр bl будет равен 10010100 (двоичное). Два последних бита заполнились нулями, флаг переноса установлен, потому, что последний выдвинутый слева бит был равен 1

   Здесь есть еще два других опкода: (сдвиг арифметический операнда влево/вправо)

SAL операнд, количество_сдвигов
SAR операнд, количество_сдвигов

   Команда SAL такая же, как SHL, а вот SAR не совсем такая, как SHR. Команда SAR также, как и SHR сдвигает все биты операнда вправо на один разряд, при этом выдвигаемый справа бит становится значением флага переноса cf. Обратите внимание: одновременно слева в операнд вдвигается не нулевой бит, как в SHR, а значение старшего бита операнда. Пример:

al = 10100110
sar al, 3
al = 11110100
sar al, 2
al = 11111101

bl = 00100110
sar bl, 3
bl = 00000010
источник

楽園松本 in Ассемблер
skavy lastname
Биты, сдвиг логический, арифметический и циклический.
   Обратите внимание: Большинство примеров ниже использует 8 битные числа, это сделано для того, чтобы вам было легче понять, как это работает.

Функции сдвига (сдвиг логический операнда влево/вправо)

SHL операнд, количество_сдвигов
SHR операнд, количество_сдвигов
SHL и SHR сдвигают биты операнда (регистр/память) влево или вправо соответственно на один разряд.

   Указанное выше действие повторяется количество раз, равное значению второго операнда.

   Пример:

; al = 01011011 (двоичное)
shr al, 3

   Это означает: сдвиг всех битов регистра al на 3 разряда вправо. Так что al станет 00001011. Биты слева заполняются нулями, а биты справа выдвигаются. Последний выдвинутый бит, становится значением флага переноса cf.
   Бит переноса это бит флагового регистра процессора. Этот регистр не такой как eax или ecx, к которому вы можете непосредственно обращаться (хотя есть опкоды, которые это делают), его содержание, зависит от результатов многих команд. Об этом я вам расскажу позже, единственное, что вы должны сейчас запомнить, это то, что флаг переноса это бит во флаговом регистре и что он может быть установлен (т.е. равен 1) или сброшен (равен 0).
   Команда shl такая же, как и shr, но сдвигает влево.

; bl = 11100101 (двоичное)
shl bl, 2

   После выполнения команды регистр bl будет равен 10010100 (двоичное). Два последних бита заполнились нулями, флаг переноса установлен, потому, что последний выдвинутый слева бит был равен 1

   Здесь есть еще два других опкода: (сдвиг арифметический операнда влево/вправо)

SAL операнд, количество_сдвигов
SAR операнд, количество_сдвигов

   Команда SAL такая же, как SHL, а вот SAR не совсем такая, как SHR. Команда SAR также, как и SHR сдвигает все биты операнда вправо на один разряд, при этом выдвигаемый справа бит становится значением флага переноса cf. Обратите внимание: одновременно слева в операнд вдвигается не нулевой бит, как в SHR, а значение старшего бита операнда. Пример:

al = 10100110
sar al, 3
al = 11110100
sar al, 2
al = 11111101

bl = 00100110
sar bl, 3
bl = 00000010
А зачем оно надо?
источник

sl

skavy lastname in Ассемблер
楽園松本
А зачем оно надо?
Я только в самом начале пути изучения асма, и на этот вопрос ответят сторожилы и бывалые.
источник

楽園松本 in Ассемблер
skavy lastname
Я только в самом начале пути изучения асма, и на этот вопрос ответят сторожилы и бывалые.
Сдвиг вправо фактически это деление на два. Если таким сдвигом вправо делить на два беззнаковые числа, то всё будет отлично. Но если число воспринимается как знаковое, то возникает проблема. Для этого применяется вставка бита слева, команда SAR. Таким образом, сохраняется и знак числа, и его правильное представление как отрицательного числа.
источник

楽園松本 in Ассемблер
Обязан выразить свою радость: к нам на канал добавляются пользователи. А это значит, люди проявляют интерес к низкоуровневому программированию, что просто здорово!
источник

M

Mike in Ассемблер
😊
источник