w x32dbg probuje ustawic conditional breakpoint gdy ST(5) == 0. niestety zarowno przy wpisywaniu warunku "st5==0" jak i "@st5==0" breakpoint zalacza sie niezaleznie od wartosci ST(5) a w dzienniku wyswietla sie "Error when evaluating break condition.". ktos wie co moge robic zle?
#assembly #assembler #reverseengineering
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
@marcus777: próbowałeś -Oz i -fwhole-program? Optimizer ma duże większe pole do popisu, jeśli widzi wszystko. Oczywiście jak masz jeden plik .c w projekcie to nie ma to sensu

Jak twój kompilator nie ogarnia -fwhole-program to zawsze możesz dać wszystkie funkcje w jeden plik, tylko trzeba pamiętać o tym, żeby funkcje były static przez co kompilator nie musi zakładać, że funkcja musi powstać i może ją np. zinlinować
  • Odpowiedz
  • 2
@Saly: Heh, nie w Microchipie to:

main.c:1:0: warning: Compiler option (Optimize for size) ignored because this feature requires the MPLAB XC8 PRO compiler

Wszystko co da się na darmowej licencji powłączane

@zetisdead: Projekt własny więc nie będzie takich który by chcieli, ale i tak komercja więc więcej
  • Odpowiedz
@jakismadrynickpolacinsku: kompresja/dekompresja, przetwarzanie obrazów /video, kryptografia, uczenie maszynowe, systemy baz danych. Nikt nie pisze oczywiście wszystkiego w assembly, ale to są tradycyjnie dziedziny gdzie trzeba bardzo dobrze rozumieć co się dzieje na poziomie sprzętu i assembler służy do optymalizacji niskopoziomowych.
  • Odpowiedz
  • 0
@assninja: Tak, zamierzam odpalić w tym dosa i w nim silnik JSa. Ogólnie pisanie kompilatora C w JSie nie jest wcale takie głupie - pisanie backendu do takiego kompilatora pod jakąś magiczną architekturę jest o niebo prostsze niż rzeźbienie z LLVM. Ofc kosztem jakości wygenerowanego kodu.
  • Odpowiedz
Mirki znacie jakieś polskie lub angielskie źródła o x86-64 Assembly?
Szukam jakiegoś info dokładnie do czego są poszczególne rejestry rax, rbx, rcx itp i jakoś nie mogę trafić
#assembler #programowanie #it
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Canova: Może poszukaj w sieci pod kątem materiałów z zajęć dla studentów z programowania w asemblerze, programowania niskopoziomowego lub jak zwał.

Przykład: https://ww2.ii.uj.edu.pl/~kapela/pn/print-lecture-and-sources.php

Zależy też jeszcze, w jakim kontekście szukasz informacji. Jeśli po prostu materiałów typu dokumentacja to jak napisał przedmówca, jeśli chcesz nauczyć się programowania w asemblerze to te materiały albo książki na ten temat. Jeśli po prostu jesteś ciekaw "jak to działa" to powyższe, plus ewentualnie filmy na
  • Odpowiedz
@groman43 Nie wiem jak to sie stało, przepraszam za usunięcie wpisu. Jak najbardziej dokumentacja Intela do dobry pomysł, dziękuje.
@mp107: również dzięki za info, zainteresowanie jest stąd że mam kilka ctfów z RE do zrobienia i jest to dla mnie temat kompletnie nowy.
  • Odpowiedz
Trafi się może jakiś Mirek programista znający assemblera i z doświadczeniem w programowaniu mikrokontrolerow (infeon c166). Mam kod, jedynie potrzebowałbym pomocy w zrozumieniu jego działania.
#assembler
#elektronika
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ale czym dokładnie jest to rl2


@PlytaGnojowa: RL2 to młodsza część (8 bitów) rejestru R2 (16 bitów). Rdzeń procesora ma 16 rejestrów 16-bitowych - R0...15. Na tych rejestrach możesz wykonywać operacje arytmentyczne, logiczne itp.

Rodział: B.1.1 Word
  • Odpowiedz
Assembler x86(-64) Tutorial cz. 2 - Rejestry Procesora -> https://techniczniej.pl/post/assembler-x86-64-tutorial-cz-2-rejestry-procesora

Rejestry ogólnego i specjlanego przeznaczenia + Darmowy fragment książki!
Po przeczytaniu dowiesz się:
- Czym są rejestry ogólnego przeznaczenia w assemblerze
- Jakie przeznaczenie mają poszczególne rejestry
techniczniej - Assembler x86(-64) Tutorial cz. 2 - Rejestry Procesora -> https://tech...

źródło: comment_1656972173O0quNlUofHw77X5eKG1pUe.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Bleck: użytkownik podaje wartość n, maksymalnie 20 i wtedy powstaje kwadrat o boku n z takimi właśnie przekątnymi do połowy jak np na tych dwóch zad po lewo. Tzn jak mądrze? Bo ja mam oprócz tych dwóch jeszcze kilka i zamysł był taki żeby tylko przerabiać ten kod żeby wychodziły podobne do tych dwóch zadań
  • Odpowiedz
Każdy 64-bitowy procesor posiada rejestry 64-bitowe, które dzielą się na 32-bitowe, te na 16-bitowe, a te na 8-bitowe.


@techniczniej: Nie każdy. Rejestry ARM64 dzielą się co najwyżej na 32-bitowe. I pewnie inne architektury niż x86-64 mają jeszcze inaczej.

Kompilator, z którego będziemy korzystać to
  • Odpowiedz