Today I focused on a popular a paranormal hunting application called ParaTek. It uses random AI status bars, and magnetic field readings to show any
fluctuations.
Dictionary Type:
-> Hard coded word list. (View here)
-> Hard coded word list. (View here)
Dictionary Source Used:
-> Ovilus Word List. (https://www.digitaldowsing.com/word-list/)
Developed with:
-> App Inventor. (https://appinventor.mit.edu/)
To keep this short, I'll refer to AppInventors main website, displaying examples of how you can use a list of words to be randomly selected from, then have it speak to you out loud. Here is the example: https://appinventor.mit.edu/explore/ai2/magic-8-ball. In this example tutorial, they demonstrate creating a "list" of words, and having it select random items from it and speak out the results to the users using a text to speech engine.
Now, to the actual code that is decompiled.
For the random "AI" status bars that are shown:
public Object AICLOCKSPPED$Timer() { runtime.setThisForm(); runtime.setAndCoerceProperty$Ex(Lit2979, Lit1410, runtime.callYailPrimitive(strings.string$Mnappend, LList.list3("AI : CLK : ", runtime.callYailPrimitive(runtime.random$Mninteger, LList.list2(Lit3241, Lit3242), Lit3243, "random integer"), " %"), Lit3244, "join"), Lit1412); runtime.setAndCoerceProperty$Ex(Lit2980, Lit1410, runtime.callYailPrimitive(strings.string$Mnappend, LList.list3("AI 1 : ", runtime.callYailPrimitive(runtime.random$Mninteger, LList.list2(Lit3245, Lit3242), Lit3246, "random integer"), " %"), Lit3247, "join"), Lit1412); runtime.setAndCoerceProperty$Ex(Lit2981, Lit1410, runtime.callYailPrimitive(strings.string$Mnappend, LList.list3("AI 2 : ", runtime.callYailPrimitive(runtime.random$Mninteger, LList.list2(Lit3025, Lit3242), Lit3248, "random integer"), " %"), Lit3249, "join"), Lit1412); return runtime.setAndCoerceProperty$Ex(Lit2982, Lit1410, runtime.callYailPrimitive(strings.string$Mnappend, LList.list3("AI 3 : ", runtime.callYailPrimitive(runtime.random$Mninteger, LList.list2(Lit3241, Lit3242), Lit3250, "random integer"), " %"), Lit3251, "join"), Lit1412); }
Here we can clearly see that it is using AppInventors "Random Integer" command to randomly choose integers and display them as a percentage. No real usage of the phones hardware in terms of magnetic fields or any real progression at all.
Next, we look at the way the built in dictionaries are handled:
static Object lambda50() { SimpleSymbol simpleSymbol = Lit4; ModuleMethod moduleMethod = runtime.yail$Mnlist$Mnpick$Mnrandom; ModuleMethod moduleMethod2 = runtime.make$Mnyail$Mnlist; Pair list1 = LList.list1(runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DADDY"), Lit1356, "downcase")); LList.chain1(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(LList.chain4(list1, runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DAN"), Lit1357, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DARKNESS"), Lit1358, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DASH"), Lit1359, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DATE"), Lit1360, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DAVE"), Lit1361, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DAVID"), Lit1362, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DAWN"), Lit1363, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DAY"), Lit1364, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEAD"), Lit1365, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEAL"), Lit1366, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("STUDY"), Lit1367, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEATH"), Lit1368, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEBBIE"), Lit1369, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEBRA"), Lit1370, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DECEIT"), Lit1371, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DECEMBER"), Lit1372, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DECIDED"), Lit1373, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DECOMPOSE"), Lit1374, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEEP"), Lit1375, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEMAND"), Lit1376, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEMON"), Lit1377, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DENSITY"), Lit1378, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEPLETE"), Lit1379, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DESCRIBE"), Lit1380, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DESERT"), Lit1381, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DESIGNATE"), Lit1382, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DESOLATE"), Lit1383, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DETAILS"), Lit1384, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DETERMINE"), Lit1385, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEVELOPED"), Lit1386, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEVICE"), Lit1387, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DEVIL"), Lit1388, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DIABLO"), Lit1389, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DICTION"), Lit1390, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DIED"), Lit1391, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DIFFERENT"), Lit1392, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DIFFICULT"), Lit1393, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DO NOT"), Lit1394, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DOUBT"), Lit1395, "downcase"), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DRIVE"), Lit1396, "downcase")), runtime.callYailPrimitive(runtime.string$Mnto$Mnlower$Mncase, LList.list1("DUG"), Lit1397, "downcase")); runtime.addGlobalVarToCurrentFormEnvironment(simpleSymbol, runtime.callYailPrimitive(moduleMethod, LList.list1(runtime.callYailPrimitive(moduleMethod2, list1, Lit1398, "make a list")), Lit1399, "pick random item")); return runtime.callComponentMethod(Lit28, Lit29, LList.list1(runtime.lookupGlobalVarInCurrentFormEnvironment(Lit4, runtime.$Stthe$Mnnull$Mnvalue$St)), Lit1400); }
This is one of many hard coded entries. Now you'll notice it's using a list to connect all the word entries together. The part we want to focus on here is the fact that it's using, once again, the "pick random item" function. This is shown in the examples on AppInventors website posted above.
I have seen no use of the sensors in your phone, other than the graph it generates to give you a false sense of "how it's actually working.".
Conclusion: 10/10 FAKE.
Decompiled Source: HERE.
Comments
Post a Comment