Exporter une application android en APK

Pour exporter une application installé sur téléphone Android il faut commencer par activer les options de développeur. Je précise que je vais effectuer la manip sur un téléphone en Android 10. La manipulation reste relativement similaire sur les autres version.

  • Trouvez le menu suivant :
    Paramètres -> A propos du téléphone -> Version -> Numéro de version
  • Pressez la touche « Numéro de version », 5 fois, cela va activer les options développeur.

Continuer la lecture de Exporter une application android en APK

Créer une instance dans le style DALL·E 2 ou midjourney en local

La solution se nomme stable diffusion, il s’agit d’une intelligence artificielle qui génère des images en fonction de ce que vous décrivez en langage naturel ou depuis une image source de référence par exemple.

Elle utilise pour sa version en web-ui Python 3.10.6 uniquement.

Pour une installation sous Windows :

  • Installer Python 3.10.6 avec l’option d’ajout du Path python au système.
  • Installer git sur votre poste.
  • Puis faire un ; git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git.
  • Il vous suffit de lancer le webui-user.bat depuis un explorateur windows, il va installer les dépendances automatiquement.

Continuer la lecture de Créer une instance dans le style DALL·E 2 ou midjourney en local

Configurer SSL Bump sur Squid 5

La procédure détail comment mettre en place le SSL bump sur squid 5. Le travail se fait sur Ubuntu 20.04. Cela permet de déchiffrer à la volée les requêtes en https afin de permettre leur analyse. Cela est utile dans le cadre professionnel afin de permettre l’analyse anti virus à la volée.

On démarre la procédure en téléchargeant les sources de squid et en préparant la compilation avec les options qui vont bien. Les trois options à ne pas oublier sont : –enable-ssl –with-openssl –enable-ssl-crtd

git clone https://github.com/squid-cache/squid.git && \
cd squid && git branch -r && git checkout v5 && ./bootstrap.sh && mkdir build && cd build && \
../configure --prefix=/opt/squid --with-default-user=proxy --enable-ssl --with-openssl --enable-ssl-crtd --disable-inlined \
--disable-optimizations --enable-arp-acl --disable-wccp --disable-wccp2 --disable-htcp \
--enable-delay-pools --enable-linux-netfilter --disable-translation --disable-auto-locale \
--with-logdir=/opt/squid/log/squid --with-pidfile=/opt/squid/run/squid.pid

La préparation à la compilation est terminée, on peut lancer la compilation, ca peut prendre un peut de temps en fonction de la config de la machine

sudo make && sudo make install

Quand c’est terminé on peut lister les éléments

ls -la /opt/squid

Continuer la lecture de Configurer SSL Bump sur Squid 5

Lancer un script python3 en service

cette procédure est réalisée sous ubuntu 20.04, ca doit fonctionner sous Debian 10 modulo quelques syntaxes qui peuvent varier (non testé). Cette procédure peut être utilisée dans le cas ou on souhaite faire re-démarrer automatiquement un script python3 en cas de crash ou simplement démarrer un script à l’allumage d’un serveur. En cas de reboot le script va démarrer automatiquement en tant que service géré par systemd.

Je pars du principe que vous êtes en root.

On démarrer par créer un fichier de service

nano /etc/systemd/system/monservice.service

Continuer la lecture de Lancer un script python3 en service

Introduction à kubernetes

Qu’est ce que Kubernetes ?

C’est un orchestrateur de container, il permet de d’automatiser le déploiement des applications en container. (Architecture dynamique) Il est open source.
kubernetes va gérer le bon fonctionnement de nos applications via la déclaration d’un « état souhaité » (nombre de CPU, RAM, réplicat ext …)

Avantages :
Vitesse de déploiement, notion de micro service
Capacité à absorber rapidement les changements
Capacité à récupérer rapidement (Perte de l’état souhaité, correction rapide)
Abstraction de la complexité du cluster, charge à l’administrateur de définir l’environnement pour le développeur qui peut se concentrer sur l’application.

Principe de Kubernetes
On va définir notre application kubernetes dans une configuration déclarative (état souhaité ou manifeste). Suite à cela Kubernetes va tout mettre en œuvre pour conserver l’état inscris dans notre déclaration.(Via les objets contrôleurs, qui vont vérifier régulièrement l’état du cluster)
A l’opposé de ce mode de fonctionnement actuellement on travail de façon impérative. (Administration manuel d’un SI, ajout de ressources CPU/RAM ext …)
On va pouvoir interagir avec Kubernetes via son serveur API.

Principe de l’API Kubernetes

Kubernetes est constitué d’une collection de primitives qui représentent l’état du système.
Pour intéragir avec Kubernetes on va passer par l’API RESTful qui s’exécute en HTTP ou HTTPS via le format JSON stocké dans une BDD interne.

Quelques objets de Kubernetes

  • POD : Un seul ou plusieurs container que l’on va déployer comme une « unité »
  • Contrôleur : Permette de maintenir notre cluster dans l’état souhaité
  • Service : Fournisse un point d’accès permanent dans l’application
  • Stockage : Appelé volume, cela permet de stocker les données de façon persistantes

Détail sur les PODS
Un POD est une unité de travail élémentaire (la plus petite pour kubernetes), il peut contenir un ou plusieurs container. Kubernetes va gérer notre POD, pas le container. Il va contenir notre application. Si le container interne au pod disparait, le POD disparait avec lui, même réaction dans le cas d’un POD multi container.
Le travail de Kubernetes sera donc de garder en état de fonctionnement notre POD, il va suivre son état. On va utiliser des sondes d’activité afin de surveiller le bon fonctionnement de notre application, « Liveness Probes ». (Ping vers un serveur WEB par exemple pour vérifier la bonne réponse du serveur WEB dans le POD)

Continuer la lecture de Introduction à kubernetes

Retrouver un mot de passe de wallet bitcoin en bruteforce GPU

L’avantage d’un bruteforce GPU est qu’il est beaucoup plus efficace que par CPU, l’outil présenté ici gère les deux mais je vais ajouter une courte procédure afin d’installer le dépendance pour faire tourner le tout en GPU sous Windows 10 pour une version en X64.

On va utiliser le projet btcrecover.py disponible sur : https://github.com/gurnec/btcrecover

L’outil supporte un grand nombre d’options de récupération qui va d’une seed à une clé privé d’un wallet bitcoin core (wallet.dat)
Dans le billet je vais présenté une procédure pour retrouver une clé privé d’un wallet.dat extrait depuis bitcoin core.
Pour le tuto j’utilise git bash : https://gitforwindows.org/

Continuer la lecture de Retrouver un mot de passe de wallet bitcoin en bruteforce GPU