lstrcatA

Тема в разделе "WASM.BEGINNERS", создана пользователем fragment, 22 авг 2010.

Статус темы:
Закрыта.
  1. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Код (Text):
    1. .686
    2. .model flat,stdcall
    3. option casemap:none
    4.  
    5. includelib library\kernel32.lib
    6. includelib library\user32.lib
    7.  
    8. .data?
    9.     Temp db 260 dup(?)
    10.     lpBuf db 260 dup(?)
    11.    
    12. .data
    13.     exename db "temp.exe",0
    14.  
    15. .code
    16. start:
    17.  
    18.     GetTempPathA PROTO :DWORD,:DWORD
    19.     push offset Temp
    20.     push 260
    21.     call GetTempPathA
    22.  
    23.     lstrcatA PROTO :DWORD,:DWORD
    24.     push offset Temp
    25.     push offset exename
    26.     call lstrcatA
    27.  
    28.     MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
    29.     push 0
    30.     push 0
    31.     push offset Temp
    32.     push 0
    33.     call MessageBoxA
    34.  
    35.     ExitProcess PROTO :DWORD
    36.     push eax
    37.     call ExitProcess
    38.  
    39. end start
    Ну здесь я переплюнул сам себя , программа нетработает , не копирует источник в приемник lstrcat'ом

    [​IMG]
     
  2. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Источник с приемником местами поменяй
    Код (Text):
    1.     push offset exename
    2.     push offset Temp
    3.     call lstrcatA
     
  3. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Ага ступил, а почему фаил не копируется?

    Код (Text):
    1. .686
    2. .model flat,stdcall
    3. option casemap:none
    4.  
    5. includelib library\kernel32.lib
    6. includelib library\user32.lib
    7.  
    8. .data?
    9. Temp db 260 dup(?)
    10. lpBuf db 260 dup(?)
    11.    
    12. .data
    13. exename db "temp.exe",0
    14.  
    15. .code
    16. start:
    17.  
    18. GetTempPathA PROTO :DWORD,:DWORD
    19. push offset Temp
    20. push 260
    21. call GetTempPathA
    22.  
    23. lstrcatA PROTO :DWORD,:DWORD
    24. push offset exename
    25. push offset Temp
    26. call lstrcatA
    27.  
    28. lstrcmpA PROTO :DWORD,:DWORD
    29. push offset lpBuf
    30. push offset Temp
    31. call lstrcmpA
    32.  
    33. test eax, eax
    34. jz @F
    35.  
    36. CopyFileA PROTO :DWORD,:DWORD,:DWORD
    37. push 0
    38. push offset lpBuf
    39. push offset Temp
    40. call CopyFileA
    41.  
    42. @@:
    43.  
    44. MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
    45. push 0
    46. push 0
    47. push offset Temp
    48. push 0
    49. call MessageBoxA
    50.  
    51. ExitProcess PROTO :DWORD
    52. push eax
    53. call ExitProcess
    54.  
    55. end start
     
  4. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Приемник и источник местами поменяй.
     
  5. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    не выходит

    Код (Text):
    1. .686
    2. .model flat,stdcall
    3. option casemap:none
    4.  
    5. includelib library\kernel32.lib
    6. includelib library\user32.lib
    7.  
    8. .data?
    9.     Temp db 260 dup(?)
    10.     lpBuf db 260 dup(?)
    11.    
    12. .data
    13.     exename db "temp.exe",0
    14.  
    15. .code
    16. start:
    17.  
    18.     GetTempPathA PROTO :DWORD,:DWORD
    19.     push offset Temp
    20.     push 260
    21.     call GetTempPathA
    22.  
    23.     lstrcatA PROTO :DWORD,:DWORD
    24.     push offset exename
    25.     push offset Temp
    26.     call lstrcatA
    27.  
    28.     lstrcmpA PROTO :DWORD,:DWORD
    29.     push offset lpBuf
    30.     push offset Temp
    31.     call lstrcmpA
    32.  
    33.     test eax, eax
    34.     jz @F
    35.  
    36.     CopyFileA PROTO :DWORD,:DWORD,:DWORD
    37.     push 0
    38.     push offset Temp
    39.     push offset lpBuf
    40.     call CopyFileA
    41.  
    42. @@:
    43.    
    44.     MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
    45.     push 0
    46.     push 0
    47.     push offset Temp
    48.     push 0
    49.     call MessageBoxA
    50.  
    51.     ExitProcess PROTO :DWORD
    52.     push eax
    53.     call ExitProcess
    54.  
    55. end start
    [​IMG]
     
  6. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Скачайте себе ollydbg и пошагово выполните свою программу. Возможно тогда ваша ошибка станет вам очевидной ;)
     
  7. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    спасибо за совет , но буду искать другие варианты , кроме OlyDBG
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    fragment
    http://www.wasm.ru/forum/viewtopic.php?pid=387318#p387318
    http://www.wasm.ru/forum/viewtopic.php?pid=387318#p387318
    http://www.wasm.ru/forum/viewtopic.php?id=32181&p=1

    http://www.wasm.ru/forum/viewtopic.php?pid=379084#p379084

    http://www.wasm.ru/forum/viewtopic.php?pid=387319#p387319
    Что конкретно вам в ней не понятно ?

    http://www.wasm.ru/forum/viewtopic.php?pid=387533#p387533
     
  9. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Чем не устраивает отладчик то? :)
     
  10. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Не хочу его , отдельно отладка отдельно компилятор , непонятный , хочу среду разработки удобную типа Visual Studio!!!
    Я брезгую ;)
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    fragment
    Так вы обнаглели товарищ совсем.
     
  12. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Помогите с VIsual Studio , наделайте скринов с настроичками и проектиками , что вам стоит ?
     
  13. Aquila

    Aquila Самурай дзена

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    1.467
    Адрес:
    Russia, Moscow
    Бред. У тебя три функции, проверь правильность передаваемых параметров к ним, вот и всё. Закрываю.
     
Статус темы:
Закрыта.