[CRACK] Wo Mic
This article is for education purpose only, I did this to gain some real life experience, won’t provide the modded apk. If you want the premium features I recommend to buy a license due it’s low price.
Wo Mic is developed by Wolicheng Tech to bridge a phone’s microphone to a pc what doesn’t have any microhone connected.
There’s 2 things behind a paywall:
- Volume changing
- No ADS
Volume changing⌗
Open the original app and try to increase or decrease the volume, it says “Volume adjustment is a premium feature. Subscribe now?”, this is our starting point.
In jadx-gui
open the apk and search for the string Volume adjustment is
and we find a reference in res/values/string.xml
, open it.
The string is stored in the info_volume_premium_feature
variable, check where is it used with string search again.
In the MainActivity
it’s assigned to the string
variable.
public final void C(int i) {
c.c.a.c cVar = this.s;
if (cVar.f) {
cVar.e(i);
if (this.z) {
VoiceService.this.f.m = i;
}
Toast.makeText(this, "New volume level: " + i, 0).show();
return;
}
cVar.e(5);
if (this.u) {
return;
}
String string = getString(R.string.info_volume_premium_feature);
...
}
By default cVar.f
is false, because we don’t have an active license. It would be hard to patch the whole premium checking. The thing we do is changing if (cVar.f) {}
to if (!cVar.f) {}
.
First decompile the apk.
apktool d app-release-4_7_1.apk
Then search for the if statement in smali
source code.
$ cd app-release-4_7_1 && grep -rwn 'New volume level:'
smali/com/wo/voice2/MainActivity.smali:848: const-string v1, "New volume level: "
It’s in line 848, a bit above we see 2 if-eqz
, these are the if statements, we will need the first one.
if-eqz
is if equal basically, we want the opposite, so we change if-eqz
to if-nez
which is if not equal, so we get the premium feature if we don’t have an active license.
This is how it should look now:
.line 2
iget-boolean v1, v0, Lc/c/a/c;->f:Z
const/4 v2, 0x0
if-nez v1, :cond_1
.line 3
invoke-virtual {v0, p1}, Lc/c/a/c;->e(I)V
.line 4
iget-boolean v0, p0, Lcom/wo/voice2/MainActivity;->z:Z
if-eqz v0, :cond_0
We’re done with the half of the work. In the hamburger menu we can change the volume now.
No Ads⌗
Coming soon™
Install⌗
Build⌗
apktool b app-release-4_7_1 -o mod_app-release-4_7_1.apk
Keygen⌗
keytool -genkey -v -keystore mod-app-release-4_7_1.keystore -alias mod_app-release-4_7_1 -keyalg RSA -keysize 2048 -validity 10000
Keygen is required to sign the apk, the password must be more than 6 characters, but can be dummy, because we won’t use it anywhere else.
Sign⌗
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mod-app-release-4_7_1 mod_app-release-4_7_1.apk mod_app-release-4_7_1
Just press enter everywhere where it ask for information, except where the prompt is [no]:
, here we have to type yes.
Install⌗
adb install mod_app-release-4_7_1.apk
Happy hacking!