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 dumpsys package com.le.package.a.extraire > app_detail.txt

Le fichier app_detail.txt regroupe maintenant toutes les infos qu’il a pu tirer sur l’application. C’est la ligne qui contient resourcePath qui nous intéresse, elle est dans le style :
resourcesPath=/data/app/com.le.package.a.extraire-1.apk

Maintenant on connait l’endroit où est localisé l’apk qui nous intéresse. Il 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



Installer rapidement une version manquante du Sdk android

10 03 2015

Yop ! Ça fait longtemps hein ? Et bien y’a pas de raison, voilà l’astuce du jour !

Comment faire pour installer rapidement sur Windows une partie du sdk Android et réaliser vos plus belles applications ?

Il suffit d’ouvrir une fenêtre d’invite de commande et taper :

android list sdk -a

Là vous obtenez la liste de toutes les versions disponibles, ça écrit un truc du genre :

1- Android SDK Tools, revision 24.0.2
2- Android SDK Platform-tools, revision 21
3- Android SDK Build-tools, revision 21.1.2
4- Android SDK Build-tools, revision 21.1.1
5- Android SDK Build-tools, revision 21.1
6- Android SDK Build-tools, revision 21.0.2
7- Android SDK Build-tools, revision 21.0.1

Ensuite, il suffit de lancer

android update sdk -a -u -t X

Où “X” est le n° de la ligne dans la liste précédente que vous voulez installer !

Oh yeah !



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.