Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реверс инжениринг Java приложения

72K
11 июня 2011 года
devosx
2 / / 11.06.2011
Здравствуйте, занялся реверс инжинирингом Java приложения, я Java знаком на уровне начинающего программиста, сам в основном пишу на Python. Подскажи плиз, нужно разобраться в коде полученного с .class файла... в частности интересует следующая часть:

Код:
public final void a()                                                                                                                                                        
    {                                                                                                                                                                            
    a_i_static_fld.a(1);                                                                                                                                                          
    if(a_i_static_fld.a())                                                                                                                                                        
    {                                                                                                                                                                            
    object obj;                                                                                                                                                                  
    if(w.b().length() == 0)                                                                                                                                                      
    {                                                                                                                                                                            
    ((random) (obj = new random())).setSeed(system.currentTimeMillis());                                                                                                          
    int j = math.abs(((random) (obj)).nextInt()) % 32000;                                                                                                                        
    j = w.a(new string(c.a((j + "testsalt&").getBytes()))) + w.a(new string(c.a(("testsalt&" + j).getBytes())));                                                                  
    } else                                                                                                                                                                        
    {                                                                                                                                                                            
    j = w.a(new string(c.a((w.b() + "#qwertysalt").getBytes()))) + w.a(new string(c.a(("#qwertysalt" + w.b()).getBytes())));                                                      
    }                                                                                                                                                                            
    a_i_static_fld.b(j.toUpperCase());                                                                                                                                            
    a_i_static_fld.a(false);                                                                                                                                                      
    if(!c.equals("") && !d.equals("") && !e.equals(""))                                                                                                                          
    {                                                                                                                                                                            
    a_i_static_fld.c(c);                                                                                                                                                          
    a_i_static_fld.d(d);                                                                                                                                                          
    a_i_static_fld.e(e);                                                                                                                                                          
    c();                                                                                                                                                                          
    return;                                                                                                                                                                      
    } else                                                                                                                                                                        
    {                                                                                                                                                                            
    b();                                                                                                                                                                          
    return;                                                                                                                                                                      
    }                                                                                                                                                                            
    }                                                                                                                                                                      
    if(!a_i_static_fld.c().equals("") && !a_i_static_fld.d().equals("") && !a_i_static_fld.e().equals(""))                                                                        
    {                                                                                                                                                                            
    c();                                                                                                                                                                          
    return;                                                                                                                                                                      
    } else                                                                                                                                                                        
    {                                                                                                                                                                            
    b();                                                                                                                                                                          
    return;                                                                                                                                                                      
    }                                                                                                                                                                            
    }                                                                                                                                                                            
    }

 
Код:
private void c()                                                                                                                                                              
    {                                                                                                                                                                            
    a_javax_microedition_lcdui_List_fld = new list(a_r_static_fld.a("menu_0"), 3, new string[] {                                                                                  
    a_r_static_fld.a("cmd_call"), a_r_static_fld.a("menu_2"), a_r_static_fld.a("menu_3"), a_r_static_fld.a("menu_4")                                                              
    }, null);                                                                                                                                                                    
    string s = "KEY: " + a_i_static_fld.b();                                                                                                                                      
    if(!a_i_static_fld.a().equals(""))                                                                                                                                            
    s = s + " " + a_r_static_fld.a("txt_yph") + ": " + a_i_static_fld.a();                                                                                                        
    }


Меня интересует получение
string s = "Key: " + a_i_static_fld.b();

т.е. судя по коду выше, формируется оно с использование соли... значения которые получаются, выглядят следующим образом:
DB50E08E39BBA758

подскажи алгоритм, по которому формируется переменная s. a_i_static_fld.b() = DB50E08E39BBA758

хочу написать генератор на основе этого алгоритма.
72K
11 июня 2011 года
devosx
2 / / 11.06.2011
Код:
private void b()                                                                                                                                                              
    {                                                                                                                                                                            
    a_javax_microedition_lcdui_Form_fld = new Form(a_r_static_fld.a("menu_2"));                                                                                                  
    a_javax_microedition_lcdui_TextField_fld = new textfield(a_r_static_fld.a("txt_user"), a_i_static_fld.c(), 25, 0);                                                            
    b_javax_microedition_lcdui_TextField_fld = new textfield(a_r_static_fld.a("txt_pass"), a_i_static_fld.d(), 25, 0x10000);                                                      
    a_javax_microedition_lcdui_ChoiceGroup_fld = new ChoiceGroup(a_r_static_fld.a("txt_prov"), 4, a_java_lang_String_array1d_fld, null);                                          
    a_javax_microedition_lcdui_Form_fld.append(a_javax_microedition_lcdui_TextField_fld);                                                                                        
    a_javax_microedition_lcdui_Form_fld.append(b_javax_microedition_lcdui_TextField_fld);                                                                                        
    if(a_i_static_fld.e().length() != 0)                                                                                                                                          
    {                                                                                                                                                                            
    int j;                                                                                                                                                                        
    for(j = 0; j < a_java_lang_String_array1d_fld.length && !a_i_static_fld.e().equals(a_java_lang_String_array1d_fld[j]); j++);                                                  
    a_javax_microedition_lcdui_ChoiceGroup_fld.setSelectedIndex(j, true);                                                                                                        
    }                                                                                                                                                                            
    a_javax_microedition_lcdui_Form_fld.append(a_javax_microedition_lcdui_ChoiceGroup_fld);                                                                                      
    a_javax_microedition_lcdui_Form_fld.addCommand(a_javax_microedition_lcdui_Command_fld);                                                                                      
    a_javax_microedition_lcdui_Form_fld.setCommandListener(this);                                                                                                                
    Display.getDisplay(a_javax_microedition_midlet_MIDlet_static_fld).setCurrent(a_javax_microedition_lcdui_Form_fld);                                                            
    }


Код:
public static string a_java_lang_String_static_fld = "1.4.7";                                                                                                                
    public static i a_i_static_fld = null;                                                                                                                                        
    public static string b_java_lang_String_static_fld = "";                                                                                                                      
    public static MIDlet a_javax_microedition_midlet_MIDlet_static_fld = null;                                                                                                    
    public static r a_r_static_fld = null;                                                                                                                                        
    private Command a_javax_microedition_lcdui_Command_fld;                                                                                                                      
    private Command b_javax_microedition_lcdui_Command_fld;                                                                                                                      
    private list a_javax_microedition_lcdui_List_fld;                                                                                                                            
    private Form a_javax_microedition_lcdui_Form_fld;                                                                                                                            
    private textfield a_javax_microedition_lcdui_TextField_fld;                                                                                                                  
    private textfield b_javax_microedition_lcdui_TextField_fld;                                                                                                                  
    private ChoiceGroup a_javax_microedition_lcdui_ChoiceGroup_fld;                                                                                                              
    private static Displayable a_javax_microedition_lcdui_Displayable_static_fld = null;                                                                                          
    private static Displayable b_javax_microedition_lcdui_Displayable_static_fld = null;                                                                                          
    private string c;                                                                                                                                                            
    private string d;                                                                                                                                                            
    private string e;                                                                                                                                                            
    private Form b_javax_microedition_lcdui_Form_fld;                                                                                                                            
    private string a_java_lang_String_array1d_fld[] = {                                                                                                                          
    "12voip.com"                                                                                                                                                                  
    };
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог