mercredi 18 décembre 2019

How to send a SMS with ADB SHELL

I have just read the following topic on Stackoverflow (click to view it) and I have made a test on my Samsung J6+ mobile phone and it works perfectly.

Here is the way to send a SMS through ADB SHELL (Android Debug Brigde) :
adb shell service call isms 7 i32 0 s16 "com.android.mms.service" s16 "+33122334455" s16 "null" s16 "Hey\ you\ !" s16 "null" s16 "null"
Wouldn't that be a good idea do have an PC application that uses this feature to send mass sms ?

vendredi 13 décembre 2019

How to set current date and time in a request in SoapUI ?

If you need to set the current date and time in a request while using SoapUI for testing a service (eg. a RESTful POST call), then you can click this link to get the basic info about how to do that very easily.

On the above link, the current date only is set, but here is the improvement needed to also have the current time in the request :

"${=def now = new Date();now.format("yyyy-MM-dd HH:mm:ss")}"

Here is a sample of a full resquest that includes the current date and time that is sent to the server in a RESTful POST request :

{
   "payments":[
   ],
   "date":"${=def now = new Date();now.format("yyyy-MM-dd HH:mm:ss")}",
   "depositPaymentMode":{
      "id":"2519386551735787230",
   },
   "bankAccountData":{
      "id":19,
   },
   "total":1954.08,
}



jeudi 12 décembre 2019

Règles de confidentialité PoneyVid Audio Recorder et Android Humoristes FR

PoneyVid Audio Recorder ne démarre l'enregistrement du microphone de l'Android uniquement sur la demande expresse de l'utilisateur.

Cette application permet d'enregistrer rapidement et discrètement une conversation.

L'enregistrement démarre quand l'utilisateur clique sur Start et s'arrête quand l'utilisateur clique sur Stop.

Après le démarrage d'un enregistrement, l'utilisateur peut sortir de l'application, et l'enregistrement continue de s'effectuer en tâche de fond même si le téléphone se vérouille.

dimanche 17 novembre 2019

Ubuntu / Kali : Installer le front-end web pour bettercap

Par défaut quand on installe bettercap sur Kali Linux, on peut démarrer l'interface web mais cette dernière ne s'affiche pas quand on essaie d'accéder à l'url 127.0.0.1 dans Firefox... A la place de la page de login on voit une belle erreur 404... Car en fait, par défaut, le serveur web de bettercap n'est pas installé et il est alors nécessaire de lancer la commande suivante "sudo apt-get install bettercap-ui" pour ensuite avoir la possibilité d'utiliser la fonction "sudo bettercap -caplet http-ui" !

Have fun !

vendredi 15 novembre 2019

Ubuntu / Kali : Rechercher et supprimer des fichiers

Afin de rechercher et supprimer des fichiers en ligne de commande sur un système d'exploitation Linux Ubuntu (comme par exemple Kali Linux), il suffit d'exécuter la commande suivante :

find / -name *.log -exec rm {} +

Dans l'exemple ci-dessus, on demande au système de rechercher tous les fichiers du système comportant une extention ".log" et de supprimer automatiquement le fichier.

Le premier paramètre "/" signifie qu'on lance la recherche à partir de la racine du disque en cours.

mardi 5 novembre 2019

How to exploit the BlueKeep vulnerability ?

Here is an interesting article for those who need to investigate and exploit the BlueKeep vulnerability that affects Windows server systems :

https://pentest-tools.com/blog/bluekeep-exploit-metasploit/

You will also find valuable information about this exploit at  the following URL :

https://github.com/rapid7/metasploit-framework/pull/12283


mardi 15 octobre 2019

How to get phone contact data in Kotlin (Android programming)

Here is the way to adopt to get data from phone contacts, in Kotlin programming for Android devices :

https://gist.github.com/reuniware/53cbee352341a098c3f875d60cd79c55#file-get_contact_web_url-kt

This can be improved but this will be a good starting point for you if you need to implement this functionality in your application development.


mardi 24 septembre 2019

Android FileSearch now allows to search files and folders :)

Android FileSearch now allows to instantly search for files and folders on Android.

It also allows you to browse the filesystem, rename and delete files and folders, view text files and force the view of files in text format. You can also view (by default) the first 1024 bytes of any files if it is not a text file.


You can download it from Google Play Store by clicking here.

Alternative link on Github by clicking here.

Direct download from Sourceforge by clicking here.


Here are some screenshots :




lundi 23 septembre 2019

How to generate logo resources for your Android app

In order to generate logo resources for your Android application, you can use the following tool at the link :

https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html#foreground.type=clipart&foreground.clipart=android&foreground.space.trim=1&foreground.space.pad=0.25&foreColor=rgba(96%2C%20125%2C%20139%2C%200)&backColor=rgb(68%2C%20138%2C%20255)&crop=0&backgroundShape=square&effects=none&name=ic_launcher




How to retrieve the Sqlite database of an Android application to your computer (Windows/Linux)

In order to retrieve the database from the Android device to your computer, use the following commands :

adb exec-out run-as your.package.name cat /data/data/your.package.name/databases/yourdatabasename.db > C:\DestinationFolderOnYourComputer\yourdatabasename.db

adb exec-out run-as your.package.name cat /data/data/your.package.name/databases/yourdatabasename.db-shm > C:\DestinationFolderOnYourComputer\yourdatabasename.db-shm

adb exec-out run-as your.package.name cat /data/data/your.package.name/databases/yourdatabasename.db-wal > C:\DestinationFolderOnYourComputer\yourdatabasename.db-wal

Then you can open the database on your computer by using SQLiteDatabaseBrowser for example.

How to start the video recording of your Android device from adb shell

In order to start the video recording of your Android device from the command line on Windows or Linux, just use the following command :

adb shell screenrecord /sdcard/tmp.mp4

Then you have to press CTRL+C to stop the recording, and to retrieve the file to your computer, use the following command :

adb pull /sdcard/tmp.mp4


How to get logs from Android to a computer (Windows or Linux)

In order to get the logs from your Android device to your computer, just use a command of the following form :

adb logcat > C:\tmp\log.txt

Or

adb logcat your.package.name:I > C:\tmp\log.txt


How to uninstall a package from an Android device with adb shell

If you need to uninstall a package (an application) on your Android device, from the Windows or Linux command line, through ADB (Android Debug Bridge), just use a command of the following form :

adb uninstall com.your.package.name


jeudi 19 septembre 2019

New application "Android File Search"

Android File Search is a new file browser application for Android.

It allows you to browse the filesystem, rename and delete files and folders, view text files and force the view of files in text format. You can also view (by default) the first 1024 bytes of any files if it is not a text file.


You can download it from Google Play Store by clicking here.

Alternative link on Github by clicking here.

Direct download from Github by clicking here.


Here are some screenshots :




vendredi 30 août 2019

How to add AppCenter support to your Android Kotlin Project.

In order to be able to receive information about your Kotlin project in the AppCenter.ms consoles, in your Android project, in the MainActivity activity :

1- Import the following libraries :

import com.microsoft.appcenter.AppCenter
import com.microsoft.appcenter.analytics.Analytics
import com.microsoft.appcenter.crashes.Crashes

2- Enable Appcenter with the following line of code in the onCreate overrided method :

AppCenter.start(getApplication(), "eeeeeeee-xxxx-yyyy-zzzz-aaaaaaaaaaaa",Analytics::class.java, Crashes::class.java)

3- Don't forget to replace the key by the one generated for your account in AppCenter ("eeeeeeee..." by the new one)

4- In App/build.gradle file, add :

dependencies {
    def appCenterSdkVersion = '2.3.0'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}

That's it !


lundi 22 juillet 2019

Comment miner facilement du Monero (et beaucoup d'autres cryptomonnaies).

Il peut-être intéressant de miner du Monero (XMR) ou encore du Bytecoin (BCN). Ces crypto-monnaies pourraient prendre de la valeur à l'avenir et pourquoi pas vous rapporter plusieurs fois votre capital.

Afin d'obtenir du Monero, du Bytecoin ou toute autre monnaie virtuelle, sans dépenser un euro, on peut par exemple utiliser le logiciel fourni par l'entreprise MinerGate qui permet de miner sur un ordinateur de type PC.

Il est aussi possible de miner ces crypto-monnaies depuis des téléphones Android, mais la version de Minergate pour Android la plus récente ne le permet plus, et il faut alors utiliser une version téléchargée sur le web.


mardi 4 juin 2019

Android CryptoView available now on AppAgg

Click on the following link to download it (redirection on AppAgg) :



CryptoView / Android — AppAgg


Android CryptoView is now available on Amazon Store

Since today, the cryptocurrencies realtime quotes viewer is available on Amazon Store.

Get it now by clicking here

This Android application displays realtime quotes for the following cryptocurrencies :

Bitcoin, Ethereum, Cardano, Bitcoin Cash, Binance Coin, EOS, Ethereum Classic, ICON, MIOTA, Litecoin, NEO, Ontology, Qtum, TRON, TrueUSD, VeChain, Stellar Lumens, Ripple.

Android CryptoView disponible sur Amazon Store

L'application Android CryptoView est désormais disponible sur l'Amazon Store sur le lien suivant :

https://www.amazon.fr/s?k=cryptoview

Cette application vous permettra d'obtenir les cours en temps-réel des cryptomonnaies suivantes :

Bitcoin, Ethereum, Cardano, Bitcoin Cash, Binance Coin, EOS, Ethereum Classic, ICON, MIOTA, Litecoin, NEO, Ontology, Qtum, TRON, TrueUSD, VeChain, Stellar Lumens, Ripple

A noter que cette application est également téléchargeable depuis le Google Play Store sur le lien suivant :

https://play.google.com/store/apps/details?id=com.reuniware.cryptoview


jeudi 16 mai 2019

Voir le cours des cryptomonnaies avec CryptoView pour Android

Une nouvelle application pour Android permets de voir en temps-réel les cours des cryptomonnaies et est disponible sur le Google Play Store.


Cliquez-ici pour accéder au téléchargement direct sur le Google Play Store


Cliquez ici pour le lien de téléchargement alternatif (pour les périphériques rootés)


Les cryptomonnaies affichées sont les suivantes (mais cela va évoluer) :

Bitcoin, Ethereum, Cardano, Bitcoin Cash, Binance Coin, EOS, Ethereum Classic, ICON, MIOTA, Litecoin, NEO, Ontology, Qtum, TRON, TrueUSD, VeChain, Stellar Lumens, Ripple.

mercredi 15 mai 2019

CryptoView, new Android application for viewing Cryptocurrencies in realtime

Règles de confidentialité.

French :
CryptoView ne récolte aucune donnée sur l'utilisateur.
CryptoView ne stocke aucune donnée sur l'utilisateur.
CryptoView n'accès à aucune information sur le périphérique de l'utilisateur.

English :
CryptoView does not collect any user data.
CryptoView does not store any user data.
CryptoView does not access any user data on the device.







mercredi 17 avril 2019

New Android Phone Gps To Sms App !

A new application has been released for Android Phone and that you can use if you need to send your GPS location to someone in an SMS message : Gps To Sms.

This app is automatically translated into english (US) if you install it on an english device or in french for french devices.

The sent SMS contains a link to Google Maps that the recipient can click to see your location on a map.

Here are some screenshots, and here is the link to the project on Sourceforge (click here).




lundi 25 mars 2019

Android and Kotlin programming, hash, encrypt and decrypt example

Click here to view source code of utility functions for SHA-1 hash, AES encryption and decryption, and saving AES secret key and Initialization Vector to Shared Preferences in Android.

This is a good starting point for you if you need to understand :

  • Hashing passwords or any other type of data
  • Encryption and Decryption using AES
  • Serialization and deserialization of data
  • Storing serialized data to Shared Preferences
  • Deserialize data to object from Shared Preferences

jeudi 14 février 2019

Resolve Android Error "android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout"

In Android Studio, when creating a default project for Android Lollipop 5.1.1, using AndroidX functionalities, the following error can be shown in the debug output of Android Studio, just after the application crashes :

"android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout"

The solution that I have found is to change the versions of dependencies to the newer ones in the build.gradle file for the Module: app such as :

dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.1.0-alpha02' implementation 'androidx.core:core-ktx:1.1.0-alpha04' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.2-alpha01' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01'}


mardi 29 janvier 2019

In Kotlin, how to force the locale ?

Here is a project that has been converted from Java to Kotlin and that allows you to set the Locale at runtime in any Kotlin project :

https://github.com/reuniware/Kotlin-LocaleManager


jeudi 24 janvier 2019

Projet Kotlin utilisant Room, LiveData Observer et RecyclerView.

Voici un projet minimaliste utilisant AndroidX et permettant d'apprendre l'utilisation de la librairie de persistance des données ROOM, de voir comment utiliser les observateurs LiveData et comment utiliser le RecyclerView (qui affiche les données provenant d'une table simple).

Cliquez-ici pour accéder au projet sur GitHub (Room_LiveData_RecyclerView_Tutorial)


mercredi 23 janvier 2019

Android : Kotlin, Room et Observer LiveData, projets de base minimalistes

Si vous souhaitez apprendre Kotlin et Room, grâce à un projet très minimaliste mais fonctionnel, voici un projet sur GitHub qui peut vous guider dans votre apprentissage :

Projet AndroidRoomTutorial sur GitHub

Si vous souhaitez découvrir en plus la notion de LiveData et d'Observer, voici un projet aussi très minimaliste qui permet de mettre en place un simple Observer, toujours en langage Kotlin sous Android Studio :

Projet Android-RoomLiveDataTutorial sur GitHub


Android Studio, Kotlin and Room persistence library easy tutorial

I have coded a very basic project using Room persistence library in Kotlin language, in Android Studio.

You can access the source code (very easy to understand) by clicking here.

vendredi 18 janvier 2019

How to list installed packages on an Android device with "adb shell"

In order to list all Android packages (applications) that are installed on an Android device, launch the "adb shell" command from Windows, and when connected on the Android device, launch the "pm list packages" command.

An example of output is :

HWCMR09:/ $ pm list packages
package:com.huawei.hifolder
package:com.android.cts.priv.ctsshim
package:com.google.android.youtube
package:com.huawei.camera
package:com.huawei.android.tips
package:com.google.android.ext.services
package:com.huawei.synergy
package:com.huawei.android.launcher
package:com.android.mediacenter
package:com.android.providers.telephony
package:com.google.android.googlequicksearchbox
package:com.android.providers.calendar
package:com.huawei.hidisk
package:com.huawei.hiview
package:com.huawei.iaware
package:com.huawei.bluetooth
package:com.android.providers.media
package:com.touchtype.swiftkey
package:com.huawei.android.thememanager
package:com.huawei.android.chr
package:com.huawei.android.hsf
package:com.google.android.onetimeinitializer
package:com.google.android.ext.shared
package:com.huawei.kidsmode.kidspaint
package:com.huawei.autoinstallapkfrommcc
package:fr.reunisoft.oauth2_test
package:com.android.wallpapercropper
package:com.huawei.nearby
package:com.huawei.android.FloatTasks
package:com.huawei.desktop.systemui
package:org.simalliance.openmobileapi.service
package:com.huawei.recsys
package:com.android.documentsui
package:com.android.externalstorage
package:com.android.htmlviewer
package:com.android.companiondevicemanager
package:com.android.mms.service
package:com.huawei.android.totemweather
package:com.android.providers.downloads
package:com.huawei.gameassistant
package:com.huawei.trustcircle
package:com.ebay.carrier
package:com.huawei.phoneservice
package:com.huawei.desktop.explorer
package:com.huawei.screenrecorder
package:com.netflix.partner.activation
package:com.huawei.himovie.overseas
package:com.android.partnerbrowsercustomizations.tmobile
package:com.huawei.videoeditor
package:com.huawei.securitymgr
package:com.google.android.configupdater
package:com.android.soundrecorder
package:com.huawei.iconnect
package:com.android.defcontainer
package:com.huawei.hiviewtunnel
package:com.android.providers.downloads.ui
package:com.android.vending
package:com.android.pacprocessor
package:com.hisi.mapcon
package:androidhwext
package:com.android.frameworkhwext.honor
package:com.android.certinstaller
package:huawei.android.widget
package:com.android.carrierconfig
package:com.google.android.marvin.talkback
package:com.google.android.apps.work.oobconfig
package:android
package:com.huawei.imedia.sws
package:com.huawei.hwid
package:com.huawei.tips
package:com.android.contacts
package:com.huawei.systemserver
package:com.android.frameworkhwext.dark
package:com.android.egg
package:com.android.mms
package:com.android.mtp
package:com.android.stk
package:com.microsoft.rdc.android
package:com.android.backupconfirm
package:com.huawei.android.instantshare
package:com.huawei.indexsearch.observer
package:com.huawei.trustagent
package:com.android.statementservice
package:com.huawei.indexsearch
package:com.google.android.gm
package:com.google.android.apps.tachyon
package:com.huawei.android.internal.app
package:com.example.my.roomwordsample
package:com.huawei.hwasm
package:com.huawei.omacp
package:com.android.calendar
package:com.huawei.wifiprobqeservice
package:com.google.android.setupwizard
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.facebook.services
package:com.google.android.music
package:com.android.printspooler
package:com.android.frameworkres.overlay
package:com.android.dreams.basic
package:com.activity.screen.reuniwaretransfer
package:com.android.incallui
package:com.huawei.systemmanager
package:com.android.inputdevices
package:com.android.bips
package:com.android.supl
package:com.google.android.apps.docs
package:com.google.android.apps.maps
package:com.android.cellbroadcastreceiver
package:com.google.android.webview
package:com.huawei.HwMultiScreenShot
package:com.huawei.vassistant
package:com.android.server.telecom
package:com.google.android.syncadapters.contacts
package:com.example.android.notepad
package:com.android.keychain
package:com.android.keyguard
package:com.android.chrome
package:com.android.gallery3d
package:com.google.android.packageinstaller
package:com.huawei.watch.sync
package:com.google.android.gms
package:com.google.android.gsf
package:com.google.android.tts
package:com.huawei.hwstartupguide
package:com.android.calllogbackup
package:com.google.android.partnersetup
package:com.huawei.fido.uafclient
package:com.google.android.videos
package:com.android.proxyhandler
package:com.huawei.android.mirrorshare
package:com.huawei.contactscamcard
package:com.google.android.feedback
package:com.google.android.printservice.recommendation
package:com.google.android.apps.photos
package:com.google.android.syncadapters.calendar
package:com.android.managedprovisioning
package:com.swiftkey.swiftkeyconfigurator
package:com.huawei.android.totemweatherwidget
package:com.huawei.compass
package:com.android.dreams.phototable
package:com.android.providers.partnerbookmarks
package:com.huawei.android.hwaps
package:com.huawei.android.hwouc
package:com.huawei.android.wfdft
package:com.android.wallpaper.livepicker
package:com.huawei.mmitest
package:com.huawei.powergenie
package:com.facebook.system
package:com.google.android.backuptransport
package:com.android.storagemanager
package:com.android.bookmarkprovider
package:com.android.settings
package:com.android.calculator2
package:com.huawei.android.projectmenu
package:com.huawei.android.totemweatherapp
package:com.android.cts.ctsshim
package:com.huawei.sarcontrolservice
package:com.huawei.android.pushagent
package:com.android.vpndialogs
package:com.android.email
package:com.android.phone
package:com.android.shell
package:com.android.wallpaperbackup
package:com.android.providers.blockednumber
package:com.android.providers.userdictionary
package:com.huawei.wifieapsimplmn
package:com.android.emergency
package:com.huawei.scanner
package:com.android.location.fused
package:com.android.deskclock
package:com.android.systemui
package:com.android.exchange
package:com.android.bluetoothmidiservice
package:com.facebook.appmanager
package:com.huawei.hwdetectrepair
package:com.huawei.bd
package:com.android.bluetooth
package:com.android.providers.contacts
package:com.android.captiveportallogin


mardi 15 janvier 2019

Android Java : How to delete SMS




    public void deleteSMS(Context context, String message, String number) {
        try {
            Log.d("MsgService","Deleting SMS from inbox");
            Uri uriSms = Uri.parse("content://sms/inbox");
            Cursor c = context.getContentResolver().query(uriSms, new String[] { "_id", "thread_id", "address", "person", "date", "body" }, null, null, null);

            if (c != null && c.moveToFirst()) {
                do {
                    long id = c.getLong(0);
                    long threadId = c.getLong(1);
                    String address = c.getString(2);
                    String body = c.getString(5);

                    Log.d("MsgService", address + " /// " + body);

                    if (/*message.equals(body) && */address.equals(number)) {
                        Log.d("MsgService","Deleting SMS with id: " + threadId);
                        context.getContentResolver().delete( Uri.parse("content://sms/conversations/" + id), null, null);
                    }
                } while (c.moveToNext());
            }
        } catch (Exception e) {
            Log.d("MsgService","Could not delete SMS from inbox: " + e.getMessage());
        }
    }

How to resolve Android Studio Error "The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher."

In order to resolve this error message, you will have to upgrade the Gradle version in the "build.gradle" file.

I have had this error after updating Android Studio to the latest release and the Gradle plugin too.

I have then checked what is the latest version of Gradle on the following page : https://bintray.com/bintray/jcenter/org.jetbrains.kotlin%3Akotlin-gradle-plugin

And I found that the latest version is the 1.3.11

Then I opened the "build.gradle" file in my Android Studio project and I modified the line "ext.kotlin.version = '1.2.71'" to "ext.kotlin.version = '1.3.11'".

That did the trick !


jeudi 3 janvier 2019

C# HttpWebRequest extremely slow ? Here is the easy quick fix.

I have just found on StackOverflow that there is a very easy solution to boost the time of execution of an Http web request : Setting the proxy property of the HttpWebRequest object to null, as in he example that follows :

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://192.168.1.254:8080/api/SuperRestAPI");
            req.Proxy = null;
            req.Timeout = 5000;
            req.Method = "POST";
            req.ContentType = "text/json";
            using (var streamWriter = new StreamWriter(req.GetRequestStream()))
            {
                string json = JsonConvert.SerializeObject(loginRequest);
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }


Another far more elegant solution is setting the defaultProxy enabled parameter to false in the App.Config, as explained in the following Microsoft page :
https://docs.microsoft.com/fr-fr/dotnet/framework/configure-apps/file-schema/network/defaultproxy-element-network-settings