Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Aug 22, 2019 6:58 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 42 posts ]  Go to page Previous 1 2 3
Author Message
 Post subject: Re: Новичок
PostPosted: Thu Sep 19, 2013 8:30 pm 
Offline

Joined: Tue May 11, 2010 8:14 am
Posts: 112
CleverMouse
Тоже вариант, но вроде нет.
Если править код ниже, то все работает и изменения тоже.
Да и контроля целостности, при быстром просмотре не замечено.


Last edited by Unduing on Thu Sep 19, 2013 8:37 pm, edited 1 time in total.

Top
   
 Post subject: Re: Новичок
PostPosted: Thu Sep 19, 2013 8:35 pm 
Offline

Joined: Tue May 11, 2010 8:14 am
Posts: 112
art_zh
Адрес возврата все таки не причем, вынес часть кода выше через short jump и опять программа перестает работать.


Top
   
 Post subject: Re: Новичок
PostPosted: Thu Sep 19, 2013 8:45 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
 Post subject: Re: Новичок
PostPosted: Thu Sep 19, 2013 10:56 pm 
Offline

Joined: Tue May 11, 2010 8:14 am
Posts: 112
CleverMouse
Да PE DLL.
Вторым вариантом вынес часть кода ниже через short jmp что так же привело что библиотека перестала работать

До
Code:
.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


После
Code:
.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?
По смещению увидеть что это библиотека.


Top
   
 Post subject: Re: Новичок
PostPosted: Fri Sep 20, 2013 1:21 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1620
Unduing wrote:
После
Code:
.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


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

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


Top
   
 Post subject: Re: Новичок
PostPosted: Fri Sep 20, 2013 1:41 pm 
Offline

Joined: Tue May 11, 2010 8:14 am
Posts: 112
CleverMouse
По памяти набил код который проверял , проверял конечно в варианте jmps .010001602


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 12:03 am 
Offline
User avatar

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

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


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 12:31 am 
Offline
User avatar

Joined: Thu May 30, 2013 2:35 am
Posts: 48
Так,с "мусором" разобрался,- нужно очистить edi перед вызовом sysfunc 4)

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


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 12:43 am 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 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


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 3:04 pm 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 664
Wildwest wrote:
Нет такой сисфункции, есть библиотеки для виджетов
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 файлов?
Или я чего то недопонимаю и их можно использовать так или иначе, например в рамках Форт языка или всё же придётся повторить
требуемый функционал в рамках Форт системы или заранее "прилинковать" к асм коду в образе Форта?


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 4:43 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Библиотеки динамические, подключаются через системные функции загрузки dll.


Top
   
 Post subject: Re: Новичок
PostPosted: Tue Feb 18, 2014 8:43 pm 
Offline
User avatar

Joined: Thu May 30, 2013 2:35 am
Posts: 48
Благодарю.Библиотеки я вряд ли потяну, - вывод матюков текста в окно с трудом осилил :mrgreen: :mrgreen:

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 42 posts ]  Go to page Previous 1 2 3

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited