Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.49k stars 266 forks source link

Unexpected Magikeyboard layout #927

Open bakedonion opened 3 years ago

bakedonion commented 3 years ago

Describe the bug When switching to the Magikeyboard I get an unexpected keyboard layout for a specific app. Normally I get a layout with the entry select or entry elements buttons and the button to switch back to the previous keyboard:

image

But for this app I receive a different layout and no option to switch back to my previous keyboard:

image

Likewise (in case autofill is enabled in the settings), there is no autofill dropdown. In the wiki there is a section about Autofill disabled, could this be related?

The app in question is S-pushTAN. So far this is the only case I encountered this.

To Reproduce Steps to reproduce the behavior:

  1. Open the S-pushTAN app
  2. Click on the password field
  3. Switch to the Maigkeyboard
  4. See unexpected layout

Expected behavior

I would have expected to see the same layout as seen here:

image

If this is related to the app and requires changes on their part, I would expect to still have the option to switch back to my previous keyboard. Currently there is a need to switch out of the app in question in order to be able to change it again.

KeePass Database

KeePassDX (please complete the following information):

Android (please complete the following information):

Additional context

J-Jamet commented 3 years ago

I can't even launch the application which crashes at startup, ~which doesn't bode well for the seriousness of the code of this app in general~. So I don't know, I'll look at other devices when I have time.

bakedonion commented 3 years ago

Did you try this in an AVD? The app in question is a banking app. While writing this issue, the app prevented me from taking screenshots which is why I tried to accomplish it by running them in an emulated device, where I also ran into crashes.

I am just guessing here, but maybe they are performing some additional device checks or something of that sort? If it was an actual device then I am clueless, sorry.

EDIT:

In an official FAQ there is the following paragraph:

Beachten Sie bitte, dass Sie die S-pushTAN-App aus Sicherheitsgründen nicht nutzen können, wenn das Betriebssystem Ihres mobilen Gerätes modifiziert (zum Beispiel „gejailbreakt“ bzw. „gerootet“) ist. Zudem führen installierte Screenreader, Debugger oder Emulatoren evtl. dazu, dass Sie die App auf Ihrem Gerät nicht starten können.

Which basically translates to:

Please note that for security reasons you cannot use the S-pushTAN app if the operating system of your mobile device is modified (for example, "jailbreak" or "rooted"). In addition, installed screen readers, debuggers or emulators may prevent you from launching the app on your device.

J-Jamet commented 3 years ago

Yes, I tried with an emulator and didn't look any further.

J-Jamet commented 3 years ago

OK, I just installed your bank's application on one of my test phones (it starts up this time).

Magikeyboard : It seems that this application blocks custom keyboards, I don't know their technique but whether it is the Magikeyboard, Simple Keyboard or the KeePass2Android keyboard, they are blocked. I set breakpoints, and no KeePassDX keyboard code is executed. So it's blocked before the keyboard is chosen and a default keyboard is displayed.

Autofill : I tested the auto-fill, it works when the google keyboard is activated. (On the "pushTAN-Passwort" field, so the autofill works well, at least for the field I tested)

bakedonion commented 3 years ago

I see, that's unfortunate. I will try and see if I can contact someone on their side. Also interesting about the Autofill. It is definitely not working for me.

Thanks.

FelixBenning commented 3 years ago

The same happens with the tan2go app from the bank DKB.