Page 3 of 3

Re: Новичок

Posted: Thu Sep 19, 2013 8:30 pm
by Unduing
CleverMouse
Тоже вариант, но вроде нет.
Если править код ниже, то все работает и изменения тоже.
Да и контроля целостности, при быстром просмотре не замечено.

Re: Новичок

Posted: Thu Sep 19, 2013 8:35 pm
by Unduing
art_zh
Адрес возврата все таки не причем, вынес часть кода выше через short jump и опять программа перестает работать.

Re: Новичок

Posted: Thu Sep 19, 2013 8:45 pm
by CleverMouse
Речь ведь о PE DLL? 10003000, скорее всего, элемент из таблицы релокаций, в ней наверняка есть адрес RVA 1610. Загрузчик прибавляет к dword по RVA 1610 дельту адреса загрузки. Если по адресу 1610 оказался код, но таблица релокаций не поправлена, то вместо кода окажется мусор.

Re: Новичок

Posted: Thu Sep 19, 2013 10:56 pm
by Unduing
CleverMouse
Да PE DLL.
Вторым вариантом вынес часть кода ниже через short jmp что так же привело что библиотека перестала работать

До

Code: Select all

.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: Select all

.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: Новичок

Posted: Fri Sep 20, 2013 1:21 pm
by CleverMouse
Unduing wrote:После

Code: Select all

.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: Новичок

Posted: Fri Sep 20, 2013 1:41 pm
by Unduing
CleverMouse
По памяти набил код который проверял , проверял конечно в варианте jmps .010001602

Re: Новичок

Posted: Tue Feb 18, 2014 12:03 am
by X-Ray
Доброго времени суток. Подскажите номер сис. функции,реализующей скролл в окне.
Пока пользуюсь sysfunс 0 для построения окна и sysfunc 4 для вывода текста (впрочем,пока выводит какой-то мусор вместо задуманного :mrgreen: )

Re: Новичок

Posted: Tue Feb 18, 2014 12:31 am
by X-Ray
Так,с "мусором" разобрался,- нужно очистить edi перед вызовом sysfunc 4)

Re: Новичок

Posted: Tue Feb 18, 2014 12:43 am
by 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

Re: Новичок

Posted: Tue Feb 18, 2014 3:04 pm
by Kopa
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 файлов?
Или я чего то недопонимаю и их можно использовать так или иначе, например в рамках Форт языка или всё же придётся повторить
требуемый функционал в рамках Форт системы или заранее "прилинковать" к асм коду в образе Форта?

Re: Новичок

Posted: Tue Feb 18, 2014 4:43 pm
by SoUrcerer
Библиотеки динамические, подключаются через системные функции загрузки dll.

Re: Новичок

Posted: Tue Feb 18, 2014 8:43 pm
by X-Ray
Благодарю.Библиотеки я вряд ли потяну, - вывод матюков текста в окно с трудом осилил :mrgreen: :mrgreen: