Преобразование из числа в памяти в адресс

Тема в разделе "WASM.ASSEMBLER", создана пользователем Freecod, 23 мар 2006.

  1. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Столкнулся с такой проблемой - получаю из формы через GetWindowTextA смещение к примеру 4015AC, мне нужно преобразовать его так, чтобы можно было поместить в регистр в таком виде eax=004015AC, пробовал по разному, но всё время в еах ложится в HEX виде 343031....
     
  2. netw0rm

    netw0rm New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2005
    Сообщения:
    78
    GetWindowTextA возвращает результат в eax. Там уже лежит 004015AC.
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    И как же ты пробовал?



    P.S.

    В eax возвращается длина текста, а не смещение
     
  4. netw0rm

    netw0rm New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2005
    Сообщения:
    78
    Ой, йо. Сорри, протупил. Ну тогда ессно lea eax, [lpString]. Он небось mov делает и получает в eax строку "104"...
     
  5. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Судя по прототиру
    Код (Text):
    1. int GetWindowText(
    2.     HWND hWnd,  // handle of window or control with text
    3.     LPTSTR lpString,    // address of buffer for text
    4.     int nMaxCount   // maximum number of characters to copy
    5.    );


    Надо так
    Код (Text):
    1.   mov eax, [lpString]


    В eax будет лежать указатель на строку '343031....' А дальше преобразовывать из строки в HEX ;)

    Вроде так.
     
  6. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Похоже меня не поняли. Есть вот такой код:



    ; в EditBox (907) введено 4056d6

    invoke GetDlgItemText, hWin, 907, ADDR offsets, SIZEOF offsets

    mov eax, offsets ; в eax идёт вся эта hex ерунда (34 30 35...), а нужно, чтоб там было 004056d6
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Freecod

    См. в \masm32\m32lib\HTODW.ASM