A Swf Mod customized w/ ffdec. Includes an android app that can remotely control the game and its contents such as messaging, playing custom audio and joining lobby's and friends! One of my best work involves multitude of systems. this project includes an Android App, Backend Laravel Framework, NodeJs Sockets for communications between SWF <-> SocketServer <-> Android App & an admin panel to handle the data. It’s a private project of mine but it’s worth showing. This project was inspired off a facebook game yoworld which i had to reverse engineer and add components onto the game. It was pretty data intensive & a fun project to get accustomed to different toolsets and to exercise my development skills as a full stack developer & mobile app developer. Due to personal reasons i cannot share the swf.
Tools:
Postman - Postman is the only complete API development environment, for API developers. to keep track and test api’s ive built on android
FFDec - Opensource flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts. Various output formats available. Works with Java on Windows, Linux or MacOS. This tool was used to reverse engineer the swf game which had to be written in assembly (p-code) to add features.
WireShark - is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. I use this as a network debugger to see what packets im sending to my nodejs server and to my android app and back.
Charles Web Debugger - an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information). Since i had to modify the swf game, i had to replace the swf file via charles to load the modifications
- IDE Used:
IntelliJ (JavaFx Admin Panel/Kotlin), PhpStorm (Laravel/PHP), DataGrip (MySQL DB), Android Studio (Android App/Kotlin), WebStorm (NodeJs Socket Server/JS)
Android App - Built in kotlin, Dagger, MVP, Retrofit, RxJava
Admin Console - Built with JavaFx (Java/Kotlin)
Website - Built with MVC Framework Laravel (PHP), (Used mainly for the backend and API development)
ServerSocket - Built in Node (JS)
Custom SWF - Decompiled and written in P-Code (assembly)
Hosted on Digital Ocean - Ubuntu 16.04
Crutches - Due to the nature of actionscript 3 (not built upon adobe air) I could not used some http methods suchs as Delete, Patch or Put, so the api's have been written for POST and GET methods, while api's for the Android app used all http methods.