Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :. Download Smali and Baksmali:
- http://code.google.com/p/smali/
- :. Use Smali/Baksmali to decompile/recompile the classes.dex file from the apk file
- :. Cracking Android Licensing:
- open com/android/vending/licensing/LicenseValidator.smali and look at handleResponse() you'll see something like:
- iget-object v0, p0, Lcom/android/vending/licensing/LicenseValidator;->mPolicy:Lcom/android/vending/licensing/Policy;
- # this function returns true/false depending on if we should allow access
- invoke-interface {v0}, Lcom/android/vending/licensing/Policy;->allowAccess()Z
- move-result v0
- # comment out this jump and protection is gone.
- # you can also make allowAccess() always return 0x1 (true)
- #if-eqz v0, :cond_0
- :. Cracking Amazon Appstore DRM:
- open com/amazon/android/aa/d.smali (this filename/path may be different, so try to look for strings from code below). You need to comment out 3 jumps as seen below:
- # virtual methods
- .method public final a()V
- .registers 6
- const-string v4, "LICENSE_FAILURE_CONTENT"
- iget-object v0, p0, Lcom/amazon/android/aa/d;->b:Lcom/amazon/android/o/d;
- const-string v1, "APPLICATION_LICENSE"
- invoke-virtual {v0, v1}, Lcom/amazon/android/o/d;->b(Ljava/lang/String;)Z
- move-result v0
- # Comment out first jump
- #if-eqz v0, :cond_14
- sget-object v0, Lcom/amazon/android/aa/d;->a:Lcom/amazon/android/u/a;
- const-string v1, "license verification succeeded"
- invoke-virtual {v0, v1}, Lcom/amazon/android/u/a;->a(Ljava/lang/String;)V
- :goto_13
- return-void
- :cond_14
- invoke-virtual {p0}, Lcom/amazon/android/aa/d;->f()Z
- move-result v0
- # Comment out second jump
- #if-eqz v0, :cond_1d
- invoke-virtual {p0}, Lcom/amazon/android/aa/d;->g()V
- :cond_1d
- new-instance v1, Lcom/amazon/android/l/m;
- iget-object v0, p0, Lcom/amazon/android/aa/d;->b:Lcom/amazon/android/o/d;
- const-string v2, "LICENSE_FAILURE_CONTENT"
- invoke-virtual {v0, v4}, Lcom/amazon/android/o/d;->a(Ljava/lang/String;)Ljava/lang/Object;
- move-result-object v0
- check-cast v0, Lcom/amazon/android/l/d;
- # Comment out third jump
- #if-eqz v0, :cond_3d
- iget-object v2, p0, Lcom/amazon/android/aa/d;->b:Lcom/amazon/android/o/d;
- const-string v3, "LICENSE_FAILURE_CONTENT"
- iget-object v2, v2, Lcom/amazon/android/o/d;->a:Lcom/amazon/android/o/b;
- invoke-virtual {v2, v4}, Lcom/amazon/android/o/b;->c(Ljava/lang/String;)V
- :goto_34
- invoke-direct {v1, v0}, Lcom/amazon/android/l/m;-><init>(Lcom/amazon/android/l/d;)V
- iget-object v0, p0, Lcom/amazon/android/aa/d;->c:Lcom/amazon/android/l/f;
- invoke-interface {v0, v1}, Lcom/amazon/android/l/f;->a(Lcom/amazon/android/l/a;)V
- goto :goto_13
- :cond_3d
- sget-object v0, Lcom/amazon/android/aa/f;->e:Lcom/amazon/android/l/d;
- goto :goto_34
- .end method
- :. Recompile your new classes.dex file with Smali
- :. Put the cracked classed.dex file in the root of the apk file
- Resigning:
- :. Remove META-INF folder from the apk file
- :. Generate Key:
- keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000
- :. Sign:
- "C:\Program Files (x86)\Java\jdk1.6.0_21\bin\jarsigner.exe" -verbose -keystore my-release-key.keystore ..\net.kairosoft.android.gamedev3en-1.apk alias_name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement