Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Lascia perdere qualsiasi corso online e inizia a studiare dai libri, non li trovi gratis ma di sicuro imparerai molto di più da essi che dai corsi. Ti consiglio di iniziare dal C, tutti abbiamo iniziato da quello, ti insegna come funziona la memoria e ti ritroverai avvantaggiato quando andrai a studiare un altro linguaggio, dato che la sintassi è più o meno uguale alla maggior parte dei linguaggi. Il C# non è obbligatorio, io ti consiglio di fare C, golang e assembly, so che quest'ultimo è molto difficile ma sono sicuro che ti tornerà molto utile, poi ,come ti hanno già detto, studia qualche linguaggio di scripting.Quindi per malware ecc... il C# e una degna alternativa?? Credevo fosse l'ultima spiaggia! Comunque mi sono buttato proprio li, sto facendo da auto didata sul tubo, poi penso si faranno delle videolezioni, mi hanno sparato 1500 euro per 45 ore azz!
a massimo la semantica, la sintassi cambia da linguaggio a linguaggio, anche tra C e C++ si trovano cambiamenti, anche di non poco conto, l'unica cosa che è simile in tutti i linguaggi è appunto la semantica e il paradigma di programmazione.dato che la sintassi è più o meno uguale alla maggior parte dei linguaggi.
??? Assembly lo usavano negli anni 70 per sviluppare i sistemi unix, poi hanno lasciato quella roba ed hanno inventato C (perché con Assembly dovevi creare dei porting dell'intero sistema in funzione dell HW), quindi a cosa serve Assembly nel 2021??assembly
Assolutamente no, Assembly è ancora usato tutt'oggi per i kernel e driver e UNIX tutt'oggi usa Assembly, inoltre, può essere molto utile per lavorare a basso livello e per i malware può tornargli utile.Assembly lo usavano negli anni 70 per sviluppare i sistemi unix, poi hanno lasciato quella roba ed hanno inventato C
Ok se conosci il C non è che conosci automaticamente golang.golang deriva da C, quindi si deve passare sempre da quello.
Devo appoggiare FuckSociety, l'assembly tutt'oggi non è come il C che bene o male puoi evitarlo, l'assembly serve punto e basta soprattutto lavorando con windows e implementazioni win32 non documentate, e lo dico per esperienza non a caso.a massimo la semantica, la sintassi cambia da linguaggio a linguaggio, anche tra C e C++ si trovano cambiamenti, anche di non poco conto, l'unica cosa che è simile in tutti i linguaggi è appunto la semantica e il paradigma di programmazione.
??? Assembly lo usavano negli anni 70 per sviluppare i sistemi unix, poi hanno lasciato quella roba ed hanno inventato C (perché con Assembly dovevi creare dei porting dell'intero sistema in funzione dell HW), quindi a cosa serve Assembly nel 2021??
Se lo vuoi studiare perché hai tempo da buttare allora puoi farlo, ma Assembly non lo usa più nessuno, anche per la programmazione in PLC ormai o usi C o il ladder.
Il C# è buono lo consiglio per qualsiasi cosa ma... è relativamente facile analizzare .NET e di conseguenza viene detectato abbastanza facilmente se non sei esperto, anche perchè viene interpretato dal runtime .net e non è nativo.Quindi per malware ecc... il C# e una degna alternativa?? Credevo fosse l'ultima spiaggia! Comunque mi sono buttato proprio li, sto facendo da auto didata sul tubo, poi penso si faranno delle videolezioni, mi hanno sparato 1500 euro per 45 ore azz!
Secondo me dovreste smettere con questo taboo del C, è utile solo per mantenere sistemi vecchi scritti precedentemente in C o kernel davvero complessi/lunghi. Il C++ è un'estensione a tutti gli effetti del C infatti qualsiasi codice C viene eseguito tranquillamente su C++, che è più moderno e non ha letteralmente niente che il C non abbia, anzi.Lascia perdere qualsiasi corso online e inizia a studiare dai libri, non li trovi gratis ma di sicuro imparerai molto di più da essi che dai corsi. Ti consiglio di iniziare dal C, tutti abbiamo iniziato da quello, ti insegna come funziona la memoria e ti ritroverai avvantaggiato quando andrai a studiare un altro linguaggio, dato che la sintassi è più o meno uguale alla maggior parte dei linguaggi. Il C# non è obbligatorio, io ti consiglio di fare C, golang e assembly, so che quest'ultimo è molto difficile ma sono sicuro che ti tornerà molto utile, poi ,come ti hanno già detto, studia qualche linguaggio di scripting.
Se preferisci fare l'ignorante resta e fai come vuoi, il kernel linux è scritto sia in C che in Assembly e un paio di altri linguaggi, nessuno sta criticando ne C ne ASM, sono linguaggi che al giorno d'oggi se non lavori su architetture specifiche o con driver kernel, efi-r, efi ecc, ti servono a poco e nulla.se va bè andate a leggere un pò la storia di Unix(tutto ciò che esiste oggi è un derivato di unix, ma non è unix, da IBM a Apple) GNU è un progetto nato anche grazie a C tecnologia molto più avanzata dell'assembly, il kernel Linux è scritto interamente in C(così come molti altri kernel), se poi non conoscete la storia di Unix e di Gnu/Linux è un altro conto, per il resto pensatela come volete.
Mi fa piacere essere d'aiuto.si preferisco fare l'ignorante grazie, tanto ci stanno i geni come te
Mai detto che non vale un c.azzo, ma se hanno creato C per sostituire l'assembly nella creazione di sistemi UNIX e GNU una ragione ci sarà no?ne sconsiglia l'utilizzo non perche non valga un cazz@
Se il linguaggio è di basso livello, non vuol dire che fa schifo ma che lavora a stretto contatto con l'hardware.ma perchè il livello è molto basso
Da quel che so, il kernel Linux è scritto in C, Assembly, Python e Perl.il kernel Linux è scritto interamente in C
L'Assembly non è un linguaggio derivato dal C.Ti consiglio comunque di partire prima da C essendo gli altri linguaggi tutti dei derivati di quest'ultimo.
Il problema è che il C non sostituisce completamente l'assembly, infatti come ho già spiegato è un must nella programmazione driver.Ti consiglio comunque di partire prima da C essendo gli altri linguaggi tutti dei derivati di quest'ultimo.
Mai detto che non vale un c.azzo, ma se hanno creato C per sostituire l'assembly nella creazione di sistemi UNIX e GNU una ragione ci sarà no?
Altrimenti continuavano ad usarlo, C è molto performante anche in merito alla programmazione di Basso livello e alla gestione della memoria.
Quando negli anni 70 si usava Assembly era un casino, perché se dovevi far girare UNIX su un sistema con Hardware diverso da quello di partenza eri costretto a riscrivere l'intero codice, quindi per ogni azienda che voleva UNIX sui propri Device si doveva creare sempre un porting diverso adatto al nuovo Hardware.
Con C invece questo problema è stato risolto, permettendo di creare codice che potesse girare su tanti tipi di Hardware diversi senza dover
andare a riscriverlo per intero ogni volta.
Ma a quanto pare solo gli ignoranti si vanno a leggere la storia della nascita dei sistemi UNIX e di GNU/Linux(Che è in stretta correlazione con la nascita di internet tra la fine degli anni 60 e l'inizio degli anni 70, quando fù progettato il protocollo TCP/IP, dal Dipartimento della Difesa americano con l'aiuto dei ricercatori dell'ARPANET )
Indipendentemente di quello ha altri problemi a partire che viene interpretato dal runtime .NET e non nativamente come il C++.Ti dico quella che è la mia esperienza lavorativa e dei miei vari colleghi. Se devi operare a livello malware su windows, C# e C++ sono la strada più diretta e che ti offre una marea di possibilità, specie se parliamo di integrazione con vari C2, tipo Cobalt Strike e Covenant. C'è un motivo se i team di SpecterOps ed MDSec (non proprio gli ultimi arrivati) hanno spostato tutte le loro tradecraft su C#.
Qualcuno diceva che .NET è facile da analizzare - vero di base, vero anche però che qualsiasi cosa fatta a ca**o di cane è facile da analizzare.
se i tuoi dubbi sono stati chiariti e non ti interessa più la discussione puoi sempre chiedere ad un mod di chiudere il topic.Grazie a tutti, sè volete continuare a commentare resto in ascolto......
Solo perchè il C# è relativamente semplice rispetto a capire cose in C++ non significa che il C++ non sia utile o buono comunque, prima o poi anche se impari C# dovrai studiarti almeno C o C++ base.Finito di insultarvi? Altrimenti chiudo anche se non ho i poteri....
Ho letto un pò di ASSEMBLY e il corso su cui mi sto buttando ne sconsiglia l'utilizzo non perche non valga un cazz@, ma perchè il livello è molto basso e lo sapete meglio di me.... Sè il fine era di creare malware ed exploit, prendo come buono il C, ma come prima esperienza ho approfondito lo C#, ed il corso di C++ è davvero un casino, quello che ho imparato nello stesso numero di lezioni in C#, non ho imparato in C++ ed ho avuto piu soddisfazioni... Mi riservo di intraprendere oltre allo C# anche un futuro corso di C e C++. ciao
Credo di essermi perso qualche passaggio allora, non sto capendo ciò che vuoi dire. .NET di base è interpretato dal CLR, ciò non toglie che ci sia in ogni caso l'opzione di farlo eseguire nativamente.Indipendentemente di quello ha altri problemi a partire che viene interpretato dal runtime .NET e non nativamente come il C++.
Tanto per chiarireSe il linguaggio è di basso livello, non vuol dire che fa schifo ma che lavora a stretto contatto con l'hardware.
Da quel che so, il kernel Linux è scritto in C, Assembly, Python e Perl.
L'Assembly non è un linguaggio derivato dal C.
Ho fatto una piccola ricerca su Google e qualche libro e ti riassumerò le principali caratteristiche dei linguaggi:
Ad oggi si utilizzano moltissimi linguaggi che possiamo distinguere in 3 categorie:
1 Linguaggio macchina
2 Linguaggi assemblatori o di basso livello
3 Linguaggi di alto livello
Linguaggio macchina:
Qualunque computer è in grado di eseguire soltanto il proprio linguaggio macchina. I linguaggi macchina consitono di stringhe di numeri espressi dai caratteri 1 e 0, questi linguaggi sono molto scomodi per gli esseri umani
Linguaggi assemblatori:
Programmare in linguaggio macchina è molto scomodo per un programmatore, per questo sono stati creati i linguaggi assemblatori, in parole semplici, i linguaggi assemblatori sono un abbreviazione dei linguaggi macchina, per eseguire questo tipo di linguaggio si usano dei veri e propri 'traduttori', chiamati assemblatori, che traducono il linguaggio assemblatore in linguaggio macchina.
Linguaggi di alto livello:
Per aumentare la velocità del processo di programmazione sono stati sviluppati linguaggi ad alto livello, in cui si possono scrivere singole istruzioni per eseguire compiti consistenti. I programmi traduttori chiamati compilatori convertono i programmi in linguaggio ad alto livello nel linguaggio macchina, la particolarità dei linguaggi di alto livello è quella di avere una semplice sintassi in cui si usano parole della lingua inglese.
Assembly:
L'assembly è un linguaggio di basso livello che ha lo scopo di consentire al programmatore di ignorare il formato binario della macchina, Il programma scritto in assembly non può essere eseguito direttamente dal processore; esso deve essere tradotto nel linguaggio macchina (binario) corrispondente, usando un programma compilatore detto assembler, l'utilizzo dell'Assembly, tutt'oggi, è molto di nicchia ma può essere utile per kernel, driver, malware e tutte quelle volte che abbiamo la necessità di lavorare a stretto contatto con l'hardware.
C:
Il C è un linguaggio di programmazione procedurale, di alto livello, le sue principali caratteristiche sono la versatilità dei pc sul quale può essere compilato, può maneggiare attività di basso livello e l'implementazione dei puntatori, anche esso viene usato per kernel, driver e microcontrollori.
C#:
Il C# è il linguaggio di programmazione per eccellenza del framework .NET, è stato sviluppato da microsoft ed è un linguaggio di programmazione ad oggetti (OOP), anche esso è di alto livello ed i suoi principali usi sono il software development ed il game development, con il software unity.
Python:
Il Python è un linguaggio di alto livello (il più alto di tutti), di scripting che supporta anche la programmazione ad oggetti, ha una sintassi molto semplice ma diversa dagli altri linguaggi e viene interpretato, infatti, per eseguire codice Python abbiamo bisogno di un interprete che interpreti le istruzioni che gli diamo, si impara in poco risperro agli altri linguaggi ma ha dei problemi che sono: la dichiarazione delle variabili, la lentezza dell'esecuzione del codice e la sintassi diversa rispetto agli altri linguaggi, i suoi principali usi sono il machine learning e l'intelligenza artificiale.
Spero di avervi chiarito le idee
python va bene per programmini stupidi e gente che non ha le mani, altro che a quello per AI e scienze come ho già detto, python non dovrebbe essere utilizzato al di fuori di quei due campi, soprattutto quando si passa a livelli enterprise.Partendo col dire , di prendere con le pinze quanto detto essendo un mio parere e non sono un coder
Hai detto quale e' il migliore ...ma e' un soggetto di cui arduo usarlo in questo caso/modo.
quelli citati vanno bene tutti c python ecc,per quello che posso consigliarti e' se solo basato in quanto richiesto da te Python essendo molto completo comunque nella anche nella sua semplicita' di scrittura, piu' rapido del C , ma non posso dire piu' completo. Pero' con python puoi sviluppare di tutto
Diciamo se vuoi immergerti nel coding inizierei da C. se invece puoi anche impararne solo 1 per determinati ^progetti^ andrei di python. e questo perche oltre ad automazione di sistema sviluppi appunto web app tool script per hacking ecc..
correggettemi se sbaglio modo di pensarlo
Da quel che so .NET Native funziona una merd*, .NET Core Self-Packed fa cagare devi perdere 2 giorni a configurare le classi e dipendenze per non farti includere 90 MB di librerie senza motivo.Credo di essermi perso qualche passaggio allora, non sto capendo ciò che vuoi dire. .NET di base è interpretato dal CLR, ciò non toglie che ci sia in ogni caso l'opzione di farlo eseguire nativamente.