Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Help me!!!!! 
:(
    Опции темы
kostik_16
  Дата 18.12.2003, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



Вот такая проблема стоит передо мною:

Я делаю программу зажиты от несанкционированного копирования, которая прикрепляет свою процедурку к левому экзешнику, после процедурка в теле защищиамой программы производит различные проверки и если все прошло тип-топ, то передает управлению в точку входа в главную программу.

Проблемой стало:
Мне надо запомнить в какой-то переменной первоночальную точку входа, что-бы можно было ее вызвать.

Например:

procedure x;
asm
@vhod: dd 000000000h
и этому @vhod мне надо и записать эту точку.

но:


procedure xx;
... Написанна на Delphi

и туту vhod_ := точка входа

И как сделать, что-бы при прикреплении в @vhod содержалось значение vhod_, на которое я мог-бы ссылаться?

Мне говорили, что можно сделать так:


procedure x;
asm
....
jmp @xxx
@vhod: dd 000000000h
mov eax, vhod_
mov dword ptr @vhod, eax

@xxx:
...

Я попробывал, но оно не работае!!!!
Оно ссылаеться просто на точку обьявления @vhod при вызове, а сама переменная @vhod содержит 000000000h

Как мне это сделать, подскажите пожайлуста?
PM MAIL   Вверх
p0s0l
Дата 18.12.2003, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 2
Всего: 112



Это описка или нет ? Почему у тебя так:
Код
procedure x;
asm
....
jmp @xxx
@vhod: dd 000000000h
mov eax, vhod_
mov dword ptr @vhod, eax

@xxx:

Надо так:
Код
procedure x;
asm
....
jmp @xxx
@vhod: dd 000000000h
@xxx:
mov eax, vhod_
mov dword ptr @vhod, eax





--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 18.12.2003, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 2
Всего: 112



Но это всё равно будет не то, т.к. ты ведь эту процедуру прикрепляешь к файлу, и при вызове её она попытается перезаписать @vhod.
Лучше сделай так:

procedure x;
asm
jmp @start
@vhod: dd 0
@start:
...
end;

А когда записываешь процедуру в конец файла, поменяй байты со 2 по 5 (начиная с 0) у записываемой процедуры на адрес точки входа.
Или же так, даже будет проще:
procedure x;
asm
// твой код
ret или jmp
@vhod:
end;
Т.е. @vhod содержится в конце файла. Тогда ты просто записываешь эту процедурину в EXE, и дописываешь в конец 4 байта vhod_, это как раз попадет на метку @vhod...



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 19.12.2003, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



вывод:
не мучать попу и писать на асме smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
kostik_16
Дата 21.12.2003, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



Я понял намек на счет
Цитата
не мучать попу и писать на асме
но, а тчо поделаешь, если уже начал писать с вставками на асме!!!

Так кто может помочь?

Цитата
А когда записываешь процедуру в конец файла, поменяй байты со 2 по 5 (начиная с 0) у записываемой процедуры на адрес точки входа.

Как это понять, можно примером обяснить, просто я так не совсем понял??
Я пробывал, но у меня чет не получилось, может не так что-то сделал?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.