Récupérer un apk installé sur un device Android

13 07 2016

Voilà un truc qui peut s’avérer utile :

Comment fait-on pour récupérer l’apk qui a servi à installer une application, et ce, sans rooter le téléphone de préférence ?

Pour ce faire, j’ai commencé par lister tout les packages installés, et je met cette liste dans un fichier texte :
adb shell pm list packages > app_installed.txt

Dans ce fichier, je cible le nom de package de l’app que je veux extraire, puis j’écris :

adb shell pm path package_a_extraire

Ce qui m’affiche le chemin vers l’apk de l’application. Maintenant qu’on connait l’endroit où est localisé l’apk,l ne reste plus qu’à l’extraire en tapant :

adb pull /data/app/com.le.package.a.extraire-1.apk C:\Temp

Et voilà y’a plus qu’à récupérer l’apk tant désiré dans le dossier temporaire !



Afficher le nom court des dossiers sur une invite de commande MS-DOS

11 09 2015

J’ai régulièrement besoin de connaître le nom court d’un dossier le problème est que je m’en souviens jamais. De temps en temps des logiciels ont du mal avec les espaces contenus dans les dossiers comme “C:\Program Files (x86)”.

Pour cela il existe une commande dont l’aspect visuel est presque aussi sale qu’une regex. Entrez simplement
for %I in (.) do echo %~sI
Et voilà ce que ça affiche c’est trop bien ! ><
C:\Program Files (x86)\Java>echo C:\PROGRA~2\Java
C:\PROGRA~2\Java



Supprimer MSOCache (Office 2007, Windows 7)

3 10 2012

Lors de l’installation de microsoft office 2007, les fichiers d’installation sont automatiquement copiés dans le dossier caché C:\MSOCache.

Cela permet de pouvoir modifier les logiciels de la suite installés après l’installation, sans avoir besoin du CD.

Auparavant (sur office 2003) il était possible de supprimer ces fichiers d’installation de manière sûre en utilisant l’utilitaire Nettoyage de disque (cleanmgr.exe). Lire la suite »



Fonction de debug JSON <textarea>

24 09 2012

Une fonction très utile qui affiche une variable encodée en JSON dans une <textarea> HTML

<?php
if( !function_exists('debugJSON') ){
	function debugJSON($var){
		echo '<textarea onclick="this.select();" cols="30" rows="10">{"var":'.htmlspecialchars(json_encode($var)).'}</textarea>';
	}
}
?>

Et la même mais en utilisant print_r :

<?php
if( !function_exists('debugPR') ){
	function debugPR($var){
		echo '<textarea onclick="this.select();" cols="30" rows="10">'.htmlspecialchars(print_r($var, true)).'</textarea>';
	}
}
?>

L’intérêt c’est de pouvoir rapidement copier le résultat dans un éditeur de texte histoire de voir le bordel en plein écran, plutôt que d’aller voir dans le code source de la page.



Désactiver Ctrl+Z (annulation) sur l’explorateur Windows 7

15 09 2012

Comme beaucoup de programmes, l’explorateur Windows (explorer.exe) dispose d’une fonction undo/redo qui permet d’annuler ou de rétablir les actions effectuées, comme par exemple renommer un dossier ou déplacer un fichier.

Le raccourcis pour annuler est Ctrl+Z, et pour rétablir c’est Ctrl+Y.

Cette fonction est très pratique sur un éditeur de texte, un navigateur web ou sur Photoshop, mais sur l’explorateur windows elle est souvent involontaire et intempestive.

Malheureusement il n’est pas possible de modifier les raccourcis clavier de l’explorateur windows pour ne plus faire ce raccourcis involontairement, mais il existe une solution : AutoHotKey.

J’ai déjà utilisé ce programme de macro dans un autre billet : Script AutoHotKey : ajout date/heure.

Voilà aujourd’hui un petit bout de code qui permet de bloquer le Ctrl+Z sur l’explorateur Windows :

#SingleInstance force
#NoTrayIcon 

#IfWinActive ahk_class ExploreWClass
^z::
	SoundPlay *-1
    ; MsgBox Ctrl+Z désactivé.
#IfWinActive ahk_class CabinetWClass
^z::
	SoundPlay *-1
    ; MsgBox Ctrl+Z désactivé.
return
#IfWinActive

Y’a plus qu’à mettre ça dans un fichier .ahk, et à le lancer au démarrage de windows (via une tâche planifiée par exemple, ou en le plaçant dans le dossier démarrage), et fini les emmerdes.

Source: http://superuser.com/questions/268159/disable-ctrlz-shortcut-or-clear-undo-history-in-windows-explorer



VB.NET ou C# : quelle est la différence ?

27 08 2012

Découvrez pourquoi VB.NET est un langage de con…

Avant d’expliquer les différences entre VB.NET et C#, voici un petit rappel historique.

Il y a fort longtemps, c’est à dire dans les années 90, l’une des solutions les plus utilisées pour développer des applications pour windows était le Visual Basic 6 (VB6), un langage inventé par microsoft en 1991.

À l’époque les gens utilisaient VB6 car c’était un langage assez simple comparé au C++ par exemple. Il faut dire que ni Delphi, ni Qt, ni même Java n’existaient, donc VB6 était une solution de développement intéressante.

Mais un beau jour, le monde a changé.

Chez microsoft, le monde a changé en 2001, avec la sortie du tout nouveau .NET Framework, qui allait révolutionner la manière dont on développe des applications sous windows, en offrant un ensemble de bibliothèques bien structurées et bien documentées, le tout fonctionnement sur une machine virtuelle (comme Java) : la CLR.

Microsoft a accompagné la sortie de son .NET Framework d’un tout nouveau langage de programmation destiné à devenir le langage de prédilection pour les développements en .NET : le C# (prononcer C sharp), un langage moderne, complétement orienté objet, à la syntaxe inspirée de celle du C et de Java. Lire la suite »



Script .bat de backup d’une table MySQL

29 07 2012

Voici un petit script .bat (Windows batch), qui permet de faire un backup d’une base MySQL (avec une table particulière si vous la précisez dans la commande).

Le backup est créé dans le même dossier que le script bat, et porte la date et l’heure dans son nom de fichier
ex: backup maBase maTable 2012-07-29_16h45m33.sql

:: Script de backup MySQL

:: Récupération de date/heure dans la variable datetime
echo off
set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
set year=%date:~-4%
set month=%date:~3,2%
if "%month:~0,1%" == " " set month=0%month:~1,1%
set day=%date:~0,2%
if "%day:~0,1%" == " " set day=0%day:~1,1%
set datetime=%year%-%month%-%day%_%hour%h%min%m%secs%

:: Backup avec mysqldump
mysqldump -u root -proot maBase maTable > "backup maBase maTable %datetime%.sql"

Il y a plusieurs points sur lesquels il faut faire attention (prérequis) :

  • Ne mettez pas d’espace autour de l’opérateur d’affectation (=), sinon windows ne les reconnaitra pas
  • Vous devez avoir un compte MySQL ayant un mot de passe, sinon un prompt va vous demander le mot de passe à chaque exécution
  • Il n’y a pas d’espace entre -p et le mot de passe, alors qu’il y en a un entre -u et le nom d’utilisateur, ne cherchez pas pourquoi c’est comme ça ^^
  • Le programme mysqldump.exe doit se trouver dans un dossier appartement au Path (variable d’environnement de Windows)
    ex: C:\EasyPHP5.2.10\mysql\bin


Créer un lien symbolique sur Windows, comme sur Unix

2 07 2012

Voilà une astuce qui va plaire à tout ceux qui font du développement web sous techno Apache (PHP entre autre…).

Vous connaissez peut-être les liens symboliques sous Unix (qu’on voit souvent sous la dénomination “Symlinks” dans la configuration Apache, ex: FollowSymLinks).

En fait un lien symbolique est un pointeur sur un fichier, complétement transparent pour les programmes qui l’utilise.

Si vous créez un lien symbolique vers /Applications/mondossier dans /Users/Vincent/monSymLink, et que vous ouvrez le dossier /Users/Vincent/monSymLink dans n’importe quel programme, tout va se passer comme si ce dossier /Users/Vincent/monSymLink existait vraiment, ça n’est pas juste une redirection vers /Applications/mondossier, c’est le même dossier accessible depuis 2 liens différents.

Sous Windows cette fonctionnalité n’existait pas, en effet les raccourcis Windows sont juste des redirections qui ne fonctionnent en gros qu’avec l’explorateur Windows, mais pas au niveau du système de fichiers.

N’existait pas, car depuis Windows Vista, Microsoft a enfin introduit la gestion des liens symboliques dans son système d’exploitation, via la commande mklink :

mklink /D /H /J [LINK NAME] [TARGET]

/D : pour créer un lien de type dossier, vers un dossier (symlink)
/H : pour créer un lien de type fichier, vers un fichier (hardlink)
/J : pareil que le hardlink mais pour les dossier (junction)

Il faut vous placer dans le dossier où vous voulez créer le raccourcis avant, puis exécuter la commande.

Exemple :

cd "C:\test-mklink\"
mklink /H monLien.txt "C:\Users\Vincent\Desktop\monFichier.txt"

Pour plus d’info sur tout ça, je vous invite à lire ma source :
http://ipggi.wordpress.com/2009/09/07/windows-file-junctions-symbolic-links-and-hard-links/



MySQL : logger les requêtes SQL

14 06 2012

Sur MySQL il n’existe pas d’outil de profilage comme SQL Server Profiler sur le SGBG homonyme.

Mais pas contre on peut logger toutes les requêtes SQL reçues par le serveur dans un fichier. Pour cela c’est très simple, il suffit de configurer les variables general_log et general_log_file.

Voici comment afficher ces 2 variables pour connaître leur valeur actuelle :

SHOW VARIABLES LIKE "general_log%";

Et voilà comment modifier leur valeur (par exemple) :

SET @@global.general_log = 'ON';
SET @@global.general_log_file = 'C:\\mysql.log';

N.B. Pensez à échapper les antislash avec un 2éme antislash dans le chemin du fichier.

La modification ne sera effective que pour la session actuelle. Si vous redémarrez le serveur MySQL, la valeur initiale de ces 2 variables sera restaurée. Si vous voulez conserver ces paramètres de façon permanente, il faut modifier votre fichier de configuration my.ini.



Accélérer ou ralentir un jeu flash (cheat)

26 05 2012

Ce billet va plaire à tous les gros tricheurs sans scrupule.

Certains jeu flash basés sur l’adresse, la rapidité ou la précision seraient plus faciles à jouer si ou pouvait ralentir la vitesse du jeu.

À l’inverse, d’autres jeux sont un peu longs (surtout au début du jeu), comme certains tower defense ou autre jeu de stratégie.

Bref, j’ai une astuce qui permet de modifier la vitesse d’exécution de n’importe quel jeu flash à l’aide du programme Cheat Engine.

Ce programme sert en fait à “hacker” flash player, pour ceux que ça intéresse il permet même d’éditer des valeurs contenues dans la mémoire (RAM). Du coup on peut par exemple éditer son score à tout moment, ou modifier la quantité d’argent à n’importe quel instant !

Pour en revenir à la vitesse, le principe est très simple : vous lancez votre jeu flash dans un navigateur (Firefox par exemple), et vous lancez Cheat Engine en parallèle.

Dans Cheat Engine, vous cliquez sur le bouton qui clignote en vert en haut à gauche : “Select a process to open“. La liste des programmes en cours d’exécution s’affiche, cherchez votre navigateur (Firefox), puis cliquez sur Open.

Ensuite cochez la case Enable Speedhack à droite, et entrez le facteur souhaité (1 étant la vitesse de jeu normale, si vous mettez 2 ça ira 2 fois plus vite, si vous mettez 0.5 ça ira moitié moins vite).

NB: souvent vous verrez plusieurs processus correspondants à votre navigateur, essayez les tous jusqu’à trouver le bon (celui qui agit sur le jeu flash).