A few analytical Good articles:
Http://www.pd521.com/thread-114-1-1.html Xxoo
http://www.pd521.com/thread-113-1-1.html Myoldid (reply, A.)
For the analysis of the software, this process does not need to say, we see it is, the following analysis is completed after the idea.
Details are no longer described:
Smali layer key points :
Native layer key points:
0x1:
Modify the Smali layer to set the incoming parameter v0 to an int value of 1.
0x2:
For this apk , the default display of the Normal User
Modify the string as long as you like, and extra space is not necessary:
0x3:
Determine the incoming parameters, mainly R2, so the R2 with a few numbers to compare, so this comparison to kill it, that is, modify the instruction of the XX to replace, Then the program has to go through the process of Gold Vip below .
Here can also change BNE for BEQ, the same effect, but recommend the above way.
0x4:
The core parameter is the incoming R2, as you can see from the assembly code below,r2=1 is the key point.
So, after the push command is complete, we'll modify the first CMP and BEQ later .
Mov R2, #1 ,Nop.
Because the direct modification, the following multiple BEQ processing is useless, so direct Nop off can be.
That is , xx
Source Code Reference:
After reading this, and then compare the analysis of so inside the display effect, nature will understand, you can simply summarize, so in a similar situation, not if else, is Switch.
<span style= "FONT-SIZE:18PX;" >jniexport jstring jnicall java_com_ggndktest1_jnigg_viplevel (jnienv * env, Jobject this,jint a) {int c= (int) A; Const char* VIP = "", switch (c) {case 1:vip= "Gold vip", Break;case 2:vip= "silvery VIP"; break;case 3:vip= "Copper VIP"; break; default:vip= "Normal User"; Return (*ENV)->newstringutf (env, VIP);} </span>
This series of articles are also invited by the webmaster , to www.pd521.com starter.
Follow the ghost brother to learn so to revise, three, the answer article