Skip to main content

Posts

Showing posts from January, 2020

Solved mission critical problem using reverse engineering

Here I'm sharing an incident that happened in 2017, when I had managed to solve a mission critical problem using reverse engineering and what I have learnt from it. The incident was when I have been allocated a migration task. My whole project was migrated to webpack from system.js due to which integration build generator broke. So I got this task to migrate that integration build generator too and make it compatible to webpack within a week. I knew that I got this after another colleague failed to complete it in previous sprint. So there was a higher chance of missing the deadline because half of the time was already got consumed by previous colleague. I got this issue when it was about to be escalated in case I fail. I thought if I'll go by the same path as my colleague then I may get the same result that he got. So I changed my strategy and look into the problem by reverse engineering it. Well, doing that gave me enough hints to solve the problem and fix the generator by

How to secure Cordova based hybrid Android mobile app?

The incident I'm sharing here was happened in 2015, when we faced a complicated technical problem while working on an IoT project.  We were having a mobile app to control smart electronic appliances that consumes our web-service. A third party group somehow managed to use our mobile app with their service. We assume that they had reverse engineered to crack the services. So we had to protect our mobile app which was Cordova based hybrid cross-platform app.  I have been allocated to analyse this issue and propose a solution. So during my initial analysis I found that first we should secure the mobile application installer because Android's .apk installation file usually packaged together all the resource files used in the hybrid project. Crackers could reverse engineer it to get those files. I know that we can ensure protection only by increasing the level of security. So I minified all the files, bundled together and applied obfuscation over it; which made hybrid portion

Why did Vedic Mathematics originated?

What do you think, why did the vedic mathematics originated? According to the popular beliefs related to Ancient people in Indian sub-continent that since they did not had access to paper or similar material where they can carry out long calculations. So they would require to carry out whole calculations mentally because any kind of calculating machines was out of question in those times. Well the real reason is way beyond that, which is related to our saints and maharishis of those times. By studying the scriptures of ancient maharishis, we came to know that almost all the maharishis were like scientist and were great yogis. In ancient India, maharishis used to separate their soul out of their body but still linked to their respective bodies using advanced yoga techniques that might be related to kundalini yoga or something similar. Similar, soul-out-of-body concept was shown in the "Dr. Strange (2016)" movie that they called astral form . Soul neither have mass

Speed test of wasm at node vs deno vs wapm

Recently, I have created an app in Rust language for  macOS then to make it cross-platform, ported it for other platforms using WebAssembly. I have ported the app for these platforms: WAPM ⟶ Using WASI file as binary, i.e., generated via Rust Deno ⟶ Using WASM file as library, i.e., generated via Rust Node.js ⟶ Using WASM file as library, i.e., generated via Rust Initially, I had made it on macOS where it runs very fast but on Windows it gets slowed down so much that is clearly visible. So I tried to measure it somehow for which I took a command for the app which decodes the input parameter. Here is that command, > ds -d 31kk ⟶ 3-1-2020 Now I need to measure the timelapse after each execution for which I'd used > w32tm /query /status /verbose | find "Time since" && node ds -d 31kk && w32tm /query /status /verbose | find "Time since" && deno ds -d 31kk && w32tm /query /status /verbose | find "Time sin