Evil Client
What is it?
The Evil Client is a replacement for the Cisco VPN Client GUI. The major feature is the ability to keep your VPN connection online all the time, i.e. the client automatically reconnects upon disconnection.
The protocol used to control the Cisco background service has been reverse engineered and is used to trigger VPN connections and to keep them online. Besides a secure storage mechanism for the VPN login credentials is provided.
Download
You can download the setup only or go for the complete source code.
If you have a feature request, find bugs or need any help with the Evil Client, contact me via mail or post in the forum.
How to use it
Using the Evil Client is pretty straight forward. Just install it and start it instead of the Cisco Client. For step-by-step usage instructions consult the documentation.
Screenshots
Changelog
03/16/2009 - v1.5.2
- Fixed: if secure storage was used, the user canceled the password dialog on startup and then tried to set a new password, the EC would crash
- Unified GUI - EC theme has been applied to the console window
- Setup now allows the user to keep existing settings when uninstalling (keep settings only appears if settings exist for current user)
12/19/2008 - v1.5.1
- Fixed: reconnect via command line now uses reconnect delay
- Added option for multi user install to setup
- Online update improved
- Other minor fixes
10/20/2008 - v1.5
- Added an option to force a reconnect after given amount of time elapsed (issue resolved)
- Added an option to delay an automatic reconnect for some time (issue resolved)
- Added mechanism to acquire a new IP which hasn't been used for a given amount of time; Evil Client will reconnect until new IP has been obtained (issue resolved)
- Added manual update check
- Improved: when switching to secure storage, all login credentials are automatically imported from the Cisco profiles if desired (issue resolved)
- Improved: canceling the master password dialog on statup doesn't turn off secure storage anymore; instead, the EC will ask on the next connection attempt for the password
- Fixed: Online upate now working again
- Online update stand-alone app has been removed; functionality is now integrated into the main app
- Many minor improvements and bugfixes
Old changelog (German)
v1.4.2 (05.11.2007):
- In kurzen Abständen aufeinanderfolgende Disconnect / Connect Befehle über die Kommandozeile funktionierten nicht
- Wenn bei bestehender Verbindung ein Profil ausgewählt wurde, zu dem noch nie eine Verbindung hergestellt wurde, konnte keine Verbindung hergestellt werden
- Neues EvilClient Anwendungsicon
v1.4.1 (29.08.2007):
- Ein Fehler beim Entschlüsseln der Cisco Profiles führte u.U. dazu, dass der EC beim Start abstürzte
- Unvollständig abgespeicherte Einwahldaten führten dazu, dass diese nicht richtig eingelesen wurden. Somit war eine Wiedereinwahl nicht mehr möglich
v1.4 (05.08.2007):
- Fehler beim Parsen der Kommandozeilenparameter gefixt
- Es kann immer nur eine Instanz des EC gestartet werden; Kommandozeilenbefehle werden per IPC an den EC weitergeleitet
- Evil Client Sourcecode nicht mehr im Setup, sondern im SVN Repository
- Inidatei liegt nun nicht mehr im Installationsverzeichnis sondern im $APPDATA Verzeichnis des aktuellen Benutzers
v1.3.2 (17.05.2007):
- Per Kommandozeilenparameter "-d" kann beim Starten eine bestehende Verbindung getrennt werden
- Version 5.x des Cisco Clients wird unterstützt
- Evil Client Sourcecode nun vollständig im Setup enthalten
v1.3.1 (14.03.2007):
- Per Kommandozeile kann beim Starten zu einem Profil verbunden werden (siehe FAQ-Eintrag)
v1.3 (11.03.2007):
- Alle Konfigurationsdaten (Profile, Passwörter, Einstellungen, etc.) werden nun in einer Inidatei abgespeichert (statt in der Registry)
- Parameterübergabe an Prozesse, die bei (Dis)Connect gestartet wurden, funktioniert nun; Im Childprocess werden Umgebungsvariablen gesetzt, die das aktuelle Profil, Subnetz und die zugewiesene IP enthalten (%VPNPROFILE%, %VPNSUBNET%, %VPNIP%); es kann festgelegt werden ob der Childprocess sichtbar ist oder nicht
- Beim Trennen des Netzwerks beendete sich der EC nicht immer korrekt
- Es kann eingestellt werden, ob die VPN-Verbindung beim Beenden getrennt werden soll
- Einige potentielle Buffyoverflows wurden gefixt
- Selten auftretender Fehler, der zum Absturz aufgrund einer Heap Corruption führte, wurde behoben; Evil Client "Engine" ist nun deutlich weniger fehleranfällig
- Etliche kleinere, nicht kritische Bugs wurden gefixt
v1.2 (02.11.2006):
- Automatischer Reconnect bei Verbindungsabbruch kann nun in den Optionen abgeschaltet werden
- Automatischer Updatecheck kann aus/angeschaltet werden
- Bei bereits bestehender Verbindung löst die Auswahl eines Profils automatisch einen Disconnect aus und es wird anschließend die (neue) Verbindung aufgebaut
- Mehrere Bugfixes (App, Setup, Onlineupdate) (darum auch Download des kompletten Setups notwendig!)
v1.1 (11.06.2006):
- Automatisches Online Update (integriert + eigenständige App)
- Secure Storage mit leerem Passwort jetzt möglich (Start ohne Eingabe eines Passwortes)
- Kleinere Bugfixes (App + Setup)
v1.0.2 (18.12.2005):
- Support für die neue 4.8er Version des Cisco Clients hinzugefügt
v1.0.1 (28.11.2005):
- Es werden nur noch korrekte Logindaten gespeichert, d.h. solche mit denen eine Einwahl mind. einmal gelungen ist. Das Speichern inkorrekter Passwörter/Benutzernamen führte dazu, dass man sich nicht mehr einwählen konnte
- Das Neustarten des Cisco Service funktioniert jetzt zuverlässiger. Ein Fehler trat auf, wenn der Service zwar gestartet wurde, selbiger aber den Socket noch nicht erstellt hatte, so dass der Evil Client keine Verbindung zum Service herstellen konnte
v1.0 (08.11.2005):
- Es werden alle 4.5er, 4.6er und 4.7er Versionen unterstützt!
- Der Evil Client bietet die Möglichkeit, ein Masterpasswort zu setzen, welches im Folgenden benutzt wird, um sämtliche User/Gruppenpasswörter sicher verschlüsselt abzulegen! Außerdem kann der EC nun auch Passwörter automatisch aus Cisco Profilen lesen und diese schreiben
- Es können externe Programme beim Connect bzw. Disconnect ausgeführt werden
- Debug Output auf der Konsole möglich
- Fancy GUI
v1.0 Beta 4 (30.06.2005):
- Einwahl mit beliebigem Profil jetzt möglich.
- Folgende Versionen des Cisco Clients werden unterstützt:
- 4.6.01.0045
- 4.6.02.0011
- 4.6.03.0021
No Changelog before v1.0 Beta 4



