@klamkaodokna: Nie da się. Normalnie w x32dbg możesz porównywać do liczby, która ma rozmiar taki sam jak pointer, czyli w tym przepadku do 32 bitów, rejestry STx mają 80 bitów.

To co możesz zrobić to napisać prosty plugin, który udostępni funkcję do porównywania do użycia w "break condition", na przykład stcmp(5, "0")
  • Odpowiedz
właśnie trafiłem całkiem przypadkiem na to #demo wypuszczone na #pc na #assembly 2004 - to już epoka akceleratorów i dem pod Windows (choć jest też wersja dla Linux). a mimo to całe demo jest iście nostalgiczne i posiadacze komputerów domowych popularnych w Polsce w latach '80 i '90 na pewno się uśmiechną oglądając tę produkcję.

dla mnie to bardzo fajne produkcja typu "tribute" dla maszyn, ludzi, efektów ich pracy, którzy inspirowali innych.
secret_passenger - właśnie trafiłem całkiem przypadkiem na to #demo wypuszczone na #p...
  • Odpowiedz
Pomucy, trochę z ciekawości, trochę dla treningu rozkminiam assembly.

Otóż pakiety są wysyłane do i odbierane z serwera za pomocą winsock. Znalazłem adres funkcji, która wysyła pakiety do serwera. Parametry tej funkcji to (byte,DWORD,DWORD,DWORD,DWORD,byte) - w jaki sposób mogę się dowiedzieć, czym właściwie jest każdy z tych parametrów oraz znaleźć ich wartości? Albo pointery do tych wartości?

#programowanie #assembly #assembler
KlapekApokalipsy - Pomucy, trochę z ciekawości, trochę dla treningu rozkminiam assemb...

źródło: comment_9CMuWcfPmtg5uvJzuP0KihgYvVYoDd5G.jpg

Pobierz
@KlapekApokalipsy: Zrób inline hooka. Napisz swoją dll, która zaloguje Ci wartości parametrów do pliku. Załaduj tą dll w do procesu, który Ci interesuje, nadpisz początkowe instrukcje funkcji, która chcesz zbadać, tak aby były one trampoliną do twojej dll, odczytaj zawartości parametrów które Cię interesują i wskocz z powrotem do funkcji. Dzięki temu odczytasz parametry, które chcesz znać, a i nie zakłócisz normalnego działania funkcji.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@KlapekApokalipsy: nie znam się ale się wypowiem ( ͡° ͜ʖ ͡°) Wydaję mi się że możesz sprawdzić jakie wartości wrzucane są na stos i sprawdzić skąd pochodzą tutaj przychodzi IDA która dość ułatwia pracę.
  • Odpowiedz
#programowanie #assembler #assembly #asm #masm

Mam pytanie dot. RDTSC.

CPUID // wmusza zakończenie poprzednich (serializuje)
RDTSC // odczytuje liczbe cykli
MOV ECX,EAX // przechowuje w ECX
CALL Func
RDTSC // po wywołaniu odczytuje kolejny raz licznik
SUB EAX,ECX // różnica powinna dać ile cykli potrzebuje na wykonanie Func

Powyższy kod wykonuje kilkukrotnie. Pierwszy wynik jest zawyżony co wynika z dokumentacji, a potem mam bardzo zbliżone wyniki i tu moje pytanie:

1. Czy
@ManOfGlass: func nie zmienia ECX nie?
różnice mogą być z takich powodów:
jesteś nie sam więc dolicz czas przełączania kontekstu
możesz odczytywać z różnych pamięci (wolny DRAM i szybki SRAM)

ale że moja odpowiedź jest troszkę "z dupy" bo nie jestem pewien tego co piszę a jedynie przypuszczam. prosił bym zawołać jak ktoś ogarnięty odpowie. lub co było by fajniejsze, może na stacku zapytaj też
  • Odpowiedz
No elo kumple, potrzebuję od was materiałów, które pozwolą mi bardziej zrozumieć komputery, pamięć, re i ogólnie wszystko co z tym wszystkim związane. Porozkminiałem kilka artykułow i tutoriali o asm, ale skończyło się na tym, że wszystkie kursy były wolną amerykanką i każdy pisał w assembly jak chciał :| Materiały mogą być w jakimkolwiek języku. Prosze o mały hejt, bo jestem w tym temacie leszczem ( ͡° ʖ̯ ͡°
Witam, uczę się assemblera i zajmuje się aktualnie działaniami arytmetycznymi. Mam program na sume 2 liczb wprowadzanych z klawiatury. Program działa ale tylko jeśli wynik jest liczba jednocyfrową, jeśli suma wynosi 10 wyświetla : jeśli 11 wyświetla ; . Nie mam pojęcia co źle zrobiłem. Oto kod:

section .tekst
global start

start:

mov eax, 4
mov ebx, 1
mov ecx, tekst
mov edx, [dlugosc]
int 80h

mov eax, 3
mov ebx, 0
#assembler #assembly

Na studbazie mam assemblera, architektura MIPS, symulator MARS 4.4.

Nie działa mi taki przykładowy kod:

add $t0, $zero, 2

sw $t0, 4($s1)

Treść błędu:

Error in C:\Users\nazwauzytkownika\Desktop\mips1.asm line 2: Runtime exception at 0x00400004: address out of range 0x00000004

Btw. jak mam tego typu problem to mogę używać tagu programowanie czy nie wypada?
  • Odpowiedz