This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final void changeMass(final int n) { | |
this.setState("mass", this.getState("mass", 0) + n); | |
} | |
public final void changeHappy(final int n) { | |
this.setState("happy", this.getState("happy", 0) + n); | |
} | |
public final void changeClean(final int n) { | |
this.setState("clean", this.getState("clean", 0) + n); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final void play(@NotNull final View view) { | |
Intrinsics.checkParameterIsNotNull(view, "view"); | |
this.saveActivity("p"); | |
this.changeMass(-2); | |
this.changeHappy(4); | |
this.changeClean(-1); | |
this.playUi(); | |
} | |
public final void clean(@NotNull final View view) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final void saveActivity(@NotNull final String str) { | |
Intrinsics.checkParameterIsNotNull(str, "activityType"); | |
final String state = this.getState("activity", ""); | |
final StringBuilder sb = new StringBuilder(); | |
sb.append(state); | |
sb.append(str); | |
this.setState("activity", sb.toString()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final int getStat(final char c) { | |
final String string = PreferenceManager.getDefaultSharedPreferences((Context)this).getString("activity", ""); | |
Intrinsics.checkExpressionValueIsNotNull(string, "act"); | |
final String s = string; | |
int n; | |
int n2; | |
for (int i = n = 0; i < s.length(); ++i, n = n2) { | |
final boolean b = s.charAt(i) == c; | |
n2 = n; | |
if (b) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final boolean isHappy() { | |
final double n = this.getStat('f') / (float)this.getStat('p'); | |
return n >= 2.0 && n <= 2.5; | |
} | |
public final boolean isEcstatic() { | |
final boolean b = false; | |
final int state = this.getState("mass", 0); | |
final int state2 = this.getState("happy", 0); | |
final int state3 = this.getState("clean", 0); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final boolean isHappy() { | |
final double n = this.getStat('f') / (float)this.getStat('p'); | |
return n >= 2.0 && n <= 2.5; | |
} | |
public final boolean isEcstatic() { | |
final boolean b = false; | |
final int state = this.getState("mass", 0); | |
final int state2 = this.getState("happy", 0); | |
final int state3 = this.getState("clean", 0); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
KEYSTORE=$1 | |
ALIAS=$2 | |
APK=$3 | |
if [ "$#" -ne 3 ]; then | |
echo "Usage: $0 [keystore] [alias] [apk]" | |
exit 0 | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ find flarebear_source -type f -name "*.java" | xargs egrep -i "(secret|password|flag)" | |
... CONTENT SNIPPED ... | |
./com/fireeye/flarebear/FlareBearActivity.java: public final void danceWithFlag() { | |
./com/fireeye/flarebear/FlareBearActivity.java: final String password = this.getPassword(); | |
./com/fireeye/flarebear/FlareBearActivity.java: final byte[] decrypt = this.decrypt(password, bytes); | |
./com/fireeye/flarebear/FlareBearActivity.java: final byte[] decrypt2 = this.decrypt(password, bytes2); | |
./com/fireeye/flarebear/FlareBearActivity.java: public final |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final void danceWithFlag() { | |
final InputStream openRawResource = this.getResources().openRawResource(2131427328); | |
Intrinsics.checkExpressionValueIsNotNull(openRawResource, "ecstaticEnc"); | |
final byte[] bytes = ByteStreamsKt.readBytes(openRawResource); | |
final InputStream openRawResource2 = this.getResources().openRawResource(2131427329); | |
Intrinsics.checkExpressionValueIsNotNull(openRawResource2, "ecstaticEnc2"); | |
final byte[] bytes2 = ByteStreamsKt.readBytes(openRawResource2); | |
final String password = this.getPassword(); | |
try { | |
final byte[] decrypt = this.decrypt(password, bytes); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
obfuscated = [ | |
'\u0003', | |
' ', | |
'&', | |
'$', | |
'-', | |
'\u001e', | |
'\u0002', | |
' ', | |
'/', |
NewerOlder