Questi #grafici hanno fatto un #danno: una cosa che prima mi dava #fastidio perché la conoscevo e basta, ora la vedo anche e quindi la mia #mente non prende proprio più pace. ☺️
Si può osservare un #doloroso #saliscendi #giornaliero di #note, perché spesso mi capita di #pubblicare oltre #mezzanotte... #orario in cui per me il #giorno non è finito, ma secondo il #database invece si. Vorrei magari che la #giornata del #sito finisse ed iniziasse nel cuore della #notte, ma ahimè non voglio cambiare il #FusoOrario, e se tento di sistemare le mie #query #SQL per la #visualizzazione di questi #dati in modo opportuno, succede che vado completamente mentale. Già non sto bene ora, quindi evito. 🙃️
Quindi... per ora le ho semplicemente cambiate tutte, per fargli pescare la #data #GMT di ogni cosa, che è convenientemente 1 ora indietro rispetto all'Italia, quindi è decente (ma non perfetto). Ah, e stasera ne ho approfittato per finire al volo questa ennesima #tabella #inutile che, ispirata al muro di #piastrelle di #commit di #GitHub, illustra #visivamente quanti #post carico ogni giorno, per ogni #settimana, in un intero #anno. #Pippe mentali. 😇️
Molto funny: la #app #Android di PostePay rileva modifiche di sistema ad un #telefono che passerebbe #SafetyNet, col bootloader bloccato, e suppongo quindi senza #root. 😁️
Ho preso 5 minuti (uhmm, no, magari) per un breve #ReverseEngineering di quella parte della #applicazione, arrivando a questa sezione del file (baksmaliato dall'ultima versione presente su APKMirror) smali_classes6/posteitaliane/posteapp/apppostepay/ui/activity/SplashActivity.smali, che invoca il dialogo di avviso in foto: 🤓️
# riga 4358
.method public final e()V
# ... inizializzazione di altra roba
# riga 4503
new-instance v1, Lcom/scottyab/rootbeer/b;
invoke-direct {v1, v0}, Lcom/scottyab/rootbeer/b;-><init>(Landroid/content/Context;)V
invoke-virtual {v1}, Lcom/scottyab/rootbeer/b;->a()Z
move-result v1
if-eqz v1, :cond_2
# ... visualizza il dialogo se il codice sopra non ha saltato
# riga 4542
:cond_2
# ... ritorna e termina il metodo
Detto in italiano, questo #codice invoca un metodo (dal nome offuscatino?) presente in una certa classe "com.scottyab.rootbeer"... ed esce fuori, con una #ricerca sul web, che questa è una #libreria #OpenSource (evidentemente integrata dagli sviluppatori di #PostePay) per controllare se un #dispositivo Android è #rootato. (Non se passa o meno #SlaveryNet, attenzione.) 🍻️
È un po' troppo rubatempo mettersi a capire quale effettivamente è nel codice Java quella funzioncina b;->a()Z ora, quindi tiriamo a #indovinare. Ci sono, in RootBeer.java, tante #funzioni boolean, di cui varie ausiliarie, e 2 principali: isRooted[With/Without]BusyBoxCheck(). Queste due principali restituiscono un valore positivo qualora anche solo una delle ausiliari chiamate restituisca true, l'unica differenza tra le due è il fare anche il controllo per la presenza del binario busybox, oppure no... E quindi le opzioni sono le seguenti: 📜️
checkForBinary(BINARY_SU), checkSuExists(), checkForRootNative(), checkForMagiskBinary(): controllo effettivo del root; escludo, da quel che ricordo il suo telefono non è rootato, ed avendo il bootloader bloccato direi che possiamo stare tranquilli.
detectRootManagementApps(): scarto, se il telefono non è rootato non avrebbe senso tenere app di gestione del root.
detectPotentiallyDangerousApps(): controlla se sono installate app "a umma umma"; escludo perché credo nessuna sia utile senza il root, e qualcuna forse è pure malware... eccetto Lucky Patcher, che però ad oggi si auto-spoofa.
checkForRWPaths(): scarto, controlla se alcuni percorsi sensibili sono scrivibili, immagino di no col bootloader bloccato e senza root.
detectTestKeys(): inizialmente sospettavo, ma lo abbiamo verificato (con getprop | grep build.tags), e pare non sia il caso (tutto è listato come "release-keys").
checkForBinary(BINARY_BUSYBOX): questa potrebbe essere, ed è #interessante, controlla come ho detto prima la presenza del binario busybox, ma da questo commit del 2020 non è più usata nel check predefinito perché — come detto nel commento in quella parte di #source, e alla sezione "False positives" del readme — alcuni #OEM lo lasciano quando non dovrebbero (io credevo fosse normale tralaltro, non un'anomalia!).
Quest'ultima #ipotesi mi cattura perché innanzitutto, te micro hai proprio un #MotoE da quello che ricordo, che è uno dei #telefoni listati esplicitamente sul readme... certo, se la #lib usata nella app fosse stata aggiornata, questo non sarebbe dovuto succedere, a meno che i programmatori delle #Poste non abbiano stupidamente usato la funzione di #controllo aggressiva. Però tbh, considerando la qualità del #software #statale o semi-statale qui in #Italia, secondo me semplicemente quella #dipendenza non è mai stata aggiornata (da un lato però, come biasimarli... "se funziona, non toccare"...). Al momento però non riesco a #provare ciò, perché non trovo #APK abbastanza vecchi di PostePay, quindi lancio solo #idee al vento. 😩️
Io punto su #busybox per risolvere questo #mistero. Lo #smartphone non è il mio, quindi io ora posso solo aspettare, se dovessero uscire novità farò un banale edit. (Sperando non siano così grosse da necessitare di un nuovo #messaggio). 😼️
Edit: non ci ho beccato nemmeno per il cavolo: dalla regia, che ha ora testato con il #programma di #test di #RootBeer, vengo a scoprire #malamente che le mie opzioni tecnicamente più plausibili si sono rivelate sbagliate. "Root Management Apps" è cosa fa scattare gli allarmi, cosa che io giustamente ho escluso a priori, ma la regia mi fa appunto sapere che aveva #Magisk Manager installato (soltanto a prendere polvere perché, questo l'ho pensato bene, non ha il root nell'effettivo); e, come previso, la disinstallazione mette a tacere i falsi positivi. Vabbè oh, non potevo immaginarmelo... 🤕️
Avevo tipo un botto di #giochi tecnicamente in arretrato sulla #SalaMuseoGames, dalle ultime 3 #settimane... dato che dovevo metterli prima o poi, e oggi non avevo nulla di particolarmente migliore da fare, l'ho fatto e ho finito un attimo fa. Che #noia, è un lavoro cinese praticamente. Oh well. 😷️
Comunque, pensavo, provando al volo vari dei 22 (!) #videogiochi che ho messo a 'sto giro... #giocare a #retrogame come questi con la #tastiera #meccanica ha un che di #intrigante. Il #feeling è molto piacevole, si si. Eppure non capisco perché, anche con questa tastiera, ho lo stesso problema che ho sempre avuto con tutte le altre, a riguardo di questo uso: quando ci sono già più di 1 #tasto di azione di rilevanza primaria (ad esempio, A per saltare e B per correre, o A per sparare e B per saltare, ...), inizia la #confusione. Capita anche a voi, e/o come lo risolvete? 🤔️
Secondo voi è un #metodo funzionante questo? Perché altrimenti so con certezza che non c'ho voglia di mettermi a #spolverare e #pulire la #stanza e tutto quanto. Il mio #cervello è abbastanza #stupido, quindi in realtà ho il presentimento che l'idea potrebbe funzionare... ma non ho il #vestito da #maid. 😩
Questa roba è una assoluta #pazzia. Mai nella mia vita avrei pensato "hmmm, farò crashare la mia #console apposta, perché così posso #dumpare la #ROM della mia #cartuccia di #gioco tramite #output audio", eppure ecco qui il #matto pazzoide che lo ha fatto. I miei complimenti. ☠️
Tuttavia, questa cosa mi è totalmente nuova dal lato tecnico... intendo, mi è nuovo il fatto che il #GBA quando va in #crash riproduca come #audio il contenuto del suo intero spazio di memoria, come suggerirebbe chi ha creato questo #video. Da brevi #ricerche online non trovo assolutamente nulla, eccetto questa #domanda con #risposta che già conoscevo: What causes the glitchy sound when a GBA cartridge is removed?. Si, ho sentito tante volte il #suono di #glitch quando una cartuccia non fa più [bene] contatto, ma è sempre stato sempre lo stesso di pochi secondi che si ripete di continuo... eppure, in questo #esperimento si dice che dopo quasi 2 ore si inizia a #sentire il contenuto della ROM della #scheda inserita. Ma quale sarebbe la logica di ciò? Magari sono io che non sto usando i giusti termini per #cercare sul web, non lo so, ma vorrei sapere. Un #aiuto è gradito, non ho il tempo e la pazienza di studiare dettagli così minuti del funzionamento #hardware del #GameBoyAdvance solo per levarmi una #curiosità simile. 😩️
Alla fine, ho sistemato quell' #applicazione (e l'ho caricata), quindi ora sul vecchio #Android ho sempre #KDEConnect a fare da #touchpad, ma in più ho questo #WebView in primo piano: a tutti gli effetti un #browser #web totalmente funzionante eccetto per il non essere cliccabile, che mi riproduce qualsiasi cosa io voglia. 🤭️
Vorrei metterci un qualche orologio #animato con del #carattere, magari qualcosa #stile 8-bit come il Game & Watch di Nintendo, ma ahimè non so se riesco a trovare qualche robo #bello già fatto che giri in #HTML5. Quindi, per ora, ho messo semplicemente la #animazione #FlyingToasters di #AfterDark, e almeno adesso ho qualcosa di meglio di una noiosa #schermata semivuota. Fa parte di questa #collezione, comunque, ossia una ricreazione in puro #CSS di quella #serie di #screensaver, che ad oggi fanno molto #retro: https://www.bryanbraun.com/after-dark-css/. 💌️
Tbh, ogni volta che in qualche modo riesco a rimettere in circolazione degli screensaver su un #dispositivo dei miei, penso che il #mondo è diventato proprio #noioso. Solo perché non sono stati più necessari, ecco che i #salvaschermo sono spariti. Spero che prima o poi torneranno #mainstream come lo erano un tempo, e che le generazioni correnti e future possano ricominciare ad apprezzarli. Ho visto questo #video (sotto) su #RokuCity, che mostra come #Roku ha dimostrato che al #pubblico generico gli screensaver piacciono... quindi potremmo bene farli tornare. Per favore. Voglio. Ormai su molti ambienti utente o sistemi operativi non sono nemmeno più supportati in modo adeguato, e questa cosa fa schifo perché metterli significa avere un' #esperienza peggiore di cosa si aveva 20 #anni fa... 🙏️
Cazzo... pericolosissima questa cosa... Queste sono #bombe!...
Maremma maiala, c'ho da lavorà du' anni ora io per levà tutta sta roba
Mi sa che di tutti i #pacchi dei #fan che gli sono arrivati a 'sto giro, questo qui non gli è piaciuto al 100%. Povero #MVVBlog con 'sti pacchi #bomba.
Stamattina, altra materia, altro #esame, altro #imprevisto, altro #content... ma, stavolta è bona. 😋️
In pratica, vado qualche ora prima rispetto a quando devo fare questo #orale, così da vedere sia un po' come si svolge, sia ripetere (farlo sui libri fa male all'anima, preferisco mille volte ascoltare le #interrogazioni degli altri per raggiungere lo stesso obiettivo)... forse qualcuno mancava, forse non so che è successo, ma fatto sta che il professore mi chiede se voglio farlo in quel momento l'esame, come #ultimo della mattina, visto che c'è tempo, anziché il pomeriggio. E all'inizio non sono troppo convinta, ma poi ci ho pensato un attimo, e si, mi conviene, quindi anticipo di ben 2 ore e me ne torno a #casina per ora di pranzo, anziché pomeriggio inoltrato. E ho preso un buon voto, ovviamente, altrimenti mi starei lagnando, invece sto #godendo, perché 1 dei tanti #esami ora è tolto da mezzo. 🙃️
Ieri sera è successa una roba estremamente #inaspettata: come 3-4 settimane fa il supremo #algoritmo di Telegram ha deciso di darmi un #ban dal nulla, ieri sera a caso il mio profilo #utente è tornato dalla tomba di "Account eliminato", ed il numero di #telefono risulta #sbannato, e ho potuto fare #login. Non so come sia possibile, tra le altre cose, che diverse persone su gruppi diversi lo abbiano notato quasi insieme, ma tant'è. 🤯
Ora dovrò aggiornare il vecchio post sulla Spacc BBS con questo dettaglio (visitatelo più tardi, scriverò più informazioni)... ma le cose non cambieranno rotta, bene o male. Il canale #Telegram, che era diventato un semplice mirror di questo #MicroBlog adesso, lo farò tornare attivo tramite #bot RSS, ma per il gruppo di #spacctorium 2 configurerò un nuovo #bridge con la stanza #Matrix, e rimarrà quello il canale preferito. 👆
Mi piace pensare che a sto giro ho fatto un danno di immagine a Telegram talmente grande, e/o si sono cagati in mano per la mia #mail riguardo la portabilità dei #dati (#GDPR) (sono sicura di averla condivisa ma non la trovo???), che hanno dovuto sbannarmi per forza... ma per le altre #vittime, passate e future, non è stato e non sarà così semplice, quindi ho #paura. Vabbè, grazie comunque #Durov. 🙃
#Android è letteralmente un #incubo appena tenti di fare qualcosa di un attimo #particolare 😭️
Ricordate la mia idea di riciclare il vecchio #Huawei come #touchpad? Alla fine, #KDEConnect in questo modo funziona molto bene, ma mi secca che sia totalmente vuoto se c'è un #display #LCD da sfruttare, e vorrei approfittare per usare questo #smartphone per mostrare #animazioni carine, magari un orologio, ecc... E, per maggiore #flessibilità, vorrei semplicemente avere una pagina #web sullo #schermo. Però, ovviamente, nel frattempo l'area di #tocco del #mouse deve poter ricevere i miei input. E quindi? 😶️
Ho provato in una decina di modi ad aggiungere un WebView al layout dell'app, con caratteristiche e mezzi diversi, ma non c'è verso di far si che questo sia visibile a tutto schermo, ma allo stesso tempo non si prenda lui tutti gli input... ho provato non so quanti consigli dai forum, tempo buttato. 🙄️
Ho tentato facendo ereditare il componente KeyListenerView dalla classe WebView anziché View, ma questo ne rompe il funzionamento e gli #input se li prende tutti la pagina web aperta. 🥲️
Ho cercato su Neo Store (F-Droid + repo terze) e Google Play #applicazioni che facessero da #browser web fluttuante, ma nessuna di quelle che ho provato permetteva di rendere il #popup "trasparente" ai #tocchi. 😮💨️
Ho cercato su #Internet per esempi di #codice di app fluttuanti, ma tutti sono un #casino da implementare ora così in una app nuova da zero (o meglio, non ci sono tutorial buonissimi), e ho buttato tempo e speranze appresso a un sacco di app esempio già pronte — o applicazioni #OpenSource con altri scopi che potessi #riadattare — che non ne vogliono sapere di compilarsi. 😤️
Ovviamente, se gli strumenti funzionassero davvero, e fosse solo la #piattaforma in sé ad essere antipatica, non avrei perso tutto questo tempo. Invece no, appresso ad #AndroidStudio, Gradle, Java, le dipendenze di #build troppo vecchie perché la app è abbandonata, e se provi a sistemare fai solo danni, e quando la #app finalmente si compila devi aspettare un minuto buono ogni volta che fai un cambiamento e vuoi inviarlo al #dispositivo o emulatore... è una #schifezza. 😩️
...Tuttavia, la #pazienza è la #virtù di chi sa bramare il #superfluo in modo realistico, e dunque, alla fine, ho trovato una #demo che riuscissi a #compilare (https://github.com/mjlong123123/TestFloaWindow), infilarci dentro una #WebView, e vedere il tutto #magicamente funzionare come volevo. Che assoluta #goduria, guardate il #video sotto. Ora farò giusto qualche #aggiustamento minimo necessario al mio #UseCase, e poi avrò finito. Non farò una vera e propria #applicazione, non ho voglia, ma comunque caricherò i miei #sorgenti modificati (e l'APK pronto che legge un file #HTML da archiviazione locale) qui: https://gitlab.com/octtspacc/OcttBitsOfFun/-/tree/main/AndroidFloatingWebView (i #file appariranno quando avrò fatto). 💣️