Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Erroneo0

#1
Gracias por la version de python.
La entrada que se hace al programa es 'AAAAAAAAAA\x00\xc7\xb2\xf7'. Pero no podes poner esos ceros en la cadena por mas que esa sea la direccion de la funcion system() ,deberias buscar otra direccion de memoria para saltar con el 'ret' y poder ejecutar "/bin/sh".
#2
    Del codigo que posteaste no veo donde usas el struct. No se que es pero encotre esto No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    En efecto python termina las string con un byte nulo "\x00".
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
buff = "A"*81
buff += 0xf7b2c700
buff += "A"*4
buff += 0xf7f54f48

buff = "A"*81
buff += 0xf7b2c700
buff += 0xf7f54f48

y cuando reviso en gdb que está pasando, me aparece 0xf7b2c741 o 0xf7b2c748... lo que creo o me imagino que pasa, es que cambia la address por esos ceros de la address de system y por eso no se ejecuta ,así que me gustaría saber... ¿de qué manera podría dejar esos ceros intactos usando python - 0xf7b2c700?

Respecto a 0xf7b2c741 o 0xf7b2c748 me parece que esta concatenando las A al final del addres... donde esta el 00.

El como dejar esos ceros intactos... depende del programa, no se si puedes escribir 2 veces en la pila, sumar, o alguna operacion divertida.
¿que version de python usas?
#3
Prueba coesto buff += "\0xf7\0xb2\0xc7\0x00", aunque vas a tener problemas por que python termina las strings igual que C.
Por otro lado ¿ no deberias poner el address en little endian?.
#4
Java / Resolvedor de pirámides matemáticas de suma
Febrero 15, 2020, 09:23:16 PM
Hice un resolvedor de pirámides matemáticas. Lo que más me cuesta es hacer a UI para la toma y muestra de datos.

Esta es la primera clase con el main.


Código: java


package erroneo0.piramidematematica;


import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFormattedTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


/**
*
* @author erroneo0
*/
public class PiramideMain extends JFrame implements ActionListener {


    private final int w=25;
    private final int h=25;
    private JFormattedTextField jft[];
   
    private JButton Resolver,Reset,Cancelar;
    NewJFrame njf;
    public int valores[]=new int[28];
    public PiramideMain()
    {
        super("Piramide Matematica");
        this.setSize(500,500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        getContentPane().setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
        getContentPane().setLayout(null);
        njf=new NewJFrame();
       
        Resolver=new JButton();
        Resolver.setBounds(7*25,7*25,100,25);
        Resolver.setText("Resolver");
        getContentPane().add(Resolver);
        Resolver.setActionCommand("Resolver");
        Resolver.addActionListener(this);
       
        Reset=new JButton();
        Reset.setBounds(7*25,7*25+30,100,25);
        Reset.setText("Reset");
        getContentPane().add(Reset);
        Reset.setActionCommand("Reset");
        Reset.addActionListener(this);       
       
       
       
       
        jft=new JFormattedTextField[28];
       
        JPanel pnl;
       
        int j=0,k=0;
       
        for(int i=0;i<28;i+=1)
        {
       
            jft[i]=new JFormattedTextField();   
            jft[i].setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));
            jft[i].setColumns(4);
            jft[i].setAlignmentY(CENTER_ALIGNMENT);
            jft[i].setText("");
            getContentPane().add(jft[i]);
        }
        ///jft[0].
        int i=0;
           
        jft[0].setBounds((225), 0,w, h);
       
        jft[1].setBounds(212, 25, 25, 25);
        jft[2].setBounds(237, 25, 25, 25);
       
        jft[3].setBounds(200, 50, 25, 25);
        jft[4].setBounds(224, 50, 25, 25);
        jft[5].setBounds(250, 50, 25, 25);
   
        jft[6].setBounds(188    ,75, 25, 25);
        jft[7].setBounds(188+25 ,75, 25, 25);
        jft[8].setBounds(188+50 ,75, 25, 25);
        jft[9].setBounds(188+75 ,75, 25, 25);
   
        jft[10].setBounds(176, 25*4, 25, 25);
        jft[11].setBounds(176+25, 25*4, 25, 25);
        jft[12].setBounds(176+50, 25*4, 25, 25);
        jft[13].setBounds(176+75, 25*4, 25, 25);
        jft[14].setBounds(176+100, 25*4, 25, 25);
        i=5;
        jft[15].setBounds(164   , 25*5, 25, 25);
        jft[16].setBounds(164+25, i*25, 25, 25);
        jft[17].setBounds(164+50   , i*25, 25, 25);
        jft[18].setBounds(164+75   , i*25, 25, 25);
        jft[19].setBounds(164+100   , i*25, 25, 25);
        jft[20].setBounds(164+125   , i*25, 25, 25);
        i=6;
        jft[21].setBounds(152   , 6*25, 25, 25);
        jft[22].setBounds(152+25   , i*25, 25, 25);
        jft[23].setBounds(152+50   , i*25, 25, 25);
        jft[24].setBounds(152+75   , i*25, 25, 25);
        jft[25].setBounds(152+100   , i*25, 25, 25);
        jft[26].setBounds(152+125   , i*25, 25, 25);
        jft[27].setBounds(152+150   , i*25, 25, 25);
           


    }
   
   
   
   
   
   
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
       
                PiramideMain pm=new PiramideMain();
        pm.setVisible(true);
       
        /*       java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
        new PiramideMain().setVisible(true);
        }
        });     */


        /*        java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
        new NewJFrame().setVisible(true);
        }
        });*/
       
    }


    @Override
    public void actionPerformed(ActionEvent ae) {
       
        switch(ae.getActionCommand())
        {
            case "Resolver":
                for(JFormattedTextField j :jft )
                {
                    if(!(j.getText().equals("")))
                    {
                        j.setEditable(false);
                       
                    }
                }
                for(int i=0;i<valores.length;i+=1)
                {
                    if(!(jft[i].getText().equals("")))
                    {
                      //  System.out.println(i+" "+jft[i].getText());
                        valores[i]=Integer.parseInt(jft[i].getText());
                       
                    }else{


                        valores[i]=0;
                    }
                }
               
                resolverValores();
///26 NewJFrame njf;
                njf.setValores(valores);
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        njf.setVisible(true);
                    }
                });
                break;
            case "Reset":
                for(JFormattedTextField j :jft )
                {
                    if(!(j.getText().equals("")))
                    {
                        j.setEditable(true);
                    }
                }
        }
    }



   
   
    /**
     * Imagine una piramide mas chica, construida por una terna de numeros
     * de la manera en que estan declarados los enteros p1,p2,p3;
     */
    class Piramidita{
        int p1,
          p2,p3;
        Piramidita(int p,int pp, int ppp)
        {
            p1=p;
            p2=pp;
            p3=ppp;
        }
       
        void setValues(int p,int pp, int ppp)
        {
            p1=p;
            p2=pp;
            p3=ppp;
        }
        boolean resolver()
        //void resolver
        {
            boolean r=true;
           
            if((p1==0 && p2==0) || (p1==0 && p3==0) || (p3==0 && p2==0))
            {
                r=false;
                return r;
            }
           
            if((p1!=0 && p2!=0 ))    //&& p3!=(p1-p2)))
            {   
                p3=p1-p2;
               
            }   else
                if((p1!=0 && p3!=0) )//&& p2!=(p1-p3)))
                {
                    p2=p1-p3;
                   
                }   else
                    if((p2!=0 && p3!=0))// && p1!=(p2+p3)))
                    {
                        p1=p2+p3;
                    }
           
            return r;
        }
    }
   
    /**
     * devuelve el indice que esta arriba de 2 cuadritos
     * il es el de la izquierda, ir el de la derecha
     */
    private int punta(int il,int ir)
    {
        int r=0;
        if(il==1 && ir==2)
            r=0;
        if(il==3 && ir==4)
            r=1;
        if(il==4 && ir==5)
            r=2;
       
        if(il==6 && ir==7)
            r=3;
        if(il==7 && ir==8)
            r=4;
        if(il==8 && ir==9)
            r=5;
       
        if(il==10 && ir==11)
            r=6;
        if(il==11 && ir==12)
            r=7;
        if(il==12 && ir==13)
            r=8;
       
        if(il==13 && ir==14)
            r=9;
       
        if(il==15 && ir==16)
            r=10;
        if(il==16 && ir==17)
            r=11;
        if(il==17 && ir==18)
            r=12;
        if(il==18 && ir==19)
            r=13;
        if(il==19 && ir==20)
            r=14;
       
        if(il==21 && ir==22)
            r=15;
        if(il==22 && ir==23)
            r=16;
        if(il==23 && ir==24)
            r=17;
        if(il==24 && ir==25)
            r=18;
        if(il==25 && ir==26)
            r=19;
        if(il==26 && ir==27)
            r=20;
       
       
       
        return r;
    }
   
    boolean consecutivos(int i1,int i2)
    {
        boolean r=false;
       
        if(i1==1 && i2==2)
            r=true;
        if(i1==3 && i2==4)
            r=true;
        if(i1==4 && i2==5)
            r=true;
       
        if(i1==6 && i2==7)
            r=true;
        if(i1==7 && i2==8)
            r=true;
        if(i1==8 && i2==9)
            r=true;
       
        if(i1==10 && i2==11)
            r=true;
        if(i1==11 && i2==12)
            r=true;
        if(i1==12 && i2==13)
            r=true;
       
        if(i1==13 && i2==14)
            r=true;
       
        if(i1==15 && i2==16)
            r=true;
        if(i1==16 && i2==17)
            r=true;
        if(i1==17 && i2==18)
            r=true;
        if(i1==18 && i2==19)
            r=true;
        if(i1==19 && i2==20)
            r=true;
       
        if(i1==21 && i2==22)
            r=true;
        if(i1==22 && i2==23)
            r=true;
        if(i1==23 && i2==24)
            r=true;
        if(i1==24 && i2==25)
            r=true;
        if(i1==25 && i2==26)
            r=true;
        if(i1==26 && i2==27)
            r=true;
       
        return r;
    }
   
   
    /**
     * Aca vamos subiendo para obtener los resultados
     * si hay 2 cuadritos deteriminados calculamos el que falta
     */
     void resolverValores()
    {
        System.out.println("RESOLVERVALORES");
        int i,j,k;
        i=j=k=0;
        i=valores.length;
        Piramidita pir=new Piramidita(0,0,0);
        for( i=valores.length;i>0;i--)
        {
            System.out.println("i: "+i+" i-1 "+(i-1));
            if(consecutivos(i-1,i))
            {
                System.out.println("i "+i+" i-1 "+(i-1)+"Son consecutivos");


                   
                   k=punta(i-1,i);
                   System.out.println("i,i-1,k"+i+(i-1)+k+"vk,vi,v(i-1)"+valores[k]+valores[i]+valores[i-1]);
                   pir.setValues(valores[k],valores[i-1],valores[i]);
                   pir.resolver();
                   valores[k]=pir.p1;
                   valores[i]=pir.p3;
                   valores[i-1]=pir.p2;
                   System.out.println("i ,"+i+ " i-1 "+(i-1)+" k "+k);
                   System.out.println("vk "+valores[k]+" vi "+valores[i]+" v(i-1) "+valores[i-1]);
               
            }
        }   
    }
}
NewJFrame aca abajo
Código: java

package erroneo0.piramidematematica;


/**
*
* @author erroneo0
*/
public class NewJFrame extends javax.swing.JFrame {


    /**
     * Creates new form NewJFrame
     */
    int valores[]=new int[28];
   
    //Pongo todos los jlabel en un array
    void setValores(int v[]){
        if(v.length==valores.length)
            System.arraycopy(v, 0, valores, 0,valores.length);
       
        int i=0;
        javax.swing.JLabel jl;
       
        for(java.awt.Component c:getContentPane().getComponents()){
            //System.out.println(c.getClass().getName());
            if(c.getClass().getName().equals("javax.swing.JLabel")){
               
               jl=(javax.swing.JLabel) c;
               jl.setText(""+valores[i]);
               i+=1;
            }
        }
       
       
    }
   
    public NewJFrame() {
        initComponents();


    }


    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;


        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jLabel19 = new javax.swing.JLabel();
        jLabel20 = new javax.swing.JLabel();
        jLabel21 = new javax.swing.JLabel();
        jLabel22 = new javax.swing.JLabel();
        jLabel23 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jLabel25 = new javax.swing.JLabel();
        jLabel26 = new javax.swing.JLabel();
        jLabel27 = new javax.swing.JLabel();
        jLabel28 = new javax.swing.JLabel();


        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        java.awt.GridBagLayout layout = new java.awt.GridBagLayout();
        layout.columnWidths = new int[] {0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0};
        layout.rowHeights = new int[] {0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0};
        getContentPane().setLayout(layout);


        jLabel1.setText("jLabel1");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel1, gridBagConstraints);


        jLabel2.setText("jLabel2");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel2, gridBagConstraints);


        jLabel3.setText("jLabel3");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel3, gridBagConstraints);


        jLabel4.setText("jLabel4");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel4, gridBagConstraints);


        jLabel5.setText("jLabel5");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel5, gridBagConstraints);


        jLabel6.setText("jLabel6");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel6, gridBagConstraints);


        jLabel7.setText("jLabel7");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel7, gridBagConstraints);


        jLabel8.setText("jLabel8");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel8, gridBagConstraints);


        jLabel9.setText("jLabel9");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel9, gridBagConstraints);


        jLabel10.setText("jLabel10");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel10, gridBagConstraints);


        jLabel11.setText("jLabel11");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 8;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel11, gridBagConstraints);


        jLabel12.setText("jLabel12");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 8;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel12, gridBagConstraints);


        jLabel13.setText("jLabel13");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 8;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel13, gridBagConstraints);


        jLabel14.setText("jLabel14");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 8;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel14, gridBagConstraints);


        jLabel15.setText("jLabel15");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 8;
        gridBagConstraints.gridy = 8;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel15, gridBagConstraints);


        jLabel16.setText("jLabel16");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel16, gridBagConstraints);


        jLabel17.setText("jLabel17");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel17, gridBagConstraints);


        jLabel18.setText("jLabel18");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel18, gridBagConstraints);


        jLabel19.setText("jLabel19");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel19, gridBagConstraints);


        jLabel20.setText("jLabel20");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 8;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel20, gridBagConstraints);


        jLabel21.setText("jLabel21");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 10;
        gridBagConstraints.gridy = 10;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel21, gridBagConstraints);


        jLabel22.setText("jLabel22");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel22, gridBagConstraints);


        jLabel23.setText("jLabel23");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel23, gridBagConstraints);


        jLabel24.setText("jLabel24");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel24, gridBagConstraints);


        jLabel25.setText("jLabel25");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel25, gridBagConstraints);


        jLabel26.setText("jLabel26");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 8;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel26, gridBagConstraints);


        jLabel27.setText("jLabel27");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 10;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel27, gridBagConstraints);


        jLabel28.setText("jLabel28");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 12;
        gridBagConstraints.gridy = 12;
        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 1);
        getContentPane().add(jLabel28, gridBagConstraints);


        pack();
    }// </editor-fold>                       


   
    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel26;
    private javax.swing.JLabel jLabel27;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    // End of variables declaration                   
}


#5
 Corre el programa con r2 -d crackme e intenta ponerle un bp en el Entry point del programa y/o desensamblar algunos offset antes de ejecutar el comando dc de radare2. Aca tienes una referencia 
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#6
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No he entendido muy bien la respuesta.
Voy a suponer que lo que no entiendes es "que" te he pedido que corrijas.
Punteros y Cadenas de caracteres(strings)
Los punteros son una dirección de memoria(tamaño dependiente del S.O). Los arreglos son un "conjunto de espacios de memoria ordenados(DEFINICION PROBABLEMENTE MAL).Una cadena de caracteres en C es un arreglo, también llamado vector, de caracteres que para indicar su fin se usa el valor '\x00', es decir el ultimo elemento de ese arreglo es un 0. Cuando tu declaras una cadena de caracteres de la siguiente forma char cadena[32]; la variable cadena ,así sin corchetes,  apunta al valor del comienzo de la cadena. Si no me crees prueba este codigo:
Código: c

#include <stdio.h>
int main()
{
    char cadena[]="jejeje",asd[]="jejeje";
   
    printf("%p %p\n",cadena,asd);
    if(cadena!=asd)
    {
         printf("cadena y asd son distintos\n");
    }else if(cadena==asd)
    {
         printf("cadena y asd son iguales y Erroneo0 estaba erroneo\n");
    }
    return 0;
}

El programa hace lo que tu le has dicho, no lo que TU has pensado que le has dicho.
#7
 
Código: c
while(!archivo.eof() || busqueda != linea){
        for(int i = 0; i!=archivo.eof(); i++){
            archivo.getline(linea, 100);
        }
    }


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    eof Check whether eofbit is set
         Verifica si eof bit esta prendido

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
En el while:
                 checkear el ifstream esta bien sin embargo busqueda != linea estas comparando 2 punteros deberías usar algo que compare cadenas =).
    En el for:
                  i!=archivo.eof() i es un indexador que empieza en 0 pero como el archivo no ha leído nada ,supongo que tiene, no ha llegado a eof luego archivo.eof() devolverá 0 por lo tanto i != archivo.eof() es FALSE y no entra en el bucle... una sugerencia: Saca el for O el while.