Unattended Kaspersky 2010- ein Fenster lässt sich nicht automatisieren

  • Hallo,
    zuallererst mal ein dickes Dankeschön an die Entwickler von autoit :thumbup:
    Die nächste Amazon- Bestellung geht über euch!
    Der ganze Kack, der für viel Geld überall zu finden ist, taugt einfach nix ^^


    Ich hatte zuerst mit einem Programm namens Almeza in der Testversion gearbeitet- dies war sehr fehlerhaft und lief nicht auf verschiedenen Rechnern.
    Mein Projekt ist eine unattended install von Kaspersky internet- security 2010.

    Nur einen Dialog konnte ich bisher noch nicht automatisieren, da er aus einem Rahmen besteht.
    Unter/Control existiert nur eine ID.


    Hier der screenshot [Blockierte Grafik: http://www.abload.de/img/screeniecbzh.jpg]

    Wir installieren bei den Kunden antispam und die Kindersicherung nicht, das soll also deaktiviert werden.
    Kann ich das irgendwie ohne die Buttons hinbekommen ?

    Im spoiler ist noch mein source- falls es euch interessiert.
    Ich habe das Hauptsetup "kis9.0.0.736de" entpackt, um an die setup.exe zu kommen.

    Danke fürs lesen.


    Spoiler anzeigen

    run("setup.exe")
    WinWait("Kaspersky Internet Security 2010","Willkommen beim")
    WinActivate("Kaspersky Internet Security 2010","Willkommen beim")
    ControlClick("Kaspersky Internet Security 2010","Willkommen beim",306,"left")
    ControlClick("Kaspersky Internet Security 2010","Willkommen beim",313,"left")

    WinWait("Kaspersky Internet Security 2010","Lizenzvertrag")
    WinActivate("Kaspersky Internet Security 2010","Lizenzvertrag")
    ControlClick("Kaspersky Internet Security 2010","Lizenzvertrag",313,"left")


    WinWait("Kaspersky Internet Security 2010","Kaspersky Security")
    WinActivate("Kaspersky Internet Security 2010","Kaspersky Security")
    ControlClick("Kaspersky Internet Security 2010","Kaspersky Security",313,"left")


    WinWait("Kaspersky Internet Security 2010","Installationsordner")
    WinActivate("Kaspersky Internet Security 2010","Installationsordner")
    ControlClick("Kaspersky Internet Security 2010","Installationsordner",313,"left")

    WinWait("Kaspersky Internet Security 2010","Programmkomponenten")
    WinActivate("Kaspersky Internet Security 2010","Programmkomponenten")
    ControlClick("Kaspersky Internet Security 2010","Programmkomponenten",313,"left")

    Einmal editiert, zuletzt von ka0t (19. November 2009 um 08:52)

  • ich glaube das geht gar nicht.
    wie du schon festgestellt hast, gibts keine IDs.
    ich hatte mal den weg mit einem positionsklick nach koordinaten versucht ...
    das war aber im kaspersky menü... also als er installiert war... selbst das ging nicht.
    die ursache ist, dass KiS ein DLL-hooking vornimmt.
    du müsstest also erst ein unhooking vornehmen, was recht kompliziert ist.
    ich glaube nicht das das mit reinem AutoIT zu realisieren ist.

  • Rumbastelei an dlls ist eine der wenigen Dinge die ich noch nie gemacht habe- ehrlichgesagt glaube ich auch nicht, dass ich als Einsteiger einer Funktion, die anscheinend eine unatttended verhindern soll ,manipulieren kann.
    So leicht werde ich den Programmierern von kaspersky kein Ei ins Nest legen können :P
    Eigentlich macht das ganze auch Sinn- ansonsten könnte man mit einem solchen script später nen uninstaller aufrufen, der klammheimlich alles
    runterpfeffert.
    Wenn die dll- Datei auf Integrität geprüft wird- was ich an Stelle der Jungs von Kaspersky sicherlich getan hätte- ist es schon aus -.-
    Bei einigen Schritten ist es auch unmöglich diese per Fernwartung einzustellen (in der workstation- Version)


    Mit den Koordinaten werde ich es nochmal probieren- vieleicht habe ich ja Glück.

    Bei kis 2009 war das noch sehr easy- einfach eine setup.ini und eine istall.cfg in einen Ordner mit der setup.exe und diese mit /QN ansteuern.

    Das setup ist mein zweites, welches ich mit autoit geschrieben habe.
    Wahrscheinlich gibt es noch jede Menge zu erlernen, um wirklich professionelle Installer mit autoit zu erstellen.

  • na ja, ich weiss nicht wie fortgeschritten das hooking bei dem installprozess schon ist ...
    ich meine aber es müsste schon aktiv sein, sonst würde es ja gehen.
    weiterhin hier mal ein beitrag zum thema KiS sicherheit aushebeln:

    To get past Kaspersky as well as other advanced security suites, it is vital to unhook KERNEL Api's. However all access methods to the kernel from usermode is monitored, thereby it is next to impossible to get to the Kernel and manipulate it without getting at least ONE warning message.

    ^^und du kannst die warnmeldungen nicht automatisieren eben wegen dem hooking :P

  • Okok :D
    Dann lassen wir das mal beiseite.
    Mein script wartet jetzt auf die manuelle Einstellung der Komponenten in dem Fenster das man im screenshot sieht.

    Danach geht es noch ein paar Schritte weiter- dann ist aber leider auch wieder Feierabend :evil:

    Das Problem: die setup.exe (habe ich anfangs mit dem script gestartet) ist für die Programmschritte "Aktivierung" etc. nicht mehr zuständig.
    Von der dafür zuständigen avp.exe existieren zwei Prozesse mit verschiedenen PIDs.
    Die nochmal zu starten kann ich natürlich nicht, da sie als Systemprozess laufen.

    Ich bräuchte irgendeinen Befehl der meinem script sagt, das es in der avp.exe nun die Einstellungen zu machen hat.
    In einer autoit- Zusammenfassung habe ich bereits gelesen- leider weiss ich nicht welchen der vielen Befehle, die in der Zusammenfassung erwähnt sind, ich dafür nehmen könnte.

    • Offizieller Beitrag

    Also mit ein wenig google hab ich das gefunden:

    start /wait %systemdrive%\Install\KASPERSKY\KSPRSKY.exe /S /V" /QN

    Das sind die Silent Switche für eine unbeaufsichtigte Installation.

    Den Key und die Settings würde ich danach aus eineer fertigen Installation extrahieren und dann per Skript importieren.
    Alles ohne Gewähr, ich mag KIS nicht besonders. ^^

  • Leider ist das nur bei der Workstation- Version möglich. Diese hat auch ein admin- kit zur Verfügung, welches sehr komfortabel ist. Ich habe es zwar geschafft das ganze unattended zu installieren- werden einzelne Komponenten wie das antispam- Modul nachträglich deinstalliert, meckert das Programm rum, dass nicht alle Komponenten aktiv seien. Mit dem support habe ich auch schon gesprochen und in deren Forum auf englisch nachgefragt. Mein Thread im Forum ist geclosed worden mit dem Argument man wolle mich nicht unterstützen, da es keine offizielle Programmfunktion ist. In der Kis 2009 konnte man noch eine setup.ini und eine install.cfg in den Setupordner ablegen und gut wars ...

  • Ich habe wieder ein bisschen Zeit daran weiterzuarbeiten... - nun habe ich ein kleines Problem weitere Klicks zu automatisieren- der Prozess avp.exe öffnet sich nach dem gezeigten Schritt erneut und bekommt eine zufällige PID zugewiesen. Da der Prozess nun eine andere hat als der von autoit bis dahin kontrollierte, gehen die control-clicks ins leere.
    Kann ich es irgendwie schaffen, das autoit von dem einen Prozess in den neu gestarteten übergeht und dort weiter klickt ?

  • Den ausgelesenen Wert müsste ich dann der exe irgendwie übergeben
    Danach müsste das laufende script auf die andere avp.exe "switchen". Am Besten wäre es zuvor die PID des ersten Prozesses zu haben, denn dann könnte ich eine if- Abfrage einbauen, damit er nicht zuerst die pid des alten Prozesses zurückgegeben bekommt und versucht dort aktiv zu werden.