We explore how to decompile java source code with the help of publicly available web-based java decompilers. Than recompile it using the standard java compiler. Changing the code in order to confirm receiving UDP packets. With that starting to understand the code of ICT hopefully 😄
Maybe that’s a bit too complex for me, trying to understand just by looking at the code the underlying purpose of ICT. Major reasons:
I am not a coder by professionI have no experience with swarm logicsmy first experience with Java dates back to school-time but that was in the early 90s.…
Anyway — lets just do it.
I am still testing this on my google cloud instance (f1-micro). My text editor is vim (which i have kind of hate/love relationship already) — please have look at my other articles if you want to set this environment up yourself.
This article is not intended to harm or disturb the testing phase of ICT. It documents my trial to understand the underlying mechanics of ICT by looking at the code base (there is not much else at the moment except that — no documentation). I’ve asked Come-from-Beyond on discord #ICT channel to publish this baby steps.
Furthermore I might be totally wrong with my findings 😄
Decompiling the class files
If you were one of the lucky ones able to download the first pre-alpha release from ICT (0.1.1) (in the official IOTA discord channel) you can follow up on all the next steps. If not than maybe there will be the next chance on version 0.1.2. Come-from-Beyond mentioned on discord that he is releasing the code after refactoring anyway soon.
The *.class files (compiled *.java code) are compressed hidden in that little zip file. After you extract the files you could use available online decompliers which try to inverse the compilation by using different strategies.