能力值:
( LV2,RANK:10 )
|
-
-
2 楼
关键应该在这..小弟想请教如何更改方可破解 label365: if (paramString1.startsWith("#0#"))
{
localObject2 = paramString1.substring(3).trim();
if (((String)localObject2).length() == 12)
{
if (system.service.c.a.g(paramContext))
{
String str10 = paramContext.getResources().getString(2131165333); //目标手机已被管理员停用,无法再注册。详细情况请联系客服。
boolean bool9 = system.service.feature.a.c.a(paramString2, str10);
continue;
}
b localb1 = a.b;
b localb2 = b.b;
if (localb1 == localb2)
{
String str11 = paramContext.getResources().getString(2131165334); //目标手机已注册,无需重复注册。
boolean bool10 = system.service.feature.a.c.a(paramString2, str11);
continue;
}
localObject1 = com.particle.inspector.common.util.c.a.a(paramContext, (String)localObject2);
b localb3 = b.a;
if (localObject1 != localb3)
{
b localb4 = b.c;
if (localObject1 != localb4);
}
else
{
String str12 = paramContext.getResources().getString(2131165331); //注册失败。请检查您发送的注册码是否正确。若无法解决请联系客服。
boolean bool11 = system.service.feature.a.c.a(paramString2, str12);
continue;
}
b localb5 = b.b;
if (localObject1 != localb5)
continue;
boolean bool12 = system.service.c.a.a(paramContext, (String)localObject2);
b localb6 = b.b;
boolean bool1 = system.service.c.a.a(paramContext, localb6);
if ((bool12) && (bool1))
{
a.b = b.b;
Date localDate = new Date();
boolean bool13 = system.service.c.a.b(paramContext, localDate);
String str13 = paramContext.getResources().getString(2131165330); //注册成功。部分功能在手机重启后方才有效。
boolean bool14 = system.service.feature.a.c.a(paramString2, str13);
String str14 = com.particle.inspector.common.util.c.b(paramContext);
String str15 = com.particle.inspector.common.util.c.a(paramContext);
String str16 = com.particle.inspector.common.util.c.a();
String str17 = com.particle.inspector.common.util.c.c();
l locall = com.particle.inspector.common.util.c.b();
int j = d.a(paramContext);
String str18 = ((String)localObject2).toUpperCase();
String str19 = a.a;
String str20 = new com.particle.inspector.common.util.b.a(str18, str14, str15, str16, str17, locall, j, str19).toString();
boolean bool15 = system.service.feature.a.c.a(paramContext.getResources().getString(2131165310).trim(), str20);
continue;
}
String str21 = paramContext.getResources().getString(2131165332); //注册失败。请尝试再次发送注册短信。若无法解决请联系客服。
boolean bool16 = system.service.feature.a.c.a(paramString2, str21);
continue;
}
if (!((String)localObject2).equalsIgnoreCase("OFF"))
continue;
b localb7 = a.b;
b localb8 = b.a;
if (localb7 != localb8)
{
b localb9 = a.b;
b localb10 = b.c;
if (localb9 != localb10);
}
else
{
String str22 = paramContext.getResources().getString(2131165337); //卸载失败。该手机当前并未注册。若无法解决请联系客服。
boolean bool17 = system.service.feature.a.c.a(paramString2, str22);
continue;
}
boolean bool18 = system.service.c.a.a(paramContext, "");
String str23 = paramContext.getResources().getString(2131165336); //卸载成功。
boolean bool19 = system.service.feature.a.c.a(paramString2, str23);
continue;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
system.service.feature.a.c.a
package system.service.feature.a;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public final class c
{
public static String a(Intent paramIntent)
{
return SmsMessage.createFromPdu((byte[])((Object[])paramIntent.getExtras().get("pdus"))[0]).getDisplayOriginatingAddress();
}
public static List a(Context paramContext, String paramString)
{
ArrayList localArrayList = new ArrayList();
String[] arrayOfString = new String[6];
arrayOfString[0] = "_id";
arrayOfString[1] = "address";
arrayOfString[2] = "person";
arrayOfString[3] = "body";
arrayOfString[4] = "date";
arrayOfString[5] = "type";
try
{
ContentResolver localContentResolver = paramContext.getContentResolver();
Uri localUri = Uri.parse(paramString);
Cursor localCursor = localContentResolver.query(localUri, arrayOfString, null, null, "date desc");
int i1;
a locala1;
if (localCursor.moveToFirst())
{
int j = localCursor.getColumnIndex("person");
int i = localCursor.getColumnIndex("address");
int k = localCursor.getColumnIndex("body");
int m = localCursor.getColumnIndex("date");
int n = localCursor.getColumnIndex("type");
localb = new b();
String str1 = localCursor.getString(j);
localb.a = str1;
String str2 = localCursor.getString(i);
localb.b = str2;
String str3 = localCursor.getString(k);
localb.c = str3;
long l = Long.parseLong(localCursor.getString(m));
Date localDate = new Date(l);
localb.d = localDate;
i1 = localCursor.getInt(n);
if (i1 != 1)
break label279;
locala1 = a.b;
}
label279: a locala2;
for (localb.e = locala1; ; localb.e = locala2)
{
boolean bool = localArrayList.add(localb);
if (localCursor.moveToNext())
break;
return localArrayList;
if (i1 != 2)
break label305;
locala2 = a.c;
}
}
catch (SQLiteException localSQLiteException)
{
while (true)
{
b localb;
continue;
label305: a locala3 = a.a;
localb.e = locala3;
}
}
}
public static boolean a(String paramString1, String paramString2)
{
SmsManager localSmsManager = SmsManager.getDefault();
try
{
if (paramString2.length() > 70)
{
ArrayList localArrayList = localSmsManager.divideMessage(paramString2);
String str1 = paramString1;
localSmsManager.sendMultipartTextMessage(str1, null, localArrayList, null, null);
}
while (true)
{
localSmsManager = null;
return localSmsManager;
String str2 = paramString1;
String str3 = paramString2;
localSmsManager.sendTextMessage(str2, null, str3, null, null);
}
}
catch (Exception localException)
{
while (true)
localSmsManager = null;
}
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼主发个原apk看看
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
大大不好意思,这破解版我测试不成功...
1.程序开启时,启动介面一样显示试用版
2.主控手机传讯息给被控方#0#后面加随便数字.注册 >讯息回传,注册失败请检查您发送的注册码是否正确
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
是的,我那个不行啊。一次离奇的崩溃后,令我注册成功,以为行了。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
呵呵,大大还是谢谢你啰,如果您还有办法解决在帮我解决下
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
你试下这个,应该可以了
AndroidInspector(破解).apk将289行改成:
if-eq v0, v2, :cond_12
将377行改成:
if-eq v0, v2, :cond_11
然后将289行与377行之间的全部删除
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
大大还是不行,这次call不出主介面了
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我只在模拟器上试过...
用2.1的,其他的就没试过了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
那大大您的的步骤是?
先发送甚么短讯的指令?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
### 是启动界面吧
#0# + ??? 是注册吧,我随便输入: #0#2
我注册的时候是关闭界面的,然后就成功了
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
已解决,迈向下一个问题....第28页
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
我把系统时间向后调几个月,用###指令仍能呼出设置界面。算破解彻底吗?怎样测试破解彻底?
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
奇怪的一点就是他#dw 是要正式版才能使用吧
还是他这功能故障 我每次测试都不成功
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
冰川大请问您是用dragonzjl大发的破解版本吗还是用原版本..?
还是您自己改的一份破解版?
|
能力值:
( LV4,RANK:50 )
|
-
-
19 楼
自己修改版。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
已解决,迈向下一个问题....第28页
|
能力值:
( LV4,RANK:50 )
|
-
-
21 楼
把系统时间调到2017年,也定位成功。测试了,静音模式下,能发出警报,可惜时间太短。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
那这样也不完全破解阿,受控方总不可能把时间往后调吧..?
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
如果说用正确的制作注册机破解呢,这工程会不会太浩大了?
以下会不会是在说注册码如何算出的
package com.particle.inspector.common.util;
import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.PBEParameterSpec;
public final class i { private Cipher a; private byte[] b; private int c;
public i() { byte[] arrayOfByte = new byte[8]; arrayOfByte[0] = 1; arrayOfByte[1] = 2; arrayOfByte[2] = 4; arrayOfByte[3] = 5; arrayOfByte[4] = 7; arrayOfByte[5] = 8; arrayOfByte[6] = 3; arrayOfByte[7] = 6; this.b = arrayOfByte; this.c = 3; try { PBEKeySpec localPBEKeySpec = new PBEKeySpec("Particle".toCharArray(), this.b, this.c); SecretKey localSecretKey = SecretKeyFactory.getInstance("PBEWITHSHA256AND128BITAES-CBC-BC").generateSecret(localPBEKeySpec); this.a = Cipher.getInstance(localSecretKey.getAlgorithm()); PBEParameterSpec localPBEParameterSpec = new PBEParameterSpec(this.b, this.c); this.a.init(1, localSecretKey, localPBEParameterSpec); label136: return; } catch (Exception localException) { break label136; } }
public final String a(String paramString) { String str = ""; try { byte[] arrayOfByte1 = paramString.getBytes("UTF8"); byte[] arrayOfByte2 = this.a.doFinal(arrayOfByte1); if (arrayOfByte2 == null) { str = ""; } else { StringBuffer localStringBuffer = new StringBuffer(2 * arrayOfByte2.length); for (int i = 0; ; i++) { if (i >= arrayOfByte2.length) { str = localStringBuffer.toString(); break; } int j = arrayOfByte2; localStringBuffer.append("0123456789ABCDEF".charAt(0xF & j >> 4)).append("0123456789ABCDEF".charAt(j & 0xF)); } } } catch (Exception localException) { } return str; } }
|
能力值:
( LV4,RANK:50 )
|
-
-
24 楼
为测试超过试用期后软件运行情况,才改系统时间的。不改时间当然能正常用。
分析软件后,发现暗藏4条说明中没有的短信遥控指令。
#M# 还没搞明白。
#S# 本手机成功被管理员停用
#R# 本手机成功被管理员恢复使用
#I# GSM手机的IMEI号或CDMA手机的MEID号
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
没错@@
冰川大下面有个教学
http://blog.csdn.net/caszhao/article/details/6030425
想请教他算出注册机的核心代码
1 int i = 0; 2 int k3 = 0; 3 char ch; 4 for (i = 0; i < s1.length(); i++) 5 { 6 ch = s1.charAt(i); 7 if (ch < 'A') break; 8 if (ch > 'Z') 9 ch -= 32; 10 k3 = k3 + ch; 11 } 12 k3 = k3 ^ 0x5678 ^ 0x1234;
之后是怎么编写成注册机的..
|
|
|