A client recently asked us to look into an issue accessing their DVR via web browser. They have an 8 camera system and have been disappointed with the fact that they are unable to access the system through their network other than with the straight closed circuit TV feed.
The DVR system itself (and excuse my ignorance, this is not an area I work in often) appears to be a generic Chinese system that contains an embedded webserver which asks the accessing browser to download and install a small plugin in order to function with the system.
Upon first access a message appears prompting the user:
The installation appears to complete successfully, and once done the user is presented with a login screen.
The login screen functions to some degree. If you enter an invalid username/password combination a dialog appears warning of a “username or password error”. So we know we are getting communication back to the DVR user database.
Entering valid credentials starts a wheel spinning in the middle of the screen, and after about 10 seconds, the browser tab closes and then recovers itself and logs an unhandled exception error in the application log:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Time: 3:06:26 PM
Faulting application iexplore.exe, version 8.0.6001.18702, faulting module WebClient.ocx, version 18.104.22.168, fault address 0x00054661.
The installation process places a couple of files (“WebClient.ocx” and “WebClient.inf”) into the “C:WindowsDownloaded Program Files” directory.
This behavior has been consistent across multiple workstations using multiple browser versions (and on top of that the login page does not function at all with newer versions of IE or Chrome). I spent quite a bit of time trying to determine the root of the issue, and also looking for an updated “Webclient.ocx” file from the “Shenzhenshi PengAnTai Electronics Co. Ltd.” people.
Eventually I had to conclude that the embedded files on the DVR web server were either extremely out of date, or possibly corrupt.
I asked the company who provided the DVR if it were possible to install a firmware upgrade (or replacement) on the system itself. This did not appear to be possible (I still am not sure why).
So, as a “shot in the dark” I decided to see if Google could help me locate another DVR system exposed to the Internet so I could obtain an alternate browser plugin.
Through searching with various keyword combinations, I came upon a site called “herdprotect.com” that has a listing of files available on the Internet which have been scanned for viruses. This led me to a “WebClient.exe” file from the good people at “Shenzhenshi PengAnTai Electronics Co. Ltd.” available for download at a random IP address.
I downloaded this file locally (scanned it of course) and it appeared to be an archive. Using 7-zip, I was able to extract the 4 files within.
The setup and uninstall .cmd files were essentially just regsvr32 registration or un-registration lines for the 2 dll files (with no path listed).
So, I copied the 2 DLL files into C:WindowsSystem32, and removed the original “WebClient.ocx” and “WebClient.inf” files from the “C:WindowsDownloaded Program Files” directory. Next, I manually registered the “npwebclient.dll” and “lib_VoiceEngine_dll.dll” files.
I then re-launched the browser, and to my surprise I had full access to the camera system!
In my diagnostics I did come across many forums where people were experiencing the webclient.ocx causing Internet Explorer to crash. Although I consider this more of a band-aid fix than a proper solution (which should be dealt with by the DVR vendor or manufacturer), I am hoping this article can be of use to anyone experiencing this issue that really just needs access to their camera system.