Alright men/ladies welcome back to another tutorial ib this tutorial you'll learn how to modify Developer Assistant that's used to modify apps on your devices.. You'll be learning how to make it "Permanent Commercial Licence"..
So I'll be using just MT Manager So extract 'Developer Assistant' now goto & View & open classes.dex head over to search "Permanent"
search results (2) - "permanent"
Goto the navigation icon & copy field signature then find usage
This should be what you copied
Now Replace .Line 2 & .Line 7 & paste in the field signature
Should Look Like This
Now just save & exit you're work like so
When you install you work you'll notice the chances instantly "Permanent Commercial Licence".
You need to enter & or goto
The red highlight is edited & I've added sget-object
If you can't understand it here is a video showing you
Reverse Engineer // Developer Assistant // Permanent Commercial Licence // Educational Purpose Only - YouTube
The Before and After
Right you're all done take care now...!!
So I'll be using just MT Manager So extract 'Developer Assistant' now goto & View & open classes.dex head over to search "Permanent"
search results (2) - "permanent"
Code:
com.jw.devassist.domain.license
[I]C[/I]
[COLOR="#00FFFF"]const-string v4, "Permanent"[/COLOR]
[I]Validity[/I]
const-string v2, "Permanent"
Code:
method static constructor <clinit>()V
.registers 10
.line 1
new-instance v0, Lcom/jw/devassist/domain/license/c;
sget-object v1, Lcom/jw/devassist/domain/license/b;->d:Lcom/jw/devassist/domain/license/b;
sget-object v2, Lcom/jw/devassist/domain/license/Validity;->Permanent:Lcom/jw/devassist/domain/license/Validity;
const/4 v3, 0x0
const-string v4, "Permanent"
invoke-direct {v0, v4, v3, v1, v2}, Lcom/jw/devassist/domain/license/c;-><init>(Ljava/lang/String;ILcom/jw/devassist/domain/license/b;Lcom/jw/devassist/domain/license/Validity;)V
sput-object v0, Lcom/jw/devassist/domain/license/c;-[COLOR="#00FFFF"]>f:[/COLOR]Lcom/jw/devassist/domain/license/c
Goto the navigation icon & copy field signature then find usage

This should be what you copied
Code:
Lcom/jw/devassist/domain/license/c;->f:Lcom/jw/devassist/domain/license/c;

Code:
sget-object v0, Lcom/jw/devassist/domain/license/c;->f:Lcom/jw/devassist/domain/license/c;
const/4 v1, 0x0
invoke-direct {p0, v0, v2, v2, v1}, Lcom/jw/devassist/domain/license/l;[COLOR="#00FFFF"]-><init>[/color]
Now Replace .Line 2 & .Line 7 & paste in the field signature
Code:
.method public constructor <init>(Lcom/jw/devassist/domain/license/c;)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->a:Lcom/jw/devassist/domain/license/c;
const/4 p1, 0x0
.line 3
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->b:Ljava/util/Date;
.line 4
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->c:Ljava/lang/Integer;
const/4 p1, 0x0
.line 5
iput-boolean p1, p0, Lcom/jw/devassist/domain/license/l;->d:Z
return-void
.end method
.method public constructor <init>(Lcom/jw/devassist/domain/license/c;Ljava/util/Date;Ljava/lang/Integer;Z)V
.registers 5
.line 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 7
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->a:Lcom/jw/devassist/domain/license/c;
.line 8
iput-object p2, p0, Lcom/jw/devassist/domain/license/l;->b:Ljava/util/Date;
.line 9
iput-object p3, p0, Lcom/jw/devassist/domain/license/l;->c:Ljava/lang/Integer;
.line 10
iput-boolean p4, p0, Lcom/jw/devassist/domain/license/l;->d:Z
return-void
.end method
Code:
sget-object p1, Lcom/jw/devassist/domain/license/c;->f:Lcom/jw/devassist/domain/license/c;
Should Look Like This
Code:
.method public constructor <init>(Lcom/jw/devassist/domain/license/c;)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
[COLOR="#FF0000"]sget-object p1, Lcom/jw/devassist/domain/license/c;->f:Lcom/jw/devassist/domain/license/c;[/COLOR]
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->a:Lcom/jw/devassist/domain/license/c;
const/4 p1, 0x0
.line 3
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->b:Ljava/util/Date;
.line 4
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->c:Ljava/lang/Integer;
const/4 p1, 0x0
.line 5
iput-boolean p1, p0, Lcom/jw/devassist/domain/license/l;->d:Z
return-void
.end method
.method public constructor <init>(Lcom/jw/devassist/domain/license/c;Ljava/util/Date;Ljava/lang/Integer;Z)V
.registers 5
.line 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
[COLOR="#FF0000"]sget-object p1, Lcom/jw/devassist/domain/license/c;->f:Lcom/jw/devassist/domain/license/c;[/COLOR]
iput-object p1, p0, Lcom/jw/devassist/domain/license/l;->a:Lcom/jw/devassist/domain/license/c;
.line 8
iput-object p2, p0, Lcom/jw/devassist/domain/license/l;->b:Ljava/util/Date;
.line 9
iput-object p3, p0, Lcom/jw/devassist/domain/license/l;->c:Ljava/lang/Integer;
.line 10
iput-boolean p4, p0, Lcom/jw/devassist/domain/license/l;->d:Z
return-void
.end method
Now just save & exit you're work like so

When you install you work you'll notice the chances instantly "Permanent Commercial Licence".
You need to enter & or goto
The red highlight is edited & I've added sget-object
If you can't understand it here is a video showing you
Reverse Engineer // Developer Assistant // Permanent Commercial Licence // Educational Purpose Only - YouTube
The Before and After

Right you're all done take care now...!!
Last edited: