Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вирус на асме, Маленький вирус... на асме... помогите!! 
:(
    Опции темы
 
Вирус на асме
Вирус на асме [ 4 ]  [80.00%]
Очень прошу [ 1 ]  [20.00%]
Всего проголосовавших: 5
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
[auxx]
Дата 20.2.2003, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код
.386
.model flat, stdcall
option casemap :none
        include c:\MASM32\INCLUDE\windows.inc
include c:\MASM32\INCLUDE\kernel32.inc
include c:\MASM32\INCLUDE\user32.inc
include c:\MASM32\INCLUDE\masm32.inc

includelib c:\MASM32\LIB\kernel32.lib
includelib c:\MASM32\LIB\user32.lib
includelib c:\MASM32\LIB\masm32.lib

; #########################################################################

EntryPointRVA equ 010CCh;посмотрел в редакторе ПЕ-файлов
;затем поменял на NULL

.data

nName db 'notepad.dll',0
mError db 'Error loading notepad.dll',0
mOK db 'OK'

.code

start:

invoke LoadLibrary,offset nName

cmp eax,0
je error

push eax

invoke MessageBox,0,offset mOK,0,0

pop eax

add eax,EntryPointRVA
jmp eax;нотепад почемуто почти сразу завершается, даже окна своего не показывает
error:
invoke MessageBox,0,offset mError,0,0
invoke ExitProcess,0
end start

; #########################################################################

Значит так. Блокнот прекрасно загружается, на контрольную сумму винды не жалуются. Вызываю EntryPoint. Вызов проходит успешно, блокнот че-то делает, потом вызывает ExitProcess. В чем дело? Винды - Миллениум.
PM MAIL   Вверх
stab
Дата 21.2.2003, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Может notepad не по своей Image Base загружается? У твоей проги Image Base какая?
и еще правельнее будет вместо jmp eax поставить call eax.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
stab
Дата 21.2.2003, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
и еще правельнее будет вместо jmp eax поставить call eax.


а может и не правильнее smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
[auxx]
Дата 22.2.2003, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



image base стандартный (0400000h).
call eax тока зря потратит место в стеке, т.к. нотепад завершается вызовом ExitProcess, а не ret. Он сразу сам завершит и нашу программу.
Интересно то, что блокнот некоторое время нормально выполняется, а потом завершаатся. В качестве примера, попробовал тоже самое сделать со своей прогой на С++ (довольнл большой и серьезной) - работает отлично. А вот с калькулятором та же проблема
PM MAIL   Вверх
[auxx]
Дата 22.2.2003, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
Может notepad не по своей Image Base загружается?


У loader'а и блокнота image base совпадают. По нормальному, винды должны за этим следить. Но проблема врядли в этом, т.к. у моей проги на С++ (см. выше) image base такой же.
PM MAIL   Вверх
stab
Дата 22.2.2003, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



У блокнота могут быть убраны фиксапы, а без них он по другой ImageBase не загрузится, т.е. загрузится, но работать не будет. Попробуй задай у лоадера другой ImageBase, ниже notepd'a, скажем, 60000000h будет самое то что нужно, т.к. начиная с этого адреса (и до 68000000h) MS рекомендует загружать собственные DLL.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
stab
Дата 22.2.2003, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



У мя (WinXP) нету фиксапов у блокнота. Попробовал на Delphi прогу написать с ImgBase 60000000h -- все работет. Так, что я думаю и у тя все заработает. smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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