+ Odpowiedz na ten temat
Pokaż wyniki od 1 do 2 z 2

Temat: Asembler - zadanie

  1. #1
    Użytkownik
    Dołączył
    18-04-2010
    Posty
    1

    Domyślnie Asembler - zadanie

    Witam serdecznie,

    Na wstępie zaznaczę, że jak do tej pory poznałem podstawy
    podstaw asemblera. To zadanie jednak mnie przerasta bardzo.

    Moim zadaniem jest zdebugowanie programu wykonywalnego oraz
    znalezienie odpowiedzi na pytanie:

    -> Co należy podać programowi aby wyświetlił się tekst "Brawo!". (Program jest napisany pod linuxa)

    Wynik komendy:

    -> objdump -D objdump -D

    Kod:
    Kod:
    zagadka:     file format elf32-i386
    
    Disassembly of section .note.gnu.build-id:
    
    080480b4 <.note.gnu.build-id>:
     80480b4:   04 00                   add    $0x0,%al
     80480b6:   00 00                   add    %al,(%eax)
     80480b8:   14 00                   adc    $0x0,%al
     80480ba:   00 00                   add    %al,(%eax)
     80480bc:   03 00                   add    (%eax),%eax
     80480be:   00 00                   add    %al,(%eax)
     80480c0:   47                      inc    %edi
     80480c1:   4e                      dec    %esi
     80480c2:   55                      push   %ebp
     80480c3:   00 71 1a                add    %dh,0x1a(%ecx)
     80480c6:   f8                      clc   
     80480c7:   6e                      outsb  %ds:(%esi),(%dx)
     80480c8:   87 aa ea f9 93 3e       xchg   %ebp,0x3e93f9ea(%edx)
     80480ce:   de ee                   fsubrp %st,%st(6)
     80480d0:   e7 01                   out    %eax,$0x1
     80480d2:   1e                      push   %ds
     80480d3:   78 e8                   js     80480bd <print-0x1b>
     80480d5:   d7                      xlat   %ds:(%ebx)
     80480d6:   d4 2d                   aam    $0x2d
    
    Disassembly of section .text:
    
    080480d8 <print>:
     80480d8:   55                      push   %ebp
     80480d9:   89 e5                   mov    %esp,%ebp
     80480db:   83 ec 10                sub    $0x10,%esp
     80480de:   a1 82 81 04 08          mov    0x8048182,%eax
     80480e3:   8b 15 86 81 04 08       mov    0x8048186,%edx
     80480e9:   89 45 f4                mov    %eax,-0xc(%ebp)
     80480ec:   89 55 f8                mov    %edx,-0x8(%ebp)
     80480ef:   c7 45 fc 07 00 00 00    movl   $0x7,-0x4(%ebp)
     80480f6:   8b 55 fc                mov    -0x4(%ebp),%edx
     80480f9:   8d 45 f4                lea    -0xc(%ebp),%eax
     80480fc:   89 d2                   mov    %edx,%edx
     80480fe:   89 c1                   mov    %eax,%ecx
     8048100:   bb 01 00 00 00          mov    $0x1,%ebx
     8048105:   b8 04 00 00 00          mov    $0x4,%eax
     804810a:   cd 80                   int    $0x80
     804810c:   c9                      leave 
     804810d:   c3                      ret   
    
    0804810e <_start>:
     804810e:   55                      push   %ebp
     804810f:   89 e5                   mov    %esp,%ebp
     8048111:   56                      push   %esi
     8048112:   53                      push   %ebx
     8048113:   83 ec 20                sub    $0x20,%esp
     8048116:   c7 45 de 2d 2d 2d 2d    movl   $0x2d2d2d2d,-0x22(%ebp)
     804811d:   c7 45 e2 2d 2d 2d 2d    movl   $0x2d2d2d2d,-0x1e(%ebp)
     8048124:   c7 45 e6 2d 2d 2d 2d    movl   $0x2d2d2d2d,-0x1a(%ebp)
     804812b:   c7 45 ea 2d 2d 2d 2d    movl   $0x2d2d2d2d,-0x16(%ebp)
     8048132:   c7 45 ee 2d 2d 2d 20    movl   $0x202d2d2d,-0x12(%ebp)
     8048139:   66 c7 45 f2 20 00       movw   $0x20,-0xe(%ebp)
     804813f:   8d 75 de                lea    -0x22(%ebp),%esi
     8048142:   b8 03 00 00 00          mov    $0x3,%eax
     8048147:   bb 00 00 00 00          mov    $0x0,%ebx
     804814c:   ba 05 00 00 00          mov    $0x5,%edx
     8048151:   89 f1                   mov    %esi,%ecx
     8048153:   cd 80                   int    $0x80
     8048155:   89 c6                   mov    %eax,%esi
     8048157:   89 75 f4                mov    %esi,-0xc(%ebp)
     804815a:   0f b6 45 de             movzbl -0x22(%ebp),%eax
     804815e:   0f be c0                movsbl %al,%eax
     8048161:   01 c0                   add    %eax,%eax
     8048163:   3d a8 00 00 00          cmp    $0xa8,%eax
     8048168:   75 05                   jne    804816f <_start+0x61>
     804816a:   e8 69 ff ff ff          call   80480d8 <print>
     804816f:   bb 00 00 00 00          mov    $0x0,%ebx
     8048174:   b8 01 00 00 00          mov    $0x1,%eax
     8048179:   cd 80                   int    $0x80
     804817b:   83 c4 20                add    $0x20,%esp
     804817e:   5b                      pop    %ebx
     804817f:   5e                      pop    %esi
     8048180:   5d                      pop    %ebp
     8048181:   c3                      ret   
    
    Disassembly of section .rodata:
    
    08048182 <.rodata>:
     8048182:   42                      inc    %edx
     8048183:   72 61                   jb     80481e6 <_start+0xd8>
     8048185:   77 6f                   ja     80481f6 <_start+0xe8>
     8048187:   21 0a                   and    %ecx,(%edx)
       ...
    
    Disassembly of section .comment:
    
    00000000 <.comment>:
       0:   47                      inc    %edi
       1:   43                      inc    %ebx
       2:   43                      inc    %ebx
       3:   3a 20                   cmp    (%eax),%ah
       5:   28 44 65 62             sub    %al,0x62(%ebp,%eiz,2)
       9:   69 61 6e 20 34 2e 33    imul   $0x332e3420,0x6e(%ecx),%esp
      10:   2e                      cs
      11:   34 2d                   xor    $0x2d,%al
      13:   36 29 20                sub    %esp,%ss:(%eax)
      16:   34 2e                   xor    $0x2e,%al
      18:   33 2e                   xor    (%esi),%ebp
      1a:   34 00                   xor    $0x0,%al

  2. #2

    Domyślnie

    Spróbuj wpisać literę "T" bo to dokładnie 2 * 0xa8

+ Odpowiedz na ten temat

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów