How to print eax value with Radare2?












2















I am solving a crack me challenge but I am stuck. The challenge executes several jne tests. The first test is the simpliest but I don't arrive to print the eax value to know the content of cmp instruction. According to this block of code :



|    ; DATA XREF from sym.main (0x804848e)
| 0x08048497 b88a55ea8b mov eax, 0x8bea558a
| 0x0804849c 45 inc ebp
| 0x0804849d f4 hlt
| 0x0804849e 83c004 add eax, 4
| 0x080484a1 8a00 mov al, byte [eax]
| 0x080484a3 38c2 cmp dl, al
|,=< 0x080484a5 753d jne 0x80484e4


How can I print the eax value to understand what are compared in the instruction ?



0x080484a1 8a00 mov al, byte [eax]



According to this question, I tried the 0x080484a1 but when I enter the command pxr 1 @ eax+0x4, nothing appears. If I enter the command pxr @ eax+0x4, this code appears :



0x080c288c  0x6f6c6165  ealo ascii
0x080c2890 0x00796768 hgy. ascii


The ascii printed is linked with the string compared ksuiealohgy.










share|improve this question



























    2















    I am solving a crack me challenge but I am stuck. The challenge executes several jne tests. The first test is the simpliest but I don't arrive to print the eax value to know the content of cmp instruction. According to this block of code :



    |    ; DATA XREF from sym.main (0x804848e)
    | 0x08048497 b88a55ea8b mov eax, 0x8bea558a
    | 0x0804849c 45 inc ebp
    | 0x0804849d f4 hlt
    | 0x0804849e 83c004 add eax, 4
    | 0x080484a1 8a00 mov al, byte [eax]
    | 0x080484a3 38c2 cmp dl, al
    |,=< 0x080484a5 753d jne 0x80484e4


    How can I print the eax value to understand what are compared in the instruction ?



    0x080484a1 8a00 mov al, byte [eax]



    According to this question, I tried the 0x080484a1 but when I enter the command pxr 1 @ eax+0x4, nothing appears. If I enter the command pxr @ eax+0x4, this code appears :



    0x080c288c  0x6f6c6165  ealo ascii
    0x080c2890 0x00796768 hgy. ascii


    The ascii printed is linked with the string compared ksuiealohgy.










    share|improve this question

























      2












      2








      2








      I am solving a crack me challenge but I am stuck. The challenge executes several jne tests. The first test is the simpliest but I don't arrive to print the eax value to know the content of cmp instruction. According to this block of code :



      |    ; DATA XREF from sym.main (0x804848e)
      | 0x08048497 b88a55ea8b mov eax, 0x8bea558a
      | 0x0804849c 45 inc ebp
      | 0x0804849d f4 hlt
      | 0x0804849e 83c004 add eax, 4
      | 0x080484a1 8a00 mov al, byte [eax]
      | 0x080484a3 38c2 cmp dl, al
      |,=< 0x080484a5 753d jne 0x80484e4


      How can I print the eax value to understand what are compared in the instruction ?



      0x080484a1 8a00 mov al, byte [eax]



      According to this question, I tried the 0x080484a1 but when I enter the command pxr 1 @ eax+0x4, nothing appears. If I enter the command pxr @ eax+0x4, this code appears :



      0x080c288c  0x6f6c6165  ealo ascii
      0x080c2890 0x00796768 hgy. ascii


      The ascii printed is linked with the string compared ksuiealohgy.










      share|improve this question














      I am solving a crack me challenge but I am stuck. The challenge executes several jne tests. The first test is the simpliest but I don't arrive to print the eax value to know the content of cmp instruction. According to this block of code :



      |    ; DATA XREF from sym.main (0x804848e)
      | 0x08048497 b88a55ea8b mov eax, 0x8bea558a
      | 0x0804849c 45 inc ebp
      | 0x0804849d f4 hlt
      | 0x0804849e 83c004 add eax, 4
      | 0x080484a1 8a00 mov al, byte [eax]
      | 0x080484a3 38c2 cmp dl, al
      |,=< 0x080484a5 753d jne 0x80484e4


      How can I print the eax value to understand what are compared in the instruction ?



      0x080484a1 8a00 mov al, byte [eax]



      According to this question, I tried the 0x080484a1 but when I enter the command pxr 1 @ eax+0x4, nothing appears. If I enter the command pxr @ eax+0x4, this code appears :



      0x080c288c  0x6f6c6165  ealo ascii
      0x080c2890 0x00796768 hgy. ascii


      The ascii printed is linked with the string compared ksuiealohgy.







      debugging radare2 debuggers






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 7 hours ago









      AnonymeAnonyme

      414




      414






















          1 Answer
          1






          active

          oldest

          votes


















          2














          Not sure why you used pxr as you could get the output with px 1 @ eax+0x4. But another options would be that you could run this opcode and then read the register value of al to get that. But in order to do that you need to use debugger commands instead (of course you need to be in debugging mode):



          [0x7f5953803e90]> dr?
          Usage: dr Registers commands
          | dr Show 'gpr' registers
          <snip>


          So to get the value of al execute during debugging session:



          [0x7f5953803e90]> dr al
          0x00000090





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "489"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2freverseengineering.stackexchange.com%2fquestions%2f20762%2fhow-to-print-eax-value-with-radare2%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            Not sure why you used pxr as you could get the output with px 1 @ eax+0x4. But another options would be that you could run this opcode and then read the register value of al to get that. But in order to do that you need to use debugger commands instead (of course you need to be in debugging mode):



            [0x7f5953803e90]> dr?
            Usage: dr Registers commands
            | dr Show 'gpr' registers
            <snip>


            So to get the value of al execute during debugging session:



            [0x7f5953803e90]> dr al
            0x00000090





            share|improve this answer




























              2














              Not sure why you used pxr as you could get the output with px 1 @ eax+0x4. But another options would be that you could run this opcode and then read the register value of al to get that. But in order to do that you need to use debugger commands instead (of course you need to be in debugging mode):



              [0x7f5953803e90]> dr?
              Usage: dr Registers commands
              | dr Show 'gpr' registers
              <snip>


              So to get the value of al execute during debugging session:



              [0x7f5953803e90]> dr al
              0x00000090





              share|improve this answer


























                2












                2








                2







                Not sure why you used pxr as you could get the output with px 1 @ eax+0x4. But another options would be that you could run this opcode and then read the register value of al to get that. But in order to do that you need to use debugger commands instead (of course you need to be in debugging mode):



                [0x7f5953803e90]> dr?
                Usage: dr Registers commands
                | dr Show 'gpr' registers
                <snip>


                So to get the value of al execute during debugging session:



                [0x7f5953803e90]> dr al
                0x00000090





                share|improve this answer













                Not sure why you used pxr as you could get the output with px 1 @ eax+0x4. But another options would be that you could run this opcode and then read the register value of al to get that. But in order to do that you need to use debugger commands instead (of course you need to be in debugging mode):



                [0x7f5953803e90]> dr?
                Usage: dr Registers commands
                | dr Show 'gpr' registers
                <snip>


                So to get the value of al execute during debugging session:



                [0x7f5953803e90]> dr al
                0x00000090






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 6 hours ago









                Paweł ŁukasikPaweł Łukasik

                2,4461520




                2,4461520






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Reverse Engineering Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2freverseengineering.stackexchange.com%2fquestions%2f20762%2fhow-to-print-eax-value-with-radare2%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to label and detect the document text images

                    Vallis Paradisi

                    Tabula Rosettana