Сейчас на форуме: asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Вопросы новичков —› не могу разобраться в .class файле
Посл.ответ Сообщение

Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 30 июля 2012 22:54 · Поправил: schokk_m4ks1k
· Личное сообщение · #1

Доброго время суток!!!
короче ковыряю прогу на java нашел класс отвечающий за активацию, но не могу понять как и что пропатчить! смотрел и в JavaBite, хотел пропатчить, но не пойму что именно! первый раз решил поковырять ява прогу и сразу трудности!!! поделитесь мыслями уважаемые!!!
вод код .class файла:
Code:
  1. // Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov  Date: 30.07.2012 21:35:24
  2. // Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
  3. // Decompiler options: packimports(3) 
  4. // Source File Name:   guiActivation.java
  5.  
  6. package mailer;
  7.  
  8. import java.awt.event.ActionEvent;
  9. import java.util.ResourceBundle;
  10. import javax.swing.*;
  11. import org.jdesktop.application.*;
  12.  
  13. // Referenced classes of package mailer:
  14. //            MailerApp, Common, coreRpc, totalConfig
  15.  
  16. public class guiActivation extends JPanel
  17. {
  18.  
  19.     public guiActivation()
  20.     {
  21.         initComponents();
  22.     }
  23.  
  24.     private void initComponents()
  25.     {
  26.         jLabel13 = new JLabel();
  27.         keyEmail = new JTextField();
  28.         jLabel14 = new JLabel();
  29.         keyCode = new JTextField();
  30.         keyResult = new JTextField();
  31.         jButton12 = new JButton();
  32.         jSeparator1 = new JSeparator();
  33.         keyRequestResult = new JTextField();
  34.         jButton7 = new JButton();
  35.         applyKey = new JButton();
  36.         jLabel15 = new JLabel();
  37.         jLabel16 = new JLabel();
  38.         jLabel17 = new JLabel();
  39.         jLabel18 = new JLabel();
  40.         jSeparator3 = new JSeparator();
  41.         setName("Form");
  42.         ResourceMap resourceMap = ((MailerApp)Application.getInstance(mailer/MailerApp)).getContext().getResourceMap(mailer/guiActivation);
  43.         jLabel13.setText(resourceMap.getString("jLabel13.text", new Object[0]));
  44.         jLabel13.setName("jLabel13");
  45.         keyEmail.setText(resourceMap.getString("keyEmail.text", new Object[0]));
  46.         keyEmail.setName("keyEmail");
  47.         ResourceBundle bundle = ResourceBundle.getBundle("mailer/resources/Translation");
  48.         jLabel14.setText(bundle.getString("KEY"));
  49.         jLabel14.setName("jLabel14");
  50.         keyCode.setName("keyCode");
  51.         keyResult.setBackground(resourceMap.getColor("keyResult.background"));
  52.         keyResult.setText(resourceMap.getString("keyResult.text", new Object[0]));
  53.         keyResult.setName("keyResult");
  54.         jButton12.setText(bundle.getString("KEY_REQUEST"));
  55.         jButton12.setActionCommand(bundle.getString("KEY_REQUEST"));
  56.         jButton12.setName("jButton12");
  57.         jButton12.addActionListener(new  Object()     /* anonymous class not found */
  58.     class _anm1 {}
  59.  
  60. );
  61.         jSeparator1.setName("jSeparator1");
  62.         keyRequestResult.setBackground(resourceMap.getColor("keyRequestResult.background"));
  63.         keyRequestResult.setName("keyRequestResult");
  64.         jButton7.setText(bundle.getString("BUY_PROGRAMM"));
  65.         jButton7.setName("jButton7");
  66.         jButton7.addActionListener(new  Object()     /* anonymous class not found */
  67.     class _anm2 {}
  68.  
  69. );
  70.         applyKey.setText(bundle.getString("KEY_ACTIVATE"));
  71.         applyKey.setName("applyKey");
  72.         applyKey.addActionListener(new  Object()     /* anonymous class not found */
  73.     class _anm3 {}
  74.  
  75. );
  76.         jLabel15.setText(bundle.getString("KEY_RESULT"));
  77.         jLabel15.setName("jLabel15");
  78.         jLabel16.setText(bundle.getString("KEY_LOST"));
  79.         jLabel16.setName("jLabel16");
  80.         jLabel17.setText(bundle.getString("KEY_HAVENO"));
  81.         jLabel17.setName("jLabel17");
  82.         jLabel18.setText(bundle.getString("KEY_REQUEST_RESULT"));
  83.         jLabel18.setName("jLabel18");
  84.         jSeparator3.setName("jSeparator3");
  85.         GroupLayout layout = new GroupLayout(this);
  86.         setLayout(layout);
  87.         layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(keyResult, -2, 208, -2).addComponent(jLabel15).addComponent(jSeparator1, -1, 422, 32767).addComponent(jSeparator3, -1, 422, 32767).addComponent(jButton7).addComponent(jLabel17).addComponent(applyKey).addComponent(jLabel13).addComponent(keyCode, javax.swing.GroupLayout.Alignment.TRAILING, -1, 422, 32767).addComponent(jLabel14).addComponent(keyEmail, -2, 211, -2).addComponent(jLabel16).addComponent(jButton12).addComponent(jLabel18).addComponent(keyRequestResult, -2, 213, -2)).addContainerGap()));
  88.         layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jLabel13).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(keyEmail, -2, -1, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel14).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(keyCode, -2, -1, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(applyKey).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel15).addGap(18, 18, 18).addComponent(keyResult, -2, -1, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jSeparator1, -2, 10, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel16).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jButton12).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel18).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(keyRequestResult, -2, -1, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jSeparator3, -2, 11, -2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel17).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jButton7).addContainerGap(18, 32767)));
  89.     }
  90.  
  91.     private void jButton12ActionPerformed(ActionEvent evt)
  92.     {
  93.         keyRequestResult.setText(keyRequestResultC[3]);
  94.         Common.rpc.execute("serverRpc", new String[] {
  95.             (new StringBuilder()).append("<admin keyChange="1" keyEmail="").append(keyEmail.getText()).append(""/>").toString()
  96.         });
  97.     }
  98.  
  99.     private void jButton7ActionPerformed(ActionEvent evt)
  100.     {
  101.         Common.goSite();
  102.     }
  103.  
  104.     private void applyKeyActionPerformed(ActionEvent evt)
  105.     {
  106.         keyResult.setText(keyResultC[0]);
  107.         setConfig();
  108.         Common.setConfig2Bot();
  109.     }
  110.  
  111.     public void getConfig()
  112.     {
  113.         keyEmail.setText(Common.config.keyEmail);
  114.         keyCode.setText(Common.config.keyCode);
  115.     }
  116.  
  117.     void notifyKey(int captionId, int requestId)
  118.     {
  119.         keyResult.setText(keyResultC[captionId]);
  120.         keyRequestResult.setText(keyRequestResultC[requestId]);
  121.     }
  122.  
  123.     void setConfig()
  124.     {
  125.         Common.config.keyEmail = keyEmail.getText();
  126.         Common.config.keyCode = keyCode.getText();
  127.     }
  128.  
  129.     static String keyRequestResultC[] = {
  130.         "", Common.resStr("REQUEST_COMPLETED"), Common.resStr("REQUEST_ICNOMPLETED"), Common.resStr("REQEST_NOT_SENDED")
  131.     };
  132.     static String keyResultC[] = {
  133.         Common.resStr("KEY_NOT_CHECKED"), Common.resStr("KEY_REJECTED"), Common.resStr("KEY_ACCEPTED")
  134.     };
  135.     private JButton applyKey;
  136.     private JButton jButton12;
  137.     private JButton jButton7;
  138.     private JLabel jLabel13;
  139.     private JLabel jLabel14;
  140.     private JLabel jLabel15;
  141.     private JLabel jLabel16;
  142.     private JLabel jLabel17;
  143.     private JLabel jLabel18;
  144.     private JSeparator jSeparator1;
  145.     private JSeparator jSeparator3;
  146.     private JTextField keyCode;
  147.     private JTextField keyEmail;
  148.     private JTextField keyRequestResult;
  149.     private JTextField keyResult;
  150.  
  151.  
  152.  
  153.  
  154. }


прикрепляю class файл!!!


1eb2_30.07.2012_EXELAB.rU.tgz - guiActivation.class




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 30 июля 2012 23:15 · Поправил: -=AkaBOSS=-
· Личное сообщение · #2

единственное, что есть умного в этом коде - посылка запроса
проверок никаких не видно

поищи место, где есть такой код:
keyRequestResult.setText(keyResultC[2]);

ADD:
хотя нет, лучше найди, откуда вызывается notifyKey




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 30 июля 2012 23:20
· Личное сообщение · #3

Строка 73. Что-то мне подсказывает, что там должно быть описание класса-слушателя кнопки applyKey.

-----
Следуй за белым кроликом




Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 30 июля 2012 23:42 · Поправил: schokk_m4ks1k
· Личное сообщение · #4

-=AkaBOSS=- пишет:
поищи место, где есть такой код:
keyRequestResult.setText(keyResultC[2]);

нашел вроде, Строка 93.
-=AkaBOSS=- пишет:
хотя нет, лучше найди, откуда вызывается notifyKey

не нашел! ява код не очень мне знаком, вот я и написал на форуме чтобы дали понять что и как)
может это он?

void notifyKey(int keyResult, int keyRequestResult)
{
guiActivation.notifyKey(keyResult, keyRequestResult);
}

public mailerSettings(Frame parent, boolean modal)
{
super(parent, modal);
hostExp = "((??:\w+\.)+[a-z]+)|(??:\d+\.){1,3}\d+))";
userPassExp = "(?\w+)(?:\w+))?@)";
proxyPattern = Pattern.compile((new StringBuilder()).append("(?https|(?:socks(?:4|4A|5)?)):\/\/)?").append(userPassExp).append("?").append(hostExp).append("(?:\d+))?").toString());
accountPattern = Pattern.compile("(\w+)@(.*)\\w+)");
initComponents();
pack();
setMinimumSize(getSize());
Common.winSettings = this;
Common.proxyModel = (ProxyListData.ProxyModel)proxyTable.getModel();
Common.accountModel = (DefaultTableModel)accountTable.getModel();
}




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 31 июля 2012 00:04
· Личное сообщение · #5

schokk_m4ks1k пишет:
может это он?

это он, но теперь бы не помешало отыскать обращение к тому notifyKey, который вызывает notifyKey из guiActivation.
посмотри выше, что там за класс, и поищи вызов вида <class_name>.notifyKey
либо, как писал neomant, ищи класс, обслуживающий кнопку "applyKey"



Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 31 июля 2012 00:12 · Поправил: schokk_m4ks1k
· Личное сообщение · #6

-=AkaBOSS=-вот полностью файл в котором нашел код который выше)
лично я не увидел там больше ничего для активации!
-=AkaBOSS=- пишет:
либо, как писал neomant, ищи класс, обслуживающий кнопку "applyKey"

может вот это?
Code:
  1. applyKey.setText(bundle.getString("KEY_ACTIVATE"));
  2.         applyKey.setName("applyKey");
  3.         applyKey.addActionListener(new ActionListener() {
  4.  
  5.             public void actionPerformed(ActionEvent evt)
  6.             {
  7.                 applyKeyActionPerformed(evt);
  8.             }
  9.  
  10.             final guiActivation this$0;
  11.  
  12.             
  13.             {
  14.                 this$0 = guiActivation.this;
  15.                 super();
  16.             }

-=AkaBOSS=- пишет:
посмотри выше, что там за класс

class proxyTypeCB
-=AkaBOSS=- пишет:
поищи вызов вида <class_name>.notifyKey

guiActivation.notifyKey(keyResult, keyRequestResult);

0d99_30.07.2012_EXELAB.rU.tgz - mailerSettings.class




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 31 июля 2012 01:02
· Личное сообщение · #7

schokk_m4ks1k пишет:
guiActivation.notifyKey(keyResult, keyRequestResult);

прикол в том, что функция, которая вызывает guiActivation.notifyKey, тоже называется notifyKey
и когда я писал о том, что стоило бы найти <class_name>.notifyKey, я имел в виду узнать откуда вызывается функция, вызывающая guiActivation.notifyKey
ищи вызов mailerSettings.notifyKey

schokk_m4ks1k пишет:
-=AkaBOSS=- пишет:
либо, как писал neomant, ищи класс, обслуживающий кнопку "applyKey"
может вот это?

applyKeyActionPerformed(evt); теперь ищи эту функцию.




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 31 июля 2012 01:09
· Личное сообщение · #8

-=AkaBOSS=- пишет:
может вот это?
applyKeyActionPerformed(evt); теперь ищи эту функцию.

Оно самое.

-----
Следуй за белым кроликом




Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 31 июля 2012 01:11 · Поправил: schokk_m4ks1k
· Личное сообщение · #9

-=AkaBOSS=- пишет:
applyKeyActionPerformed(evt); теперь ищи эту функцию.

а где именно искать то?


 eXeL@B —› Вопросы новичков —› не могу разобраться в .class файле
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати