Profile

Cover photo
Patrick Favre
Lives in Vienna
104 followers|97,377 views
AboutPostsPhotosVideos

Stream

Patrick Favre

Shared publicly  - 
 
 
Neue Version der BankomatkartenInfos App:
Liest jetzt auch die Bankomatkarte Mobil.

Ich habe gestern nach langer Zeit wieder an der App gearbeitet und jetzt kann man damit auch die Bankomatkarte Mobil (https://www.bankomatkarte-mobil.at/) auslesen. :-)


• (1) Sowohl intern (am selben Gerät auf dem die App läuft!)

• (2) als auch extern per NFC (also auf einem Gerät läuft die App, am anderen Gerät ist die Bankcard Mobil aktiviert und man hält die Geräte einfach aneinander).


Punkt (2) ging bisher nicht, da Android Beam immer dazwischen funkte wenn man 2 Geräte aneinander hielt. Das war einfach zu lösen, ich verwende jetzt einen anderen Modus beim Lesen per NFC, bei dem Android Beam deaktiviert ist (als Folge benötigt die App jetzt allerdings mindestens Android KitKat oder höher).


Punkt (1) ist da ein wenig trickreicher:

Eigentlich gibt es für Secure Elements (so wie die NFC-taugliche SIM-Karte eines ist) einen Zugriffsschutz. Das heißt nicht jede beliebige App darf einfach auf das Secure Element zugreifen.

Stattdessen ist (vereinfacht erklärt) im Secure Element eine Liste an Hash-Werten hinterlegt und nur Apps deren Zertifikat (also mit dem sie signiert wurden) dort im Secure Element in der Liste vorkommt, dürfen auf das Secure Element zugreifen.

Details dazu findet man hier in diesem Dokument von Global Platform: "*Secure Element Access Control*" (http://amifan.googlecode.com/svn-history/r79/trunk/Documents/GPD_SE_Access_Control_v0_10_0.pdf)


Ich habe mir jetzt nicht genau im Detail angesehen, wie diese Regeln formuliert sind, aber die Signaturen der offiziellen Bankcard Mobil Apps der verschiedenen Banken sind offensichtlich da drin hinterlegt und es scheint sehr unmöglich, dass ich da mein eigenes App Zertifikat ins Secure Element hinein bekomme. Also dieser Weg ist eine Sackgasse.

Allerdings: die Prüfung, ob denn das Zertifikat der gerade laufenden App mit denen aus dem Secure Element übereinstimmt, die passiert in Software, in Android (nämlich in der Implementierung der OpenMobile API).

Dh. technisch wäre es möglich, dass man beim Kompilieren der OMAPI (das was ich letztens für die Nexus Geräte gemacht habe) diesen Check einfach weglässt und diese modifizierte Version der OpenMobile API installiert (dazu braucht man aber root-Rechte, also gleich vorweg, ohne root geht das nicht).

Ich habe hier aber einen anderen Weg gewählt und habe stattdessen ein framework namens Xposed (http://repo.xposed.info/) verwendet. Dieses Framework erlaubt Entwicklern ebenfalls weitgehenden Zugriff u.a. auf Systemebene und kann daher auch sehr gefährlich sein (so wie root). Daher werde ich diese Version auch nicht in den Play Store stellen.


Falls jemand dennoch Interesse dran hat, ich habe diese Spezialversion in Github unter dem branch "omapi_experimental" veröffentlicht. Damit diese Version funktioniert muss das Xposed Framework am Gerät installiert sein und in der Xposed-Einstellungs-App unter "Module" muss die BankomatkartenInfos aktiviert sein.


Das APK File findet man auf Github unter "Releases": https://github.com/johnzweng/bankomatinfos/releases
oder alternativ wieder auf meinem Server: http://johannes.zweng.at/android/Market/BankomatInfos/

Die App verwendet wie bisher auch nur LESENDE Kommandos (SELECT, GET DATA, READ RECORD), da sollte also nichts passieren. Das intergrierte Xposed Modul deaktiviert den Zugriffsschutz auf das Secure Element nicht global, sondern nur konkret für diese eine App, dh. auch wenn die App installiert ist, ist der SE Zugriffsschutz für alle anderen Apps nach wie vor aktiv.

Disclaimer: Benutzung auf eigenes Risiko, ich übernehme keinerlei Haftung. Die App ist nur für technisch versierte Benutzer gedacht!


 ·  Translate
View original post
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
Probably the worst mobile version of a website Ive ever seen
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
"Labor Pain Simulator" is actually a thing...
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
Facebook open sourced their network speed simulator

#Android  
Today we are open-sourcing our design for Augmented Traffic Control on GitHub.
1
Add a comment...
Have him in circles
104 people
Stefan Schallerl's profile photo
bernhard sorger's profile photo
Spoticast's profile photo
Markus Wolf's profile photo
Ahmed Mohamed's profile photo
Andi R.'s profile photo
Johann Grabner's profile photo
David Blub's profile photo
Dominik Dorn's profile photo

Patrick Favre

Shared publicly  - 
 
DroidconUk 15
October 28, 2015 • 4 days • 51 moments
3
Add a comment...

Patrick Favre

Shared publicly  - 
 
 
TL;DR: Nexus 6: Why was OpenMobile API removed in Android 6.0 (while it was present and working in Android 5.1.1)? Why Google, why??

Long description:
The SIMalliance OpenMobile API is a third-party API which provides access to external Secure Elements in SIM- or SD-cards. Some banks in Europe allow the installation of banking debit cards into the Secure Element of the SIM card (so that you can use your phone worldwide like a regular NFC-enabled plastic banking card) so they need this API for working.

It's understandable that Google did not include this API in their Nexus devices as they want to push their own payment service and not support other ones. This missing API was one of the downsides of using the Nexus 4 and Nexus 5.

So I was surprised even more when I realized that in Nexus 6 Google finally included this API (you can look into the system.img of this build: https://dl.google.com/dl/android/aosp/shamu-lmy48w-factory-09ff93d1.tgz and you will see the library in /system/framework/org.simalliance.openmobileapi.jar).

Unfortunately Google decided to remove this again in the latest Android 6.0 Build: https://dl.google.com/dl/android/aosp/shamu-mra58k-factory-5b07088c.tgz.

So, all these banking apps will no longer work with Android 6:
https://play.google.com/store/apps/details?id=at.psa.app.bankaustria
https://play.google.com/store/apps/details?id=at.psa.app.hypo
https://play.google.com/store/apps/details?id=at.psa.app.raika
https://play.google.com/store/apps/details?id=at.psa.app.erste
https://play.google.com/store/apps/details?id=at.psa.app.oberbank
... and many more


Oh Google, why? Why did you give us hope and then remove it again?
Für die beliebte und vertraute Zahlungsform mit der Bankomatkarte bietet di...
2 comments on original post
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
Full featured Android UI Data Binding with new Beta Library from Google

https://developer.android.com/tools/data-binding/guide.html
1
1
george oloo's profile photo
Add a comment...

Patrick Favre

Shared publicly  - 
 
Official Google Material Design Views Toolkit
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
TIL that git source is on github... how meta is that?

https://github.com/git/git
git - Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
Better than Mayfield vs Pacquiao
1
Add a comment...

Patrick Favre

Shared publicly  - 
 
Tried a timelapse showing the eclipse. Didn't really work out, so its a pretty normal timelapse. Enjoy anyways.
1
Add a comment...
People
Have him in circles
104 people
Stefan Schallerl's profile photo
bernhard sorger's profile photo
Spoticast's profile photo
Markus Wolf's profile photo
Ahmed Mohamed's profile photo
Andi R.'s profile photo
Johann Grabner's profile photo
David Blub's profile photo
Dominik Dorn's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Vienna
Links
Other profiles
Work
Skills
Android, JavaEE
Basic Information
Gender
Male
Apps with Google+ Sign-in
  • Half-Life 2
  • Hitman GO