@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")
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...
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.
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ę.
#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ż
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?