Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

DLL/API or any other way to customize execution

Post Reply
pecket
Posts: 7
Joined: 2010-05-27 14:29

DLL/API or any other way to customize execution

Post by pecket »

I've looked through the forum and documentation and I can't seem to find any way to do what I'm looking for.

I'm trying to develop a customized application for a friend for use in a small firm to help his customers with remote assistance for a separately sold product.

What I was thinking was to either have a ultravnc dll, which I haven't found, or to use some kind of secondary application similar to sc_prompt etc. Tried to use the executable from sc_prompt which seemed to work quite nice using the following command line:
"unpvnc.exe -id 12345 -sslproxy -kill -autoreconnect -connect host-to-computer-running-the-repeater-service.com:443" where "12345" is a unique number generated for the specific customer upon execution by talking to a webservice.

The issue is that the icon from the viewer/server (whatever one wants to call it) stays in the systray even after the application is killed when the customer closes the helpdesk-window unless one moves the mouse to the systray and back. I also want to be confident that it works in Vista/7 etc. I also want to be confident that no extra files nor registry entries are added to the computer. I want to have one single application that is executed and then can be removed by the customer, removing any trace that the application was ever there.

Not dumping the executable to disk if I need to use a secondary application is no problem. I'll execute the application directly from memory without dumping it to disk and therefor I don't even have to bother about storing the file temporarily anywhere.

Using the VNC DLL from Metasploit is both detected as malware, often used for illegal purposes, and doesn't have the functionality for using the repeater.

Since I do not program neither C nor C++ it's way too hard for me to rewrite the sourcecode for UltraVNC to complete this task. If you have any tips, please share. I haven't used this software for a long period yet so maybe I've missed some functionality that can simplify my goals.
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: DLL/API or any other way to customize execution

Post by B »

Not clear to me here, but if the system tray icon persisting is your <b>only</b> issue, then you don't really <b>have</b> an issue! :)

That's just the way Windows works; sometimes it's slow to refresh the system tray display, even after a particular process is long gone. (That's why you sometimes see duplicates even when the first iteration has long since been closed or crashed.)

It's normal and completely harmless. It has nothing to do with VNC.

Were there other concerns too?
User avatar
JDaus
Friend of UVNC
Friend of UVNC
Posts: 537
Joined: 2007-03-17 11:00
Location: Sydney, Australia
Contact:

Re: DLL/API or any other way to customize execution

Post by JDaus »

pecket wrote:What I was thinking was to either have a ultravnc dll, which I haven't found, or to use some kind of secondary application similar to sc_prompt etc. Tried to use the executable from sc_prompt which seemed to work quite nice using the following command line:
"unpvnc.exe -id 12345 -sslproxy -kill -autoreconnect -connect host-to-computer-running-the-repeater-service.com:443" where "12345" is a unique number generated for the specific customer upon execution by talking to a webservice.
have you looked at pchelpware ?

it uses a closed source dll, which is free to use for any purpose.
ask a silly question and remain a fool for 5 minutes...
don't ask, and remain a fool for life - JDaus 2003

without imperfections, neither you nor i would exist - Steven Hawkins
__
JD
SCPrompt - OpenSource Free Remote Screen\Desktop Sharing Solution
SecureTech.com.au
User avatar
JDaus
Friend of UVNC
Friend of UVNC
Posts: 537
Joined: 2007-03-17 11:00
Location: Sydney, Australia
Contact:

Re: DLL/API or any other way to customize execution

Post by JDaus »

woops ... double post ...
Last edited by JDaus on 2010-06-19 00:15, edited 1 time in total.
ask a silly question and remain a fool for 5 minutes...
don't ask, and remain a fool for life - JDaus 2003

without imperfections, neither you nor i would exist - Steven Hawkins
__
JD
SCPrompt - OpenSource Free Remote Screen\Desktop Sharing Solution
SecureTech.com.au
pecket
Posts: 7
Joined: 2010-05-27 14:29

Re: DLL/API or any other way to customize execution

Post by pecket »

B: Having to explain to clients afterwards that the icon that they keep having that disappears when they move the mouse over it is not a virus or anything but a "feature" is something that should be avoided if possible. Looks strange, and when they don't know what the icon showing up is, they might right click and close it before a connection has even been started.

JDaus: Actually I had read somewhere about issues with Windows 7 but I guess these might've been solved already. I normally prefer open source because of its lifespan, development and the open source culture appeals to me more.

Before I dig myself a grave that I end up having no body to bury in, Win7 x64 work properly if one avoids the mirror driver? Is development ceased? The size is quite a bit larger than the sc_prompt executable I used earlier but as long as it works I guess the clients for my friends company just have to live with it if that's my final solution.

Sorry for throwing out all these questions but I'm closing in on a deadline and even though this is not a paying project I'd like to help my friend out as much as I possibly can.

Edit: Is PCHelpWare even in development anymore? It looks like it's not when browsing the forums. Could as there as well, but it's just annoying if I start several new threads.
Last edited by pecket on 2010-06-15 13:11, edited 1 time in total.
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: DLL/API or any other way to customize execution

Post by B »

So can't you just use the disabletrayicon option?

[topic=43][/topic]

[post=36051][/post]

This assumes, of course, that you don't need the users to interact with the icon while it <b>is</b> active.
pecket
Posts: 7
Joined: 2010-05-27 14:29

Re: DLL/API or any other way to customize execution

Post by pecket »

B wrote:So can't you just use the disabletrayicon option?

[topic=43][/topic]

[post=36051][/post]

This assumes, of course, that you don't need the users to interact with the icon while it <b>is</b> active.
Thanks for the tip, but I thought about that one as well. As I ment with "I also want to be confident that no extra files nor registry entries are added to the computer." I don't want to need to change the registry in any way, and I don't want any services/drivers needed to be loaded neither just so that a standard user with limited privileges still can use it.
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: DLL/API or any other way to customize execution

Post by B »

Uh, not sure what you're getting at here. First, you're aware that VNC servers normally install tons and tons of registry entries, right?

Second, did you see the part in the FAQ where it mentions using ultravnc.ini for the same disabletrayicon feature?

One of these should certainly work for your purposes, unless I'm still missing your point...
pecket
Posts: 7
Joined: 2010-05-27 14:29

Re: DLL/API or any other way to customize execution

Post by pecket »

B: You're right. I'm not explaining myself as literal as I should. I do not want any other files nor executables dumped to disk on the target machine, therefor a DLL would be perfect since it can easily be loaded directly from memory. Even an executable (with no external files) can be loaded directly into memory via a ghost process from my original executable so that would also be OK.

Everywhere I read I see that PCHW is depending on some driver that can cause issues with 64-bit Win7, as well as I'm being skeptic when I can't be sure that PCHW will be updated if an update for windows would mess it up. Coding everything from scratch is unthinkable due to time limitations, and buying for example TeamViewer costs a fortune. I also prefer using opensource products or at least applications based on them since they tend to live longer, and worst case scenario someone else can pick up where the previous developers quit.

Haven't found anything similar to the DLL from PCHW yet, and due to the fact that I need to customize the launching software quite heavily as well as my need for the functionality the repeater service offers, this seems like my best bet anyways.
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: DLL/API or any other way to customize execution

Post by B »

Okay, thanks, that's clearer. (It helps that I re-read your original post too. :) )

While the command line version you mentioned seemed to do the trick for you, I wouldn't be surprised if it were also putting up some registry entries. (I don't really know if it is or not.) While SCPrompt, the project, tries to be minimally invasive and it uninstalls itself upon closing, it certainly creates temp files as it first unpacks. Putting that command line in a batch file or compiled executable/script MIGHT be enough. But at least I understand now why you can't use the disabletrayicon keyword.

Unfortunately UltraVNC SC has always relied on more than one file (to the best of my knowledge) and the other VNCs haven't done much at all with single-click, so I don't have any suggestions... except to say that there are some Java implementations of a VNC or similar server, though that's a far cry from being able to call a single memory resident DLL. :(
pecket
Posts: 7
Joined: 2010-05-27 14:29

Re: DLL/API or any other way to customize execution

Post by pecket »

Seems that as long as I only use the viewer-executable from the SC-package, it doesn't write anything to the registry nor dump any files anywhere. If so, I've managed to fail to notice it. It's executed from memory as well so it's nearly all I need. If there was only an api for the viewer. I'm gonna keep digging.
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: DLL/API or any other way to customize execution

Post by B »

Seems that as long as I only use the viewer-executable from the SC-package,
Oh the VIEWER? I'm sorry, I thought you were talking about the server.

Yes, the <b>viewer</b> has traditionally been nearly entirely standalone and noninvasive as far as I know. Usually you can copy the vncviewer.exe from any VNC distribution and just use it.
User avatar
JDaus
Friend of UVNC
Friend of UVNC
Posts: 537
Joined: 2007-03-17 11:00
Location: Sydney, Australia
Contact:

Re: DLL/API or any other way to customize execution

Post by JDaus »

pecket wrote:Actually I had read somewhere about issues with Windows 7 but I guess these might've been solved already. I normally prefer open source because of its lifespan, development and the open source culture appeals to me more.

Edit: Is PCHelpWare even in development anymore? It looks like it's not when browsing the forums. Could as there as well, but it's just annoying if I start several new threads.
i have no idea of any issues that may exist with the product, as I have never actually used it, but just thought it may be an option for you to look at.

as for its development or lack of, try posting in the proper forum, as someone there should know ...
pecket wrote:Is development ceased? The size is quite a bit larger than the sc_prompt executable I used earlier but as long as it works I guess the clients for my friends company just have to live with it if that's my final solution.
if your talking about the scprompt app for all of the above, yes it is still in development. while there is still a need for it, I will develop it. but there isn't a development timeframe, and there never will be, its done as required / when time ...
pecket wrote:Seems that as long as I only use the viewer-executable from the SC-package, it doesn't write anything to the registry nor dump any files anywhere.
all the latest viewers (AFAIK) only write the connection history list to registry ... other the that, its portable ...
Last edited by JDaus on 2010-06-19 01:22, edited 1 time in total.
ask a silly question and remain a fool for 5 minutes...
don't ask, and remain a fool for life - JDaus 2003

without imperfections, neither you nor i would exist - Steven Hawkins
__
JD
SCPrompt - OpenSource Free Remote Screen\Desktop Sharing Solution
SecureTech.com.au
Post Reply