bilka00
Почему так все сложно?
bilka00
Потому что виртуализация и криптография в большом количестве
bilka00
Вот и с грамотно построеной защитой так же
Anonymous
Потому что виртуализация и криптография в большом количестве
Сломать можно всё. Иногда временная составляющая берет верх над экономической, иногда наоборот.
Anonymous
Я давно уже не ломаю
bilka00
Без обид сейчас любую грамотно построеную защиту вовсе нельзя сломать без лицензии
bilka00
Потому купить прийдеться в любом случае
Anonymous
Потому купить прийдеться в любом случае
Можно, к примеру, купить коцаную лицензию и её раширить. К примеру, standart стоит $1500, pro $2500, extended $10000. отличаются одним битиком в маске.
Anonymous
А ещё был случай, когда ковыряли софт, и нужен был dword (серийный номер железного ключа), по которому брались опции софта. Так мы этот dword нашли в обзорах по этому софту.
Anonymous
но сам факт покупки остаётся
нет универсального способа. И волшебной кнопки "hack" не существует
Anonymous
где-то без покупки (или нарывания лиц) не обойтись, где-то можно сгенерировать
Anonymous
; ax - attr или символ ; bl - 0:1 - READ/WRITE ; dx - coord push di test bl, 1 pushf ; save flags mov di, dx ; copy orig xchg ax, dx shl di, 6 ; mul *64 shl ax, 4 ; mul *16 add di, ax ; bx=coord*80 shl di, 1 ; bx=coord*160 popf jz @@write mov es:[di], dx jz @@done @@write: mov ax, es:[di] @@done: pop di ret
Максим
Всем привет. Кто знает в чем дело?
Максим
JeisonWi
Максим
map: Cannot find required map name.
а по русски? ))
Дмитрий
а по русски? ))
а прогуглить?
Anonymous
jz done ?
jmp, описался
Anonymous
mov ax, es:[di] jz @@done mov es:[di], dx @@done: так - меньше
Vladimir
mov ax, es:[di] jz @@done mov es:[di], dx @@done: так - меньше
А что выставит флажки для первой jz?
Anonymous
конструкция test bl, 1 pushf ; save flags трата-та действия popf
Vladimir
А чего ширина 80 фиксированная?
Aiwan \ (•◡•) / _bot
40*25 поле
Anonymous
Во! Вот так красивее! ; ax - attr или символ ; bl - 0:1 - READ/WRITE ; dx - coord push si test bl, 1 pushf ; save flags mov si, dx ; copy orig xchg ax, dx shl si, 6 ; mul *64 shl ax, 4 ; mul *16 add si, ax ; bx=coord*80 shl si, 1 ; bx=coord*160 popf lodsw ; ax<-[si] jz @@done mov es:[si], dx @@done: pop si ret
Anonymous
условие, что es и ds указывают на один сегмент
Anonymous
в противном случае lodsw заменить на mov ax, es:[si]
Aiwan \ (•◡•) / _bot
меня смущает вот эти строки shl si, 6 ; mul *64 shl ax, 4 ; mul *16 dx - координаты, dh-x, dl-y их разве не по отдельности надо отрабатывать?
Aiwan \ (•◡•) / _bot
при этом исходные координаты (dx) не должны менятся по окончании процедуры, а символ (ax), в зависимоти от флага, изменяться, если это чтение (read) или оставаться безизменения, если это запись (write)
Aiwan \ (•◡•) / _bot
про это ничго сказано не было. dx - coord - и всё
а как бы ты пометсил координаты в слово?
Ask
ну он идею написал, подправить непроблемаж)
Aiwan \ (•◡•) / _bot
в любом случае буду пробоваь по разному
Anonymous
в любом случае буду пробоваь по разному
; ax - attr или символ ; bl - 0:1 - READ/WRITE ; dx - coord push dx test bl, 1 pushf ; save flags xor bx, bx ; extend 8 bit -> 16 xor ax, ax mov bl, dh ; copy orig xchg al, dl shl bx, 6 ; mul *64 shl ax, 4 ; mul *16 add bx, ax ; bx=coord*80 shl bx, 1 ; bx=coord*160 popf mov ax, es:[bx] jz @@done mov es:[bx], dx @@done: pop dx ret
Anonymous
что-то вроде такого
Ask
dx пушпопить еще
Anonymous
dx пушпопить еще
push si - со старой версии осталось. Читать как push dx
Anonymous
там еще dh непоменяно
где??? Всё поменяно
Ask
; ax - attr или символ mov bl, dh xchg al, dl ... mov es:[bx], dx
Ask
в dh что?) и xor ax,ax без сейва символа с атрибутом
Anonymous
ай, идея ясна - реализовывайте! (с)
Ask
;)
Ask
ещеб пушф/попф не юзать) оно не быстро выполняется
Ask
или скорость неважна?)
Aiwan \ (•◡•) / _bot
все используемые регистры нужно возвращать в исходном виде кроме ax в режиме чтения
Ask
ну пуши натыкай
Anonymous
ещеб пушф/попф не юзать) оно не быстро выполняется
Я под размер оптимизировал, хотелось элегантно обойтись с тем, что в bx у нас 0 или 1
Aiwan \ (•◡•) / _bot
у мя так участок вычисления смещения назрел movzx bx,dh movzx si,dl ;избавляемся от xor shl bx,6 shl si,1 lea di,[bx+16+si] ;избавляемся от add
Ask
регистр попортит
Aiwan \ (•◡•) / _bot
64+16=80
Anonymous
Аааааа! НетЪ!
Anonymous
X*80=x*16+x*64
Aiwan \ (•◡•) / _bot
все настроение испоротил
­
Всем привет. Кто знает в чем дело?
А ты уверен, что тебе сюда?
­
@AlexFails ты ничего не делал с правилами?
Aiwan \ (•◡•) / _bot
изменил процедуру на на вызов сервисов биос, выгрыш по сравенению с первым вариантом (запись/чтение видео напряму) составляет 3 байта.
Aiwan \ (•◡•) / _bot
инлайн сервисов биос, как в исходном варианте, дает больше выгрыш в свобоном месте, чем работа с видеопамятью напряму через процедуру
Aiwan \ (•◡•) / _bot
но там не учтена покраска символов
Aiwan \ (•◡•) / _bot
думаю если еще покраску введу то уже будет наоборот
Aiwan \ (•◡•) / _bot
там 6 байт разница, а покраска намного больше займет
Aiwan \ (•◡•) / _bot
осталось со счетом поработать
Aiwan \ (•◡•) / _bot
если у кого какие предложения,вопросы, замечания будут, пишите
Aiwan \ (•◡•) / _bot
Написать ещё и под UEFI. :-)
незнаком с этой штукой
Aiwan \ (•◡•) / _bot
уефи разве с бутсектора запускается??? по мойму там подружается это все отдельно, а раз так то ограничения на объем вроде нету или он очень большой для этой проги
Aiwan \ (•◡•) / _bot
а где можн почитать о загрузке уефи? мож у кого уже что то есть?
Aiwan \ (•◡•) / _bot
так не интересно
Aiwan \ (•◡•) / _bot
с этим закончу, мож и начну тогда