Новичок

Assembler programming questions
  • art_zh
    Адрес возврата все таки не причем, вынес часть кода выше через short jump и опять программа перестает работать.
  • Речь ведь о PE DLL? 10003000, скорее всего, элемент из таблицы релокаций, в ней наверняка есть адрес RVA 1610. Загрузчик прибавляет к dword по RVA 1610 дельту адреса загрузки. Если по адресу 1610 оказался код, но таблица релокаций не поправлена, то вместо кода окажется мусор.
    Сделаем мир лучше!
  • 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?
    По смещению увидеть что это библиотека.
  • 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
    Хм... неужели зависает в вечном цикле? Удивительно!
    Сделаем мир лучше!
  • CleverMouse
    По памяти набил код который проверял , проверял конечно в варианте jmps .010001602
  • Доброго времени суток. Подскажите номер сис. функции,реализующей скролл в окне.
    Пока пользуюсь sysfunс 0 для построения окна и sysfunc 4 для вывода текста (впрочем,пока выводит какой-то мусор вместо задуманного :mrgreen: )
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • Так,с "мусором" разобрался,- нужно очистить edi перед вызовом sysfunc 4)
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • Нет такой сисфункции, есть библиотеки для виджетов
    http://wiki.kolibrios.org/wiki/Library/ru -> http://wiki.kolibrios.org/wiki/Box_lib/ru -> http://wiki.kolibrios.org/wiki/Box_lib_scrollbar/ru
  • 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 файлов?
    Или я чего то недопонимаю и их можно использовать так или иначе, например в рамках Форт языка или всё же придётся повторить
    требуемый функционал в рамках Форт системы или заранее "прилинковать" к асм коду в образе Форта?
  • Библиотеки динамические, подключаются через системные функции загрузки dll.
  • Благодарю.Библиотеки я вряд ли потяну, - вывод матюков текста в окно с трудом осилил :mrgreen: :mrgreen:
    Кристофер Робин сел в «Форд» и взмахнул кнутом…
  • Who is online

    Users browsing this forum: No registered users and 2 guests