Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс сен 24, 2017 2:45 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу Пред. 1 2 3
Автор Сообщение
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Чт сен 19, 2013 8:30 pm 
Не в сети

Зарегистрирован: Вт май 11, 2010 8:14 am
Сообщения: 112
CleverMouse
Тоже вариант, но вроде нет.
Если править код ниже, то все работает и изменения тоже.
Да и контроля целостности, при быстром просмотре не замечено.


Последний раз редактировалось Unduing Чт сен 19, 2013 8:37 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Чт сен 19, 2013 8:35 pm 
Не в сети

Зарегистрирован: Вт май 11, 2010 8:14 am
Сообщения: 112
art_zh
Адрес возврата все таки не причем, вынес часть кода выше через short jump и опять программа перестает работать.


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Чт сен 19, 2013 8:45 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Речь ведь о PE DLL? 10003000, скорее всего, элемент из таблицы релокаций, в ней наверняка есть адрес RVA 1610. Загрузчик прибавляет к dword по RVA 1610 дельту адреса загрузки. Если по адресу 1610 оказался код, но таблица релокаций не поправлена, то вместо кода окажется мусор.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Чт сен 19, 2013 10:56 pm 
Не в сети

Зарегистрирован: Вт май 11, 2010 8:14 am
Сообщения: 112
CleverMouse
Да PE DLL.
Вторым вариантом вынес часть кода ниже через short jmp что так же привело что библиотека перестала работать

До
Код:
.10001600: 83C002                        1add         eax,2
.10001603: 68B4210010                     push        0100021B4
.10001608: 50                             push        eax
.10001609: FF1554200010                   call        lstrcpyW
.1000160F: 6800300010                     push        010003000 ;'► 0 '
.10001614: FF1518200010                   call        LoadLibraryW
.1000161A: 85C0                           test        eax,eax
.1000161C: EB78                           jmps       .010001696 --↓4
.1000161E: 9090909090                     nop


После
Код:
.10001600: EB1C                          1jmps       .01000161E --↓3
.10001602: 90                             nop
.10001603: 68B4210010                     push        0100021B4
.10001608: 50                             push        eax
.10001609: FF1554200010                   call        lstrcpyW
.1000160F: 6800300010                     push        010003000 ;'► 0 '
.10001614: FF1518200010                   call        LoadLibraryW
.1000161A: 85C0                           test        eax,eax
.1000161C: EB78                           jmps       .010001696 --↓5
.1000161E: 83C002                        3add         eax,2
.10001621: EBDD                           jmps       .010001600 --↑1


А ты программируешь на asm под windows?
По смещению увидеть что это библиотека.


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт сен 20, 2013 1:21 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Unduing писал(а):
После
Код:
.10001600: EB1C                          1jmps       .01000161E --↓3
.10001602: 90                             nop
.10001603: 68B4210010                     push        0100021B4
.10001608: 50                             push        eax
.10001609: FF1554200010                   call        lstrcpyW
.1000160F: 6800300010                     push        010003000 ;'► 0 '
.10001614: FF1518200010                   call        LoadLibraryW
.1000161A: 85C0                           test        eax,eax
.1000161C: EB78                           jmps       .010001696 --↓5
.1000161E: 83C002                        3add         eax,2
.10001621: EBDD                           jmps       .010001600 --↑1


Хм... неужели зависает в вечном цикле? Удивительно!

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт сен 20, 2013 1:41 pm 
Не в сети

Зарегистрирован: Вт май 11, 2010 8:14 am
Сообщения: 112
CleverMouse
По памяти набил код который проверял , проверял конечно в варианте jmps .010001602


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 12:03 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
Доброго времени суток. Подскажите номер сис. функции,реализующей скролл в окне.
Пока пользуюсь sysfunс 0 для построения окна и sysfunc 4 для вывода текста (впрочем,пока выводит какой-то мусор вместо задуманного :mrgreen: )

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 12:31 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
Так,с "мусором" разобрался,- нужно очистить edi перед вызовом sysfunc 4)

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 12:43 am 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
Нет такой сисфункции, есть библиотеки для виджетов
http://wiki.kolibrios.org/wiki/Library/ru -> http://wiki.kolibrios.org/wiki/Box_lib/ru -> http://wiki.kolibrios.org/wiki/Box_lib_scrollbar/ru


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 3:04 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 532
Wildwest писал(а):
Нет такой сисфункции, есть библиотеки для виджетов
http://wiki.kolibrios.org/wiki/Library/ru -> http://wiki.kolibrios.org/wiki/Box_lib/ru -> http://wiki.kolibrios.org/wiki/Box_lib_scrollbar/ru

А есть ли возможность "проложить" системный путь к динамическому использованию виджетов без линковки OBJ файлов?
Или я чего то недопонимаю и их можно использовать так или иначе, например в рамках Форт языка или всё же придётся повторить
требуемый функционал в рамках Форт системы или заранее "прилинковать" к асм коду в образе Форта?


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 4:43 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Библиотеки динамические, подключаются через системные функции загрузки dll.


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт фев 18, 2014 8:43 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
Благодарю.Библиотеки я вряд ли потяну, - вывод матюков текста в окно с трудом осилил :mrgreen: :mrgreen:

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу Пред. 1 2 3

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB