Не отображает текст в контроле.

Тема в разделе "WASM.BEGINNERS", создана пользователем rubic_, 26 окт 2007.

  1. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    в чем ошибка, собирал в RadAsm
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Код (Text):
    1. .ELSEIF uMsg==WM_SIZE
    2.     invoke  GetDlgItem,hWnd,ID_EDIT
    3.     mov hEdit, eax
    4.     mov eax, lParam
    5.     mov dx,ax
    6.     mov eax, lParam
    7.     shr eax, 16
    8.     invoke  MoveWindow,hEdit, 0, 0, edx, eax,TRUE
    9.  
    10. ...
    11.  
    12.     invoke  ReadFile, hFile, pMemory,MEMSIZE-1,addr SizeWriteRead,NULL
    13.  
    14.     invoke  GetDlgItem,hWnd,ID_EDIT
    15.     mov hEdit, eax
    16.     invoke  SendMessage,hEdit,WM_SETTEXT,NULL,pMemory
     
  3. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    все равно не показывает...а смысл использовать GetDlgItem? я же получаю хендл с функции CreateWindowsEx
     
  4. Termo_in_work

    Termo_in_work TermoSINteZ

    Публикаций:
    0
    Регистрация:
    31 июл 2007
    Сообщения:
    20
    Адрес:
    на работе
    rubic_
    берем Олю и смотрим пошагам вплоть до SendMessage
     
  5. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    а есть нанее какая-нибудь документация, желательно на русском. Ато я не умею ей пользоваться.
     
  6. FlatL1ne

    FlatL1ne FlatL1ne

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    34
    Адрес:
    Underground
    Русская справка по оли http://www.cracklab.ru/download.php?action=get&n=NTgw
    Почитай цикл статей http://www.wasm.ru/article.php?article=ollydbg01
     
  7. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    спс
     
  8. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Да, и сохраняешь его в локальной переменной. При следующем после WM_CREATE сообщении в переменной hEdit будет все, что угодно, но не хендл окна.
     
  9. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    ок. понял. Если перенести данную переменную в глобальную область эта проблема себя исчерпает. или же все равно есть угроза перезаписи памяти?


    начал читать статьи по Оли, но пока не могу понять до конца какого рода ошибку искать.. кто подскажет?
     
  10. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    да

    Для начала скажи, появился ли edit в клиентской части после добавления GetDlgItem (или переноса hEdit в глобальную область).

    В обработчик WM_SIZE еще добавь:
    Код (Text):
    1. mov eax, lParam
    2. xor edx, edx ; <=
    3. mov dx,ax
     
  11. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    контрола как оказалось и нет(

    штурмую потихоньку Олю и кое-что нарыл...поставил бряк на ф-ю CreateWindowEx, прога на ней встала, я нажеал ф8, а в еах остались нули, т.е хендла контрола нет, глядим в дамп. нули... в чем причина может быть господа?
     
  12. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    что никто не знает?(
     
  13. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    А сам разбираться пробовал?

    P.S. Вот тут, например все очень доступно написано http://www.wasm.ru/article.php?article=1001009
     
  14. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Ой. А если просто повнимательнее всмотреться в махонький асм-файл:

    раскомментировать CreateWindowEx(EditClass),

    окончить 0-м -
    Код (Text):
    1. EditClass db "Edit"
    заменить '.else' на '.elseif ax==IDM_BTN4' вот здесь:
    Код (Text):
    1.   .else
    2.     invoke  DestroyWindow,hWnd 
    3.   .endif
    Конечно, это лишь первичная реанимация...
     
  15. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    Керро твой совет совершенно не дает ответ на мой вопрос, зачем тогда его давать..про Эдит лан пропустил...а смысл второго совета вообще не пойму...зачем мне лишний цикл, если мне не важно какое идет сообщение в том месте все на дестрой ставиться
     
  16. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    это я читал
     
  17. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    rubic_
    При такой расконцентрированности внимания объясняться далее смысла нет.