Xevia

Un crack pour CamStudio

CamStudio est un logiciel d'enregistrement vidéo. Il permet de faire des captures de l'écran en .avi ou .swf et sous plusieurs codecs différents. Il est très utile pour la création de tutoriaux vidéos. Sa flexibilité et le fait qu'il soit gratuit font de ce programme une référence dans son domaine.

Télécharger CamStudio en Français (lien externe).
Télécharger CamStudio (site de l'éditeur).

Mais si CamStudio est gratuit, pourquoi avoir créé un crack ? En réalité, il ne s'agit pas d'un crack ayant pour but de pirater une éventuelle protection anti-copie du logiciel, mais plutôt un "crack-patch" permettant de "corriger" un défaut de CamStudio.

Lorsqu'on crée un tutoriel vidéo, on utilise généralement la capture plein écran. Un défaut très désavantageux dans ce cas là est l'apparition d'une fenêtre "Flashing" dans la barre des tâches :

Flashing

En effet il n'y a rien de plus désagréable que de voir cette trace de fenêtre polluer tout un enregistrement ! Bien sûr, à la base, l'intention des éditeurs de CamStudio était seulement d'informer l'utilisateur qu'effectivement, CamStudio est bien en train d'enregistrer. Cela explique pourquoi il n'y a aucune option permettant de gérer le problème.

Un premier "crack" de base

N'ayant pas trouvé de solution "soft" pour me débarasser de cette fenêtre invisible, je passe à la solution "hard" : le crack ! Plutôt que d'aller fouiller les entrailles du programme, on va plutôt créer un programme qui agira à distance sur CamStudio.

Je démarre Visual Studio, c'est parti ! N'importe quel autre compilateur C/C++ supportant WinAPI fera l'affaire.

[C/C++]
#include <windows.h>

INT WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,INT)
{
HWND hWindow = FindWindow(NULL,L"Flashing");
if(hWindow)
ShowWindow(hWindow,SW_HIDE);
else
MessageBox(0,L"Crack error : Window not found.",L"CamStudio Crack",0);
return 0;
}

Exceptionnellement, je n'expliquerai pas en détails le fonctionnement et le déroulement du code. Pour faire simple, le crack recherche la fenêtre "Flashing" parmi celles du système, puis s'il l'a trouvé, la cache (fermer simplement la fenêtre entraîne des bugs d'affichage sur l'écran).

Ce premier crack doit s'exécuter lors de l'enregistrement, lorsque la fenêtre "Flashing" est visible dans la barre des tâches. Une fois sa tâche accomplie, il se termine. Vous l'aurez compris, ce n'est pas très pratique car il faut réexécuter le crack à chaque enregistrement et surtout couper la partie de la vidéo où on voit la fenêtre "Flashing".

Avec une boucle

Cette deuxième version du crack permet de faire une boucle infinie et d'empêcher l'apparition de la fenêtre gênante. Ainsi, il suffit d'exécuter une seule fois le crack avant d'enregistrer et le "Flashing" demeure invisible sur toutes les captures vidéos.

[C/C++]
#include <windows.h>

INT WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,INT)
{
HWND hWindow;
while(true)
{
hWindow = FindWindow(NULL,L"Flashing");
if(hWindow)
ShowWindow(hWindow,SW_HIDE);
Sleep(5);
}
return 0;
}

Ici, à chaque cycle de la boucle, le crack recherche la fenêtre portant le nom "Flashing" et la cache immédiatement. Vous remarquerez l'utilisation de Sleep(5) qui permet de faire une pause de 5 millisecondes et de libérer des ressources CPU (le taux d'utilisation avoisine 0%).

L'appelation "crack" n'est pas vraiment appropriée ... c'est un crack dans le sens où il bloque ou contourne des fonctionnalités mises en place par un programme, mais ce n'en est pas un dans le sens où il ne casse aucune protection. Finalement, on devrait plutôt parler de "crack-patch" : un patch non officiel qui agit à la manière d'un crack.

Téléchargements

Télécharger l'exécutable.
Télécharger les sources et l'exécutable.

Copyright (c) Xevia Corporation. Nous contacter.
Valid XHTML 1.0 StrictValid CSS 2.1
Ce site respecte les normes W3C XHTML 1.0 et CSS 2.1. Attention : la compatibilité avec Internet Explorer 6 et les versions antérieures n'est pas garantie.