disassembly

Jak Mogę zobaczyć kod asemblera dla programu C++?

Jak mogę zobaczyć kod asemblera dla programu C++? Jakie są popularne narzędzia do tego?

Jak napisać disassembler? [zamknięte]

Jestem zainteresowany napisaniem dissemblera x86 jako projektu edukacyjnego. Jedynym realnym zasobem, który znalazłem jest ... odstawowe linki do disassemblera itp. Czy ktoś może wskazać mi jakieś szczegółowe zasoby na temat pisania disassemblera x86?

Jak zdemontować zakres pamięci za pomocą GDB?

Próbuję zdemontować program, aby zobaczyć instrukcję montażu syscall (Instrukcja int, jak sądzę) i obsługę z GDB i napisałem ... f; f = fopen("main.c", "r"); if (!f) { perror("open"); return -1; } fclose(f); return 0; }

Jak zdemontować, zmodyfikować, a następnie ponownie zmontować plik wykonywalny Linuksa?

Czy w ogóle da się to zrobić? Użyłem objdump, ale to nie wytwarza wyjścia assemblera, które zostaną zaakceptowane przez jakikolwiek asembler, który znam. Chciałbym móc zmienić instrukcje w pliku wykonywalnym, a następnie przetestować go.

Jak zdemontować główną funkcję rozebranej aplikacji?

Załóżmy, że skompilowałem poniższą aplikację i usunąłem jej symbole. #include <stdio.h> int main() { printf("Hell ... robić tylko z GDB. Zapomnij objdump . Załóżmy, że nie mam dostępu do kod. Przykład krok po kroku byłby bardzo mile widziany.

Jak zdemontować jedną funkcję za pomocą objdump?

Mam zainstalowany binarny w moim systemie i chciałbym spojrzeć na demontaż danej funkcji. Preferowane jest użycie objdump, al ... ania, znajduję tę nazwę wspomnianą w sekcji .debug_str, ale nie znam narzędzia, które może przekształcić to w zakres adresów.

Demontaż płaskiego pliku binarnego za pomocą objdump

Czy Mogę zdemontować płaski plik binarny używając objdump? Jestem zaznajomiony z demontażem strukturalnego binarnego pliku w ... matu. Mam inne pomysły na to, jak aby zdemontować plik, ale chciałem wiedzieć, czy objdump może zapewnić proste rozwiązanie.

Generuj PDB from.NET plik DLL?

Potrzebuję czegoś, co może wygenerować PDB z pliku DLL (kod C#. Net), czy jest jakiś darmowy program do tego?

Linux Mach-O Disassembler

Czy są jakieś programy linuksowe, które mogą demontować binarny Mach-O fat OSX universal x86/x86_64 jak objdump? Objdump GNU binutils obsługuje pliki ELF i Windows PE, ale nie Mach-o.

Zrozumieć kod złożenia generowany przez prosty program w języku C

Próbuję zrozumieć kod poziomu montażu dla prostego programu C, sprawdzając go za pomocą disassemblera gdb. Poniżej znajduje ... ji, dlaczego %gs: 0x14,%eax , %eax,-0xc (%ebp). Jeśli ktoś może wyjaśnić, krok po kroku dzieje, to będzie bardzo doceniane.

Dlaczego adres pamięci %FS:0x28 (fs[0x28]) ma wartość losową?

Napisałem fragment kodu C i zdemontowałem go, a także przeczytałem rejestry, aby zrozumieć, jak program działa w assembly. i ... 000400600 <+76>: leaveq 0x0000000000400601 <+77>: retq Chciałbym wiedzieć, co naprawdę robi?

W jaki sposób GCC optymalizuje nieużywaną zmienną zwiększoną wewnątrz pętli?

Napisałem ten prosty program w C: int main() { int i; int count = 0; for(i = 0; i < 2000000000; i++){ ... tko wyjaśnij: wyjściegcc-S-O2 . jeśli pętla jest zoptymalizowana zgodnie z oczekiwaniami (jedna suma zamiast wielu Sum)?

Potrzebujesz pomocy w zrozumieniu instrukcji E8 asm call x86

Potrzebuję pomocy, aby zrozumieć poniższą instrukcję montażu. Wydaje mi się, że dzwonię pod adres someUnknownValue += 20994a? E8 32F6FFFF - call std::_Init_locks::operator=+20994A

Jakie są skuteczne sposoby debugowania zoptymalizowanego programu C / C++?

Wiele razy pracuję ze zoptymalizowanym kodem (czasem nawet zawierającym wektoryzowane pętle), który zawiera błędy i tym podob ... omendy gdb+ dissambler i widzę wygenerowany kod; tak naprawdę nie mogę przejść przez program używając to. ndisasm Thanks