Pokaż wyniki od 1 do 4 z 4

Temat: Asembler i dziwne instrukcje

  1. #1
    Użytkownik
    Dołączył
    18-07-2009
    Posty
    2

    Domyślnie

    Mój pierwszy post na tym forum i wypadało by się przywitać ;p
    Witam

    Nie będę zaczynać od "plaks plaks jak chakofać"

    Mam pytano odnośnie czegoś takiego

    ADD EAX,DWORD PTR SS:[LOCAL.651]

    Wiem że to do EAX'a dodaje słowo(?) które siedzi gdzieś na stosie ??
    Ogólnie co te ptr oznacza ?
    Bo czasami mam też BYTE ptr i też nie wiem co to jest ;/
    No ale najważniejsze to co to jest local.651 ;p
    Trochę nobowskie pytanie albo jakoś nie mogę tego rozgryźć a google też nic nie ma ;/

  2. #2
    Użytkownik
    Dołączył
    05-12-2007
    Skąd
    Bliżej nieokreślone
    Posty
    18

    Domyślnie

    Witam.

    Wszelkie wyrażenia typu BYTE (ptr), WORD, DWORD, QWORD..? są odwołaniami do pamięci. Oznacza to tyle, że pisząc DWORD ptr SS:[LOCAL.651] chcemy odczytać 4 bajty pamięci (DWORD to 4 bajty) z podanego adresu - tutaj SS:[LOCAL.651]. SS to tak jak napisałeś, segment stosu, a to co w kwadratowych nawiasach, jest offsetem. Nie wiem czym jest to LOCAL, może jakaś zmienna, może słowo kluczowe, etc, napisz jakiego Asemblera używasz, to będziemy coś więcej wiedzieć.

    Może prostsza będzie dla Ciebie nieco inna składnia składnia (ja osobiście wolę właśnie tą drugą, bo jest o wiele krótsza i bardziej zrozumiała):

    ADD EAX, DWORD[SS:LOCAL.651]

    Kaażdy porządny asembler powinien ją potraktować tak samo jak tą pierwszą i spokojnie przetłumaczyć na kod binarny.

    ptr o które pytałeś to skrót od "pointer", czyli wskaźnik. Piszemy to słowo, żeby pokazać, że dalej nastąpi przekazanie wskaźnika na zmienną (tutaj: SS[LOCAL.651]) , aczkolwiek jeśli przypadnie Ci do gustu ta instrukcja, którą tutaj napisałem, słowo "ptr" nie będzie Ci do niczego potrzebne ;]

    Sorry za tak długi wykład ale krócej niestety nie umiem..

  3. #3
    Użytkownik
    Dołączył
    18-07-2009
    Posty
    2

    Domyślnie

    Właśnie długie wykłady są dobre

    A co do tego jaki to asembler to sam nie wiem
    To jest disasemblacja
    Potrzebowałem to wiedzieć bo siedzi w tym prosty algorytm szyfrujący (coś w tym stylu) i chce go odgadnąć ;p
    Początki crackingu

  4. #4

    Domyślnie

    Strzelam, że jest to ollydbg. Olly interpretuje zmienne i w tym wypadku uznał, że jest to zmienna lokalna, która wskazuje miejsce na stosie. Kliknij dwa razy na instrukcję i powinieneś zobaczyć do czego LOCAL.651 jest aliasem (np LOCAL.6 = EBP-18).
    Mam nadzieję, że pomogłem.

Podobne wątki

  1. Tutek o Asembler
    Przez areq32
    w forum Assembler
    Odpowiedzi: 9
    Ostatni post / autor: 24-12-2009, 13:25
  2. Dziwne IP - 127.0.0.1
    Przez Verona
    w forum Głupie pytania i jeszcze głupsze odpowiedzi. - spora dawka humoru ...
    Odpowiedzi: 3
    Ostatni post / autor: 10-08-2008, 08:47
  3. ???Asembler???
    Przez michalsk8
    w forum Assembler
    Odpowiedzi: 4
    Ostatni post / autor: 15-08-2007, 08:32
  4. Instrukcje
    Przez zErOnE
    w forum Linux\BSD\Unix
    Odpowiedzi: 14
    Ostatni post / autor: 25-03-2004, 19:14
  5. instrukcje programow do delphi.
    Przez szymex
    w forum Inne
    Odpowiedzi: 8
    Ostatni post / autor: 29-08-2003, 13:28

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
  •