Details of the "KangaPack" packer (used in Fluhorse). It packs the payload in its own classes.dex format.
Also, it's a good opportunity to use ImHex - a lovely hex editor with pattern editor etc.
"This article delves into the reverse engineering of Dart executable or Flutter release applications. We focus on the reverse engineering of byte arrays."
Some Clojure developers developed a means of targeting the DartVM so that they can write Dart and Flutter apps with Clojure. As an old Kotlin fan I'm wondering if Kotlin developers could do something comparable. The advantage to that would be being able to have a DSL for defining Flutter Widgets. A few more tweaks to the Dart language we could do it natively of course but we aren't there yet and not sure there is any impetus to get us there. It is one thing I miss with TornadoFX and KotlinJS DOM manipulation. #Dart#Flutter#Clojure#Kotlin#JavaScript "Joyful Cross platform Development with ClojureDart" by Christophe Grand and Baptiste Dupuch
I've published a blog post on reverse engineering Dart. This is the programming language used by Flutter.
This is a specific point on a non-standard way Dart assembly performs routine calls. It explains why decompilers just don't get it right when it comes to Dart...
Early #Perl luminary and author (#OReilly camel and llama books, many magazine articles, etc.) Randal Schwartz, a/k/a merlyn, is in dire financial straits.
He needs gainful #employment NOW of any kind, and although his #programming language of choice now is #Dart and the #Flutter framework, he’s willing to fall back on his @Perl chops.
After some time off (#Trainabout / #EnbyOnTrain, my father’s death, processing good and bad memories), I am back baby!
Back to the Future… no, back to work!
Today I’ll try implementing the now agreed-upon “Forward Message” feature for #Ginlo / #Cicero / #Ginlo_II.
The problem with “Forward Message” is similar to the “Quote Toot” here on Fedi: you don’t want to offer a feature that could be misused to harass or fire-up people. You just want to have a feature that people can use to communicate with each other respectfully.
Yes, I know, I am only the creator of a tool and I am not responsible for how the tool is used. But, hey, if I can create the tool in a way that misusing it to harm someone is really difficult, then I should. At least, that’s my way of thinking.
I am a veteran software engineer who works as a freelancer from their home.
I love modernizing ancient software by carefully, slowly rewriting while it is still operating - without disruptions.
Currently I have two wonderful, awesome, really amazing clients between whom I split my time roughly about 50:50.
For the first one, I am the "Primus inter pares" in a team rewriting a 20-yo C++ & JS-based system in modern nodeJS + Typescript. My main job there is not to write code (it seems), but review PRs, review code, give coding guidelines, merge PRs, and make sure everything my team needs is there: test servers, development server, on-premise Gitlab, on-premise Mattermost, a good/respectful/lovely atmosphere, a lot of fun, and what else we need to deliver an awesome product. The team is amazing, the atmosphere is full of respect and love; I will stay with this team as long as I can.
For the second client, I am rewriting a 15+ year old system (Java, Java/Swift/Vue1.x-FE; rpc-like crap-API) using go(BE), gRPC (API) and dart/flutter (FE).
Here I am the core developer for the new client and the new back-end. The back-end is, for now, a proxy/a wrapper around the existing one. Behind that wrapper, two wonderful co-workers are modernizing & optimizing the Java-BE. This team here is equally as lovely as one can ever hope for; and yes, I will stay with this team as long as I can as well.
Oh, and BTW: people in both teams are nearly 100% remote.
I am married to a wonderful, an absolutely amazing person who is so full of love that she sometimes struggles with the universe (or with humanity). And I am a proud father (yes, "father"*) of a woman with a brilliant Beautiful Mind and a heart as big as the universe (who also happens to have Mastery of Words™️).
I love learning new things from complete strangers. The stranger the new knowledge the more fascinating it is for me.
I have a #FragMyBrain (autistic, ocd, nd) so be ready for detailed explanations, where each word is carefully chosen & positioned in the sentence, but still some missing - when you ask me something.
I quickly fall in love with brilliant people with language mastery skills - Mastery of Words™️.
You can always shitpost with me & talk garbage - as long as it is done intelligently, with wit & humor, and respect.
The fastest way to land on my block list is not to make a mistake, but to repeatedly make the same stupid mistake again and again and insist on it being right. There is always enough space in the "Dungeon of Blocked Accounts" (and being racists, queer-/transphobic, ableist, disrespectful, white supremecist, etc., etc. - you know what I mean).
I will add CW and mark as sensitive whenever I think so. If I forget once, please inform me and I'll correct it as fast as I can. I don't discuss whether something needs CW/sensitive marker or not, I just accept it.
I wear my feelings on my skin, i.e. what you see is how I really am, there is no IRL Imdat Celeste and a different, Fediverse Imdat Celeste: you will see a lot of 🫂,💜,😍,🥰,🥹,😳... and more. If you feel it is intruding, please let me know.
I come over differently, but I am also insecure: so, I will add a lot of emojis - just to be sure.
Also, please don't expect a "normal person" here: I am completely, utterly, hopelessly an un-normal person.
Also, my posts my start with one specific topic but during the text itself it may just become something completely different - "Train of Thought".
Again, nice to meet you - I am always looking for more new friends...
*: I am a trans non-binary person. When I came out to her, my daughter asked me how she should call me from then on and since it is an honor to be her father, that, yeah, I am and will always be that.
> Why build a cross platform social media client?
Trying to see how far I can stretch the capabilities of #flutter before I want to pull my hair out and beat my skull into the keyboard. So far, not many dents in the desk (or my head for that matter). The framework and language (#dartlang) have been super simple to pick up and run with.
Ian "Hixie" Hickson editor of #WhatWG HTML specification for 10 years, in January 2023 criticises the use of #HTML, #CSS, #Javascript for intricate #Web applications, and proposes an alternate approach based on 4 lower-level #OpenStandards:
Is there a language that handles dependencies well?
Python's virtual environments are a bit awkward but everything mostly works, I haven't played with Java build tools much, Javascript is a trainwreck. I've been happy with Dart, but haven't gotten into the weeds much. Same with rust, cargo seems nice, but I haven't played with it enough to know the pitfalls yet.
Continuing with my joy levels about the Dart 3 switch statement, yes it is as powerful as Kotlin's ever was. For example one can now do something like this (admittedly contrived but you get the point) #dartlang#dart3#flutter
When Dart overtook Kotlin as my favorite language I still missed certain features of Kotlin. One was the incredibly powerful switch statement, called "when", that Kotlin had and being able to use that for assignment. Now that Dart 3 is out I now have the equivalent of that again :). It may be missing a couple of edge case features like "in" comparisons but I have to experiment more to determine that. Hats off Dart and Flutter Team. (Screenshot from the "What's New in Dart and Flutter" presentation from #GoogleIO#GoogleIO2023#flutter#dart#kotlin
Learning #flutter and #dart today. Love how non-confrontational it us when it says something like. "You can develop apps for #Android or #iOS, but you need an #apple machine for iOS".
Is that the only reason there is no #GPL code in the iOS #appstore? Too many proprietary apple dependencies? Is it possible to develop iOS apps on #BSD ?
This week is Google IO, and I am not looking forward to the Pixel Fold, Maybe the Pixel Tablet, but I am really looking forward to what we get with #AI and #Flutter. #GoogleIO
I'm considering making an attempt at a #Flutter-based (of course) chat app that favors SimpleX for private messages and small groups, and supports IRCv3 for large groups.
The SimpleX part alone is bound to be a tall order, and so I'm probably not going to do that. Just throwing the thought out there that it might be a good idea.
It looks like slowly native android development will be reserved for more advanced apps (apps that needs to do more than asking for API call to get and show the data).
Hmm I want to do some frontend (both web and mobile, maybe progressive web apps) but I hate Javascript.
Hard choice between #flutter or #dotnet#blazor (not really the same I know.)
Any advice ?
Reversing Flutter Apps: Dart’s Small Integers (cryptax.medium.com)
"This article delves into the reverse engineering of Dart executable or Flutter release applications. We focus on the reverse engineering of byte arrays."