1. .:GOGA:.

    .:GOGA:. Member

    Joined:
    28 Jun 2010
    Messages:
    91
    Likes Received:
    8
    Reputations:
    5
    Сразу скажу что я не силен в программирование и прошу не пинать.

    есть код
    Code:
    o ftp.site.ru
    login
    pass
    binary
    cd dmp
    send c:\windows\backup\send.bin Open.bin
    bye
    
    Мне на сервер приходит файл с имянем Open.bin
    Можно в его имя добавить случайный хеш или другую переменную што-бы файлы не замещали друг друга?
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    как вариант сделать так:
    через байт файл создавать этот конфигурационный файл. И попутно к имени Open.bin добавлять допустим текущее время или чтонить подобное.
     
  3. .:GOGA:.

    .:GOGA:. Member

    Joined:
    28 Jun 2010
    Messages:
    91
    Likes Received:
    8
    Reputations:
    5
    slesh
    Я с тобой согласен, добавления времяни это лучший вариант...
    Но только я не знаю как это сюда дописать!!
     
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    FASM

    да ладно все очень просто
    Code:
    format PE GUI 4.0
    entry start
    include 'C:\FASM\INCLUDE\win32a.inc'
    section '.text' code import writeable readable executable
    ;---------импорт функций
    library kernel32, 'kernel32.dll',\
    advapi, 'Advapi32.dll',\
    user32, 'User32.dll'
    import kernel32,\
      ExitProcess, 'ExitProcess',\
      CreateFile,'CreateFileA',\
      WriteFile,'WriteFile',\
      CloseHandle,'CloseHandle'
    import user32,\
      wsprintf,'wsprintfA'
    import advapi,\
      SystemFunction036,'SystemFunction036'
      ;------------------------
    
    start:
    invoke CreateFile,szfile,GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,0,0
    mov [hfile],eax
    
    invoke SystemFunction036,lol,4
    invoke wsprintf,buff,textf,lol
    invoke WriteFile,[hfile],buff,eax,lol,NULL
    
    
    invoke CloseHandle,[hfile]
    invoke ExitProcess, 0
    
    szfile db 'sc.bat',0
    textf db 'o ftp.site.ru',13,10,'login',13,10,'pass',13,10,'binary',13,10,'cd dmp',13,10,'send c:\windows\backup\send.bin Open.bin.%x',13,10,'bye',0
    ; ^ измени на нужные тебе значения
    hfile dd ?
    lol dd ?
    buff rb 128 ; ну тут можно поболее поставить 512
    
    если хочешь можешь ещё сделать поддержку командной строки
    Code:
    LPWSTR *argv; int argc; 
    argv = CommandLineToArgvW(GetCommandLineW(), &argc);
    но я решил сделать, как попрще :D

    P.S: блин косячно получилось с этой SystemFunction036 она генерит все символы даже не печатаемые, что не есть тру в данном случае, а опция %x почему-то вставляет адрес переменной lol а не ее значение...
     
    _________________________
    #4 Gar|k, 29 Jul 2010
    Last edited: 29 Jul 2010
  5. .:GOGA:.

    .:GOGA:. Member

    Joined:
    28 Jun 2010
    Messages:
    91
    Likes Received:
    8
    Reputations:
    5
    Gar|k
    Все очень просто???
    Выдрал какой то код из какой-то программы которая ещо и инклуид не известного файла делает и импорт каких то функций!!
    Мне просто надо время приписать к файлу который отправляется на фтп сервер!!
     
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    А зачем так извращаться?
    Достаточно просто написать простой VBS скипт который будет запускаться и создавать конфиг и запускать ftp
    Былбы под виндой ужебы написал. А то сцука wine не тянет его
    Чтото навоял но проверить нет возможности
    Code:
    Dim fso, tf
    Dim nowtime
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set tf = fso.CreateTextFile("ftp.cfg", True)
    Set nowtime = Year(Now()) & "_" & Month(Now()) & "_" & Day(Now()) & "__" & Hour(Now())  & "_" & Minute(Now())  & "_" & Second(Now())
    
    tf.WriteLine("o ftp.site.ru") 
    tf.WriteLine("login")
    tf.WriteLine("pass")
    tf.WriteLine("binary")
    tf.WriteLine("cd dmp")
    tf.WriteLine("send c:\windows\backup\send.bin Open.bin." & nowtime);
    tf.WriteLine("bye")
    tf.Close
    
    Сохрани это в файле ***.vbs
     
  7. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    хаха .:GOGA:. смешной ты ) разобрал только мои комментарии.
    Я не выдрал какой-то код, а написал тебе программу на ассемблере под FASM, которая делает, как раз что тебе нужно и в скомпилированном виде весит 1Кб (тупо в консоли набери fasm blabla.asm, где blabla.asm исходник). Полноценное win32 приложение хех


    2 slesh ну дык было времени часа 3 ночи делать нехрен ) надо же помочь человеку. Блин про VBS я чет даже не вспомнил. Наверно потому что юзал его тока в 98 винде
     
    _________________________
  8. .:GOGA:.

    .:GOGA:. Member

    Joined:
    28 Jun 2010
    Messages:
    91
    Likes Received:
    8
    Reputations:
    5
    slesh
    Вылетает ошибка. Строка 5 символ 1!

    Строка 5 удалил:Set
    Строка 12 удалил: ;
    создался файл, буду испытывать!!

    Gar|k
    Но мне надо што-бы время приписывалось
     
    #8 .:GOGA:., 29 Jul 2010
    Last edited: 29 Jul 2010