Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Plik .asm jak go skompilować do .exe ?


Rekomendowane odpowiedzi

Opublikowano

Siema. Znalazłem jakieś pliki na baardzo starym komputerze kolegi (nie udało mi się włączyć kompa, ale dysk włożyłem do również swojego starszego i odpalił), które mają rozszerzenie .asm. Wyguglowałem xD te rozszerzenie i pokazało mi, że to Assembler. Otworzyłem plik zwykłym windowsowym notatnikiem i okazało się, że są to source wirusów !! Wyczytałem z niego że został napisany w "29-Feb-92" przez jakichś "VirusSoft Corp.". Na pewno zdziwienie wielkie, mam tego sporo i każdy pewnie kiedyś robił szkody :D Tak więc chciałbym się tymi skryptami pobawić, zmieniając jakieś rzeczy i dodając własne "tak o z nudów". Ale powiedzcie mi czym skompilować to do .exe ? Są tam funkcje przykładowo jak:

 

mov

proc

assume

 

itd. :D Nie podam source bo tych skryptów nie ma w internecie :) Wklepałem ich początki i google nic nie znalazło. To jak to skompilować?

Znasz mnie grałem na serwerach z nickiem lolo121. Jak nie wierzysz, daj serwer premium

 

48061.gif

Opublikowano

Wiem że asemblerem ale może byś podał link do kompilatora ? Nie znam tego języka na razie.

Znasz mnie grałem na serwerach z nickiem lolo121. Jak nie wierzysz, daj serwer premium

 

48061.gif

Opublikowano

może tasm (Turbo Assembler )? z innych nie korzystałem nigdy tak na ścisłość :P

Opublikowano

Z jakiego powodu? Pytam się, bo już próbowałem się brać za taki kurs.

To z czego się uczyć asemblera?


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

bo nie ma sensu uczyć sie asemblera pod dosa. Też kiedyś próbowałem sie uczyć z tego kursu...

W asembly chodzi tylko o poznanie podstawowych praw działania programu, i paru instrukcji. To bardzo prosty język, mimo iż instrukcji jest bardzo wiele to nie musisz ich znać na pamięć (tylko te które się najczęsciej używa, czyli i tak nie musisz sie uczyc ich na pamiec, same wpadną), tak samo jak nie znasz całej biblioteki standardowej C, jak czegoś potrzebujesz ->google.

 

Polecam

 

Tu chodzi bardziej o oswojenie sie z tym językiem, sam jezyk nie jest trudny do nauczenia sie, trzeba po prostu przyzwyczaić mózg do, że sie tak ładnie wyraże, 'innego poziomu abstrakcji' xD

Pisze boty do gier WWW na zlecenie.

  • 2 tygodnie później...
  • 1 miesiąc temu...
Opublikowano

bo nie ma sensu uczyć sie asemblera pod dosa. Też kiedyś próbowałem sie uczyć z tego kursu...

W asembly chodzi tylko o poznanie podstawowych praw działania programu, i paru instrukcji. To bardzo prosty język, mimo iż instrukcji jest bardzo wiele to nie musisz ich znać na pamięć (tylko te które się najczęsciej używa, czyli i tak nie musisz sie uczyc ich na pamiec, same wpadną), tak samo jak nie znasz całej biblioteki standardowej C, jak czegoś potrzebujesz ->google.

 

Polecam

 

Tu chodzi bardziej o oswojenie sie z tym językiem, sam jezyk nie jest trudny do nauczenia sie, trzeba po prostu przyzwyczaić mózg do, że sie tak ładnie wyraże, 'innego poziomu abstrakcji' xD

Programuję od 15 lat w Assemblerze, C/C++ a także innych językach i takiej bzdury jeszcze nie słyszałem...

 

Prawdziwy programista musi znać Assemblera a najlepszym miejscem na jego poznanie jest DOS i Turbo Assembler, w Windows lepiej używać FLAT-Assemblera - najlepszy.

 

Wszystkie języki programowania można nazwać prostymi, jednakże Assembler w przeciwieństwie do języków takich jak C/C++, wymaga od programisty rozległej wiedzy na temat systemu pod jaki piszemy.

 

Dla przykładu w C mamy funkcję malloc() - nie musimy wiedzieć jak działa na poziomie kodu maszynowego ani co robi w systemie, ważne że alokuje nam pamięć. Assembler natomiast wymaga od nas bardzo dokładnej wiedzy na temat adresowania pamięci przez system.

 

Są też rzeczy których nigdy nie zrobisz bez znajomości Assemblera jak np. Reverse Engineering, programy meta i poli-morficzne, itp.

 

Oczywiście wszystko zależy od punktu widzenia, jeżeli piszesz proste programy to wystarczy tobie sama znajomość języka i wtedy wszystko jest proste. Takie osoby nie muszą nawet wiedzieć co i jak ładuje ich skompilowane programy do pamięci, bo po co.

 

Niemal każdy programista zaczyna uczyć się od C/C++ a później dopiero sięga po Assemblera który defakto jest najtrudniejszym językiem z przyczyn podanych wyżej.

 

Pozdrawiam i Żegnam ;) Chciałem tylko naprostować temat ;)

Opublikowano

Dla przykładu w C mamy funkcję malloc() - nie musimy wiedzieć jak działa

na poziomie kodu maszynowego ani co robi w systemie, ważne że alokuje

nam pamięć. Assembler natomiast wymaga od nas bardzo dokładnej wiedzy na

temat adresowania pamięci przez system.

 

Tak samo w asmie nie potrzebujemy jak dokładnie ta funkcja działa. Dostajemy adres zaalokowanej pamieci i tyle. Wiedzy na temat adresowania pamieci przez system? Nie wiem co rozumiesz przez taką wiedze, nie widze nic wiecej niż byśmy musieli wiedzieć w C, żeby operować na pointerach.

 

Programuję od 15 lat w Assemblerze, C/C++ a także innych językach i takiej bzdury jeszcze nie słyszałem...

Zazdroszcze Ci, żyjesz pod kloszem? Btw fajnie że jako początek dyskusji jako argument podajesz ile to lat programowałeś w danym języku. Mało merytoryczne -.-

 

Wszystkie języki programowania można nazwać prostymi, jednakże Assembler

w przeciwieństwie do języków takich jak C/C++, wymaga od programisty

rozległej wiedzy na temat systemu pod jaki piszemy.

Nie większej niz jest nam potrzebna pisząc w c/c++ ! No chyba że zamierzasz komunikować się z systemem za pomocą Syscalli czy coś.

Ale zwykle będziesz używał tego samego API co w c/c++, nie musisz dokładnie wiedzieć jak działa system, wszystko dzieje sie tam gdzie nie widzisz i na co nie masz wpływu.

-------

 

Oczywiście zgadzam się z tym że znajomość asemblera jest bardzo konieczna przy wszelkiech sprawach związanych z RE, nie twierdziłem inaczej.

 

----

Oczywiście wszystko zależy od punktu widzenia, jeżeli piszesz proste

programy to wystarczy tobie sama znajomość języka i wtedy wszystko jest

proste. Takie osoby nie muszą nawet wiedzieć co i jak ładuje ich

skompilowane programy do pamięci, bo po co.

 

A w jakim celu te osoby miałyby to wiedzieć, pisząc w asmie na nowoczense systemy? Po co? Pisząc "skomplikowany" program, nie potrzebujesz tej wiedzy, tak samo jak nie potrzebujesz jej w C czy c++.

 

Może inaczej było za czasów dosu, ale o tym właśnie mówimy, cała ta wiedza i nauka asma pod dosa jest dziś bezużyteczna.

Pisze boty do gier WWW na zlecenie.

Opublikowano

Na forum programistycznym dostał byś bana za takie herezje, nie ma co płakać tylko bierz się do nauki. Pozdrawiam jeszcze raz i życzę powodzenia w nauce bo jak narazie to kiepsko ;) Już się żegnałem ale wypadało odpowiedzieć na twoje rozterki. Jeszcze raz żegnam.

Opublikowano

Programuję od 15 lat w Assemblerze, C/C++ a także innych językach i takiej bzdury jeszcze nie słyszałem...

 

Prawdziwy programista musi znać Assemblera a najlepszym miejscem na jego poznanie jest DOS i Turbo Assembler, w Windows lepiej używać FLAT-Assemblera - najlepszy.

czyli jak znam C/C++/OpenGL, Python i vb,ipiszę w nich ~10 lat a asm, znam jak znam, nie najlepiej to nie jestem programistą =(?

Assembler jest niskopoziomowym językiem nie wszyscy lubią to, np. jak dostaniesz napisanie programu który wykonuję obliczenia do księgi przychodów i rozchodów to napiszesz mu program w konsolce/asm bo nie opyla się do tego api + asm powodzenia życzę.

 

są rzeczy które wymagają wydajności i efektywności, po 2 dzisiaj mamy inny świat który nie stoi na jakości ale na szybkości produkcji.

 

ps. czasy dosa się skończyły nie widzę sensu uczenia się "najpierw" 16 bitów, ale nie mówiłem że nie potrzeba.

..x..

Opublikowano

Na forum programistycznym dostał byś bana za takie herezje, nie ma co płakać tylko bierz się do nauki. Pozdrawiam jeszcze raz i życzę powodzenia w nauce bo jak narazie to kiepsko ;) Już się żegnałem ale wypadało odpowiedzieć na twoje rozterki. Jeszcze raz żegnam.

 

Tą wypowiedzią podsumowałeś swoją wiedzę na tematy o których się wypowiadasz. Żegnam pana prawdziwego programiste.

Pisze boty do gier WWW na zlecenie.

Opublikowano

Polecam używanie NASM'a..

/ GA-970A-UD3 / FX-6300 / Sapphire Xtreme 5830 / OCZ ZS 550W / Brutus M23 /

| MPC Coders Team | MPC Gold Member | C#, C++, PHP, (N)ASM, AutoIT, Python, Java |

Opublikowano

czyli jak znam C/C++/OpenGL, Python i vb,ipiszę w nich ~10 lat a asm, znam jak znam, nie najlepiej to nie jestem programistą =(?

Assembler jest niskopoziomowym językiem nie wszyscy lubią to, np. jak dostaniesz napisanie programu który wykonuję obliczenia do księgi przychodów i rozchodów to napiszesz mu program w konsolce/asm bo nie opyla się do tego api + asm powodzenia życzę.

 

są rzeczy które wymagają wydajności i efektywności, po 2 dzisiaj mamy inny świat który nie stoi na jakości ale na szybkości produkcji.

 

ps. czasy dosa się skończyły nie widzę sensu uczenia się "najpierw" 16 bitów, ale nie mówiłem że nie potrzeba.

Pisząc w dowolnym jezyku twój program jest zamieniany na asm. Dobrze znać ten jezyk przynajmniej w jakimś stopniu, podstawa debugowania. Poza tym. Nie ma sensu uczyc sie asma pod DOS. Po prostu nie ma. Jedynie jezeli ktos chce sobie reversowac programy z dos albo pisac wlasne 4fun, ale jako tako nie jest to potrzebne i nie ma co sobie glowy tym zawracac. Zajmij sie x86 a potem tylko doczytaj o x64 bo roznic jest niewiele (rejestry 64bitowe, cos jeszcze ? )

3KIpGJ1.gif

Opublikowano

Pisząc w dowolnym jezyku twój program jest zamieniany na asm. Dobrze znać ten jezyk przynajmniej w jakimś stopniu, podstawa debugowania. Poza tym. Nie ma sensu uczyc sie asma pod DOS. Po prostu nie ma. Jedynie jezeli ktos chce sobie reversowac programy z dos albo pisac wlasne 4fun, ale jako tako nie jest to potrzebne i nie ma co sobie glowy tym zawracac. Zajmij sie x86 a potem tylko doczytaj o x64 bo roznic jest niewiele (rejestry 64bitowe, cos jeszcze ? )

 

Napisałem program w rubym i nie został zamieniony na asm :(

 

wiem, czepiam się szczegółów, ale tacy już jesteśmy,...

Pisze boty do gier WWW na zlecenie.

Opublikowano

Napisałem program w rubym i nie został zamieniony na asm :(

 

wiem, czepiam się szczegółów, ale tacy już jesteśmy,...

Miałam wspomniec o tym ale juz mi sie nie chcialo. Mimo wszystko mah bad

3KIpGJ1.gif

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...