There I fixed it

 ( crossbone | 2018. augusztus 6., hétfő - 0:56 )

Kedvenc szamlavezeto bankom penteken frissitette a mobil-applikaciojat. Kotelezo jelleggel telepiteni kell a frissitest, nyilvan...

A changelog erdekessege egy uj feature: a biometrikus azonositok tamogatasa - ha van ujjlenyomat-olvaso a telefonodban, pin-kod helyett azzal is tudsz autentikalni. Csodalatos.

De mi van, ha nincs ujjlenyomat-olvaso a telefonodban? Mutatom:

Nem olyan vicces, amikor epp hasznalni akarna az ember...

Miutan kiidegeskedtem magam es hazaertem, ragyujottam egy sorre, majd beroffentettem az ADB-t. Szep sorjaban lehuztam a csomagot es rakuldtem a .apk-ra az APK Studiot. Kisse felve meg egy decompilert is raengedtem az egeszre.

Szoval a diganozis:

A fingerPrintManager null lesz, mert az lehet, legalabbis az Android API-doksi es a gyakorlati tapasztalatom alapjan is.

Ket helyen probalja fajdalmasan dereference-elni a null-t a dragam:

A masodikon rogton az indulas soran elpusztul, az elson "csak" a pin-kod megadasa utan.

Egy fordulo IntelliJ projektet eleg remenytelen vallalkozasnak tunt osszerakni abbol, ami rendelkezesre allt - igy inkabb nekifekudtem az bytecode-bol kihamozott assembly kodot turni. A

fenti ket fuggvenyben kell megakadalyozni, hogy hozzanyuljon a fingerprintManagerhez, ez eleg egyszeruen kivitelezheto:

...

(tudom, lehetne szebben is, az iget-objecteket is kigyepalhattam volna peldaul. nem erdekel)

Ennyi a workaround. Egy forditas, alairas es a telefonra felkuldes utan mar mukodik is az app.

tada.wav

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

nyugodtan kiírhattad volna h. erstebank, ha már a screenshoton is ott van.
Vagy attól félsz rádtörik az ajtót nálad is a tek?
--

A hibat reportoltad?

De miert?

Miert kellene egy for profit cegnek a "fizetos" szolgaltatasahoz a hibat *ingyen* bejelenteni?

Nem ertem, miert ez az elso felvetes...

De ha mar, akkor a play aruhazba mehet: "Ehh, ez is egy rakas sz*r lett". <-- nesze, elore megirtam a template-ot.:)
---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

ebben is van igazsag!
peldaul a fejlesztesi folyamatban kellene lennie olyan embereknek, akiknek az a dolga (felelossege), hogy ilyen banalis hiba ne menjen ki productionbe. plusz imho valahol a unit teszt szintjen meg kellett volna fogni ezt.

most mondanam, hogy a QA is ember es hibazik, de... ennek a release-nek ezen a hiban felul is nagyon olyan szaga van, hogy QA maximum messzirol lathatta.

Egy ilyen hiba el sem juthatna a QA-ig, már a pull request review-n ki kéne essen...

Lehet, hogy az appnak ki sem lett volna szabad mennie azokra a készülékekre, amiben nincs biometrikus azonosítás?

Nem tudom, de ahogy nálunk van a pull request review, ez teljesen lényegtelen. NPE-re mindig készülni kell, mindegy, mi a requirement, vagy hogy "abba az ágba úgysem jutsz el soha". Így egyébként egyszerűbb is, nem kell mérlegelni.

Persze, de... Szóval láttam már karón varjút, gondolom neked sem új, hogy nincs mindenütt mindenki a helyzet magaslatán, hogy finoman fogalmazzak.
Az app-hoz tartozó e-mail címet (is) remélem olvassák ;-) és az ebéd utáni kávét követően kikalapálják ezt az egyébként randa hibát.

Persze, főleg legacy kód tele lehet ilyennel, de új feature-öknél azért fura. Szerintem ezt már valami jobb féle coding convention tool-nak is meg kéne találnia, de az biztos drága. :)

Kultúr nagyar módra, ahogy azt kell... Egyébként meg azzal, hogy bár tudod, mi a hiba, de nem mondod el, azzal adsz-e valami pluszt a világ műkodéséhez? Ha nem, akkor meg mi a búbánatért pazarolnád a biteket?!
A fejlesztőknek - ahogy a kollégának is - egyébként a screenshot elég kiindulási alapnak, de gondolom te azt se küldenéd el, hanem mint minden "rendes" egységsugarú user azt írnád, hogy "sz@r", a hibaüzenetet meg "már elkattintottam/nbem tudom mi volt, nem érdeke, oldd meg"...

> Kultúr nagyar módra, ahogy azt kell...

Ezt nem ertem.
1. Nyilvanvaloan mernok munkaorat tolt bele, mivel ezt egy takarito/portas unalmas oraiban nem oldja meg.
2. fizet a szolgaltatasert, amiert a programot kapja

Mi a bubanatert kellene neki ezt ingyen rendelkezesre bocsatania a banknak? De komolyan.
Mi lenne a logika?

Esz erveket meghallgatnam, hogy miert *kotelessege* a felhasznalonak debugolni a szolgaltatast, amiert o fizet. Vastagon.
Nincs szaktudasa a banknak, hogy az ilyen hibat megfogjon hazon belul?
Nincs penze programozokra a banknak, ezert a QA reszt a felhasznalora haritja at?

Ez egy opensource program, aminek a hibajavitasaval a jovobeni verziok is jobbak lesznek?

Tenyleg nem ertem. Oszinten.

Itt most nem "kulturarol" meg "magyar modrol" van szo. Ehhez ennek semmi koze.

Ha az egyik fel a hatodik bort is lehuzza rolad, es a legelemibb dolgokat is felszamolja neked, akkor a masik feltol miert varnad el, hogy ingyen es bermentve dolgozzon?
Hol itt a kolcsonosseg? Hol itt az aranyossag?

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Nem kell, csak ha tudsz segíteni, és kvázi nem kerül semmibe (screenshot e-mailben az alkalmazáshoz kapcsolt e-mail címre), miközben előreviszi a dolgokat. Tompos a bugreport-ra kérdezett rá, nem arra, hogy a teljes workaround-it/javítást megosztotta-e a fejlesztőkkel.
Azt szoktam mondani, hogy értelmes emberek között az önzetlen segítség körbeér, visszajut ahhoz, aki adja. És ezt tartom is. És ha nem? Akkor sem esek kétségbe, ugyanis jót tenni jó, segítséget kapni szintén jó - és nem pusztul bele senki, hogyha segítek annak, aki mondjuk azárt kapja a fizetését, hogy megcsináljon valamit.

Egy szolgáltatást jobbá tenni kétoldalú dolog: a szolgáltatón is, és az ügyfélen is múlik. Ha üf.-ként csak annyit bír valaki a szürkeállományából kpiaszírozni, hogy "sz@r", az nem segítség, nem viszi előre a dolgokat, az egy gyakorlati haszna nulla böffentés.

"Nyilvanvaloan mernok munkaorat tolt bele"
vö: "kvázi nem kerül semmibe"

[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS

Play Store-ban mar elegen lehuztak az uj verziot (tobbek kozt en is), koztuk van az is, hogy nem mukodik ujjlenyomat-olvaso nelkuli kutyukon.

Az enyemen mondjuk pont van, es ez a funkcioja epp tetszik. Viszont ennek ellenere elGnome-osodott, funkciok tuntek el belole, minden lapvaltasnal tolt, es rosszabb lett a UI.

Erzem, hogy egyre kozelebb a bankvaltas.

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

Nem egy kulturat kepviselunk:)
Segitek az en allaspontomat meglatni: gondold vegig mi elonyod szarmazik abbol NEKED, ha bejelented es abbol, ha nem.

+1

persze. tukon ulve varom a valaszt, meg hogy mikor lesz javitva...

Érdekes ez, nálam nem frissült, nem is látok frissítést, viszont nem is működik most. PIN-t megadva csak "Kommunikáció a szerverrel" homokórázik.

2 dolog:

Miert hasznalnak meg mindig Java-t, vagy ha muszaj akkor miert nem Optional-al vagy valami 3rd party libbel?
Az ilyet nem teszt szinten, hanem nyelvi szinten kene kifogni...

Hogyan tudod ugy ujra alairni az app-ot, hogy az hiteles legyen? Ez nem epic sechole?

Ha van hiteles aláíró kulcsa és azzal aláírja, az teljesen üzem szerű, elfogadható. Onnantól lehet tudni, hogy igazoltan egy általa módosított szoftverről van szó. Mivel egyértelműen igazolható és ellenőrizhető a szoftver forrása (ez esetben nem a bank), így ez security szempontjából jó.
Ha nincs ilyenje, akkor csinálhat saját CA-t, aminek a root tanúsítványát telepíti magának. Így csak a saját eszköze fogadja el, az idegen eszközök sipákolnak az ismeretlen tanúsítóra. Így megint rendben van.

A digitális aláírás igazából két funkciót ad: azonosítja az adott program kiadóját, továbbá ellenőrizhetővé teszi, hogy a kiadás óta módosult-e. Az hogy a kiadónak (aláírónak) van-e joga kiadni a terméket, az nem tartozik az aláírás körébe.

Zavard össze a világot: mosolyogj hétfőn.

Nem a nyelv a probléma hanem a gyenge QA. Ha kettőt hátralépek azt látom hogy élesbe releaselt egy appot a bank úgy, hogy nem tesztelt egy teljesen nyilvánvaló alap use case -t (no fingerprint device).

--
debian,libreelec,openmediavault,ubuntu,windows,arch,lineageOS
zbook/elitebook/rpi3/nexus5_hammerhead

Lehetne olyan API aminel egyertelmuen kiderul a programozo szamara a doksi olvasasa nelkul is, hogy a fuggveny nem mindig ter vissza egy hasznalhato objecttel (pl egy optional, vagy a golangos err, stb).

context.java:
public abstract @Nullable Object getSystemService(@ServiceName @NonNull String name);

imho eleg egyertelmu :)

Igy tenyleg az. :)
Csak a doksit neztem, oda nem szivargott be a @Nullable.

https://developer.android.com/reference/android/content/Context#getSystemService(java.lang.String)

az alkalmazas hitelesitese nem celja a cert-nek:

When you sign an APK, the signing tool attaches the public-key certificate to the APK. The public-key certificate serves as a "fingerprint" that uniquely associates the APK to you and your corresponding private key. This helps Android ensure that any future updates to your APK are authentic and come from the original author.

ha a mar telepitett playstore-os alkalmazast akartam volna felulcsapni a sajat magam altal alairttal, akkor elhalalozott volna a telepites, mert nem egyeztek volna a cert-ek. de mivel levakartam az eredeti alkalmazast, igy nem volt siras, siman felment...

Gondolom aki ma Magyarországon ért a Kotlinhoz (ha erre gondoltál), annak az Erste nem tud adni versenyképes fizetést.

Kétlem hogy pont egy bank ne tudna rendesen fizetni.

--
debian,libreelec,openmediavault,ubuntu,windows,arch,lineageOS
zbook/elitebook/rpi3/nexus5_hammerhead

Inkább nem tud versentyképes munkakörülményeket biztosítani. Aki dolgozott már banki környezetben, az tudja miről beszélek...

sed -i -e 's/tud/akar/g'

:)

Szép fogás :)

A poszt-toló helyett egy frissítés: időközben frissült az alkalmazás, és jött a levél is az Erstétől:

"Tisztelt Ügyfelünk!

Elindultunk egy úton, mert hisszük, hogy a mindennapi bankolási szokásoknak meg kell változniuk. Tartson Velünk Ön is!

Legújabb lépésünk a Mobilbank alkalmazásunk frissítése volt.

Sajnos a fejlesztések útja a legnagyobb igyekezet ellenére is időnként rögös - MobilBankunk legújabb, teljeskörű frissítésénél nem várt technikai problémákba ütköztünk, így Ön is tapasztalhatott fennakadásokat, kimaradásokat az applikáció működésében.

Őszintén sajnáljuk, ha ezzel kényelmetlenséget okoztunk Önnek."

Úgy gondolom, hogy ha már a feketepontok kiosztásra kerültek, akkor ezért a levélért megérdemelnek egy pirospontot :-)

De miert kell kodositeni?:)

Inkabb irtak volna, hogy changelog [itt], github repo [itt].

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

hahaha, es te be is veszed? :D
a mai napon is meg pontosan ugyanaz a verzio van a playstore-ban, mint amirol irtam - kovetkezeskepp a postra ihletet ado hiba meg mindig all...

az e-mailt en is megkaptam, arra jutottam, hogy valszeg csak az eredeti release kisse megkesett bejelentese.

Hmmm... Nekem a posztod idején frissült, és adott lehetőséget a biometrikus azonosításra (amit használtam is), majd a levél előtt/környékén is jött egy frissítés, ami újfent kérte, hogy tapizzam meg a szenzort. Azóta meg azt használom.

Csak a biztosan látható hibák:
> egy get függvény ami nem Exception-t dob, hanem null-t ad vissza
> stringekkel kommunikálás
> cast-olás