Domanda Basi programmazione per hacking

Stato
Discussione chiusa ad ulteriori risposte.
Ultima modifica:
Da quel che so, il kernel Linux è scritto in C, Assembly, Python e Perl.
se, più del 95% del kernel Linux è scritto in C, e per quanto riguarda GNU la sua forza stava nel compliatore GCC la libreria C e Bash, ma questo è stato fatto tra gli anni 70-80, Python è nato nel 91, quindi di cosa parli? bho, per il resto la tua lezione puoi risparmiartela, almeno per me.

@UpsurgeCerberus bah python non è così schifoso come fai credere te, e nelle aziende Enterprise che si occupano di analisi o Big Data non ha rivali, secondo me, come ogni altro linguaggio, ha una vasta panoramica d'utilizzo.
 
se, più del 95% del kernel Linux è scritto in C, e per quanto riguarda GNU la sua forza stava nel compliatore GCC la libreria C e Bash, ma questo è stato fatto negli anni 70, Python è nato nel 91, quindi di cosa parli? bho, per il resto la tua lezione puoi risparmiartela, almeno per me.

@UpsurgeCerberus bah python non è così schifoso come fai credere te, e nelle aziende Enterprise che si occupano di analisi o Big Data non ha rivali, secondo me, come ogni altro linguaggio, ha una vasta panoramica d'utilizzo.
Forse mi sono spiegato male:

"non serve a niente se non per AI e Ricerca ma non c'è un linguaggio "Più alto di tutti" ogni linguaggio ha alti e bassi."

questo include analisi o Big Data
 
@Psychonaut
Schermata del 2021-02-28 11-56-13.png

Da wikipedia.org
 
Non vorrei dire ma ho già fatto vedere tutti i linguaggi che utilizza, e direttamente dal repo, invece di usare wikipedia usa gli occhi per leggere cosa abbiamo scritto fin ora.

 
  • Mi piace
Reazioni: RuBBeR_
Tanto per chiarire

C non è ne high-level ne low-level proprio come il C++, nessuno dei due ha le caratteristiche complete di un linguaggio lowlevel (asm) ma nemmeno tanto highlevel, quindi solitamente vengono chiamati midlevel, C# non è vero che gli utilizzi principali sono software e game dev, bensì microservizi e software development, il game dev oggi come oggi è sempre poco richiesto.

Python non c'entra una sega in tutto questo è weakly-typed etc etc fa cagare lo sappiamo, non serve a niente se non per AI e Ricerca ma non c'è un linguaggio "Più alto di tutti" ogni linguaggio ha alti e bassi.
Messaggio unito automaticamente:


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.
Messaggio unito automaticamente:


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.
(UWP non credo serva nominarlo è scontato non abbia senso)
quoto si . pero' non vedo nello stesso modo python come lo vedi tu. per il C nulla da togliere e dire
 
@FuckSociety tra l'altro la wiki parla delle versioni aggiornate del kernel, qui parlavamo in merito alla prima versione, quindi bho...
Poi continui a parlarmi di Kernel, ma sai cos'è GNU e cos'è linux? e di conseguenza sai cos'è GNU/Linux?

P.s. ma sapete già che molti dei commenti che stiamo facendo sono OffTopic e verranno eliminati giusto?
 
  • Mi piace
Reazioni: RuBBeR_
Ultima modifica da un moderatore:
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?
Mettiamola così. Il C è una tecnologia tale per cui ci metti MOLTO meno tempo a implementare algoritmi, però assembly è certamente necessario alle volte.
Loro hanno semplicemente detto che per certe determinate cose l'assembly bisogna saperlo, nulla di più nulla di meno.
Messaggio unito automaticamente:

P.s. ma sapete già che molti dei commenti che stiamo facendo sono OffTopic e verranno eliminati giusto?
In teoria non lo è per il semplice fatto che state discutendo se l'autore del post deve studiare o meno assembly basandovi sulla sua utilità nel 2021.
 
Mettiamola così. Il C è una tecnologia tale per cui ci metti MOLTO meno tempo a implementare algoritmi, però assembly è certamente necessario alle volte.
Loro hanno semplicemente detto che per certe determinate cose l'assembly bisogna saperlo, nulla di più nulla di meno.
Messaggio unito automaticamente:


In teoria non lo è per il semplice fatto che state discutendo se l'autore del post deve studiare o meno assembly basandovi sulla sua utilità nel 2021.
Grazie. E' quello che sto cercando di spiegare da 2 giorni
 
Tanto per chiarire

C non è ne high-level ne low-level proprio come il C++, nessuno dei due ha le caratteristiche complete di un linguaggio lowlevel (asm) ma nemmeno tanto highlevel, quindi solitamente vengono chiamati midlevel, C# non è vero che gli utilizzi principali sono software e game dev, bensì microservizi e software development, il game dev oggi come oggi è sempre poco richiesto.

Python non c'entra una sega in tutto questo è weakly-typed etc etc fa cagare lo sappiamo, non serve a niente se non per AI e Ricerca ma non c'è un linguaggio "Più alto di tutti" ogni linguaggio ha alti e bassi.
Messaggio unito automaticamente:


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.
Messaggio unito automaticamente:


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.
(UWP non credo serva nominarlo è scontato non abbia senso)
Tutto chiaro, grazie della delucidazione. Anche se ti dirò, probabilmente sarei comunque un po' restio a switchare con C++ in tema malware dev per windows - comprendo il ragionamento sul funzionamento ad minchiam di .NET native, ci son però troppe integrazioni con C2 e vari tools che usiamo per lavoro che non sono ancora disposto a perdere :D magari però me lo segno come compito a casa, potrebbe essere interessante fare il passaggio in futuro.
 
Tutto chiaro, grazie della delucidazione. Anche se ti dirò, probabilmente sarei comunque un po' restio a switchare con C++ in tema malware dev per windows - comprendo il ragionamento sul funzionamento ad minchiam di .NET native, ci son però troppe integrazioni con C2 e vari tools che usiamo per lavoro che non sono ancora disposto a perdere :D magari però me lo segno come compito a casa, potrebbe essere interessante fare il passaggio in futuro.
Anche Go e Rust sono linguaggi buonissimi per sviluppo malware, sinceramente preferirei utilizzare Go piuttosto che C++ in quest'ambito, ha molti vantaggi.
 
Ultima modifica:
go è performante perché ha una sintassi semplice e "scarna" rispetto a qualsiasi altro linguaggio derivato dal C.

@At3x si ma dall'affermare che:

l'assembly serve punto e basta

a dire che:
assembly è certamente necessario alle volte.

c'è na bella differenza no?

Implicitamente(neanche così tanto) credo che nel Topic venisse chiesto di suggerire linguaggi di alto livello, non Linguaggi per programmare Processori o Device, o comunque un linguaggio simil Macchina, giusto?

Se poi mi venite a dire che per un ingegnere informatico, che sta creando il nuovo processore "Cippalippam43DeluxVibratoreSuppaPowa" Assembly è indispensabile, sono d'accordo, ma per un programmatore no, a meno che non abbia esigenze del tutto particolari.

Un virus lo si può creare anche con uno script in BASH, e puoi fare una quantità di danni illimitata.

Magari sono io che non ho compreso, magari sono ignorante, come suggeriva qualcuno, bho.
 
  • Mi piace
Reazioni: UpsurgeCerberus
Anche Go e Rust sono linguaggi buonissimi per sviluppo malware, sinceramente preferirei utilizzare Go piuttosto che C++ in quest'ambito, ha molti vantaggi.
Go l'ho utilizzato una volta sola per lanciare un beacon Cobalt Strike, perchè ho avuto a che fare con un EDR che per qualche motivo assurdo non riteneva malevolo un eseguibile scritto in quel linguaggio specifico, però non ho granchè dimestichezza... Rust invece non lo conosco affatto, devo andare a documentarmi. Ottimi spunti in ogni caso, questo thread me lo salvo (se non viene cancellato prima)
 
go è performante perché ha una sintassi semplice e "scarna" rispetto a qualsiasi altro linguaggio derivato dal C.

@At3x si ma dall'affermare che:



a dire che:


c'è na bella differenza no?

Implicitamente(neanche così tanto) credo che nel Topic venisse chiesto di suggerire linguaggi di alto livello, non Linguaggi per programmare Processori o Device, o comunque un linguaggio simil Macchina, giusto?

Se poi mi venite a dire che per un ingegnere informatico, che sta creando il nuovo processore "Cippalippam43DeluxVibratoreSuppaPowa" Assembly è indispensabile, sono d'accordo, ma per un programmatore no, a meno che non abbia esigenze del tutto particolari.

Un virus lo si può creare anche con uno script in BASH, e puoi fare una quantità di danni illimitata.

Magari sono io che non ho compreso, magari sono ignorante, come suggeriva qualcuno, bho.
L'assembly punto e basta era sempre in quel contesto e non serve saper l'assembly per fare un nuovo processore, io mi riferisco a driver in generale, l'assembly può tornare utile perfino per un ntprotectvm da um, quindi inutile che continuiamo questa discussione, riguardo a golang mi riferivo piuttosto alla complessità nello analizzare un binario golang, che risulta più complesso rispetto a uno c++, oltre ovviamente alla sintassi snella e ottimale per networking.
 
Update, che magari può interessare a qualcuno: oggi parlavo nuovamente della questione con dei colleghi e sento sempre più parlare bene di Go (qualcuno anche di Rust). Fra l'altro, il mio commento relativo al team SpecterOps che utilizza perlopiù tecniche basate su .NET è relativo ad un training che feci con lorö qualche anno fa e non å più vero - pare si stiano spostando anche loro su Go, a detta di un collega che ha seguito il loro workshop molto più recentemente (credo il mese scorso): https://posts.specterops.io/malware-development-pt-1-dynamic-module-loading-in-go-1121f07f3a5a
Nell'articolo viene citato CGo, altro concetto che sto vedendo nominare molto frequentemente. Insomma, questo sembra confermare in pieno ciò che diceva @UpsurgeCerberus ; sicuramente Go ha adesso il mio totale interesse, quindi so già come riempire il mio (inesistente) tempo libero.
 
  • Mi piace
Reazioni: Eoloprox
bè ci credo che né parlano bene, go è stato sviluppato da google, e lo usano in Amazon e Facebook, cosa vi aspettavate?:rofl:
Bettercap di EvilSocket è programmato quasi tutto in go.
 
Ma scusate una cosa già che ci siamo... si dice che piu che si programmi a basso livello, si hanno dei pro e contro.. il più forte PRO resta sempre la velocità del programma finale.
Ma anche che si programmi ad alto livello non c'è ugualmente il compilatore che te lo porta a basso (linguaggio macchina) quindi dove stà la velocità?
Grazie scusate l'OT.
 
L'Assembly non è più veloce degli altri linguaggi, semplicemente, è più flessibile e quindi puoi ottimizzare il tuo codice per renderlo più veloce, puoi fare ciò anche in altri linguaggi.
 
Ultima modifica:
Veloce inteso non come facilità di apprendimento e scrittura, ma veloce il programma in sè...
 
@FuckSociety dicevi scusa?

Schermata 2021-03-02 alle 19.10.29.png



@Eoloprox bè in realtà I linguaggi più veloci potrebbero essere quelli interpretati, come Python, poiché il codice viene appunto interpretato immediatamente, durante la stesura, senza dover prima compilarlo, ma credo che la velocità dipenda da cosa deve fare il programma e dal layer in cui lavora (vedi modello OSI, un utente aveva anche creato una guida in cui spiegava suddetto modello)
 
@FuckSociety dicevi scusa?

Visualizza allegato 50437


@Eoloprox bè in realtà I linguaggi più veloci potrebbero essere quelli interpretati, come Python, poiché il codice viene appunto interpretato immediatamente, durante la stesura, senza dover prima compilarlo, ma credo che la velocità dipenda da cosa deve fare il programma e dal layer in cui lavora (vedi modello OSI, un utente aveva anche creato una guida in cui spiegava suddetto modello)
Scusami ma mi cadi in basso, tutti i neuroni, kaput, over, game over pe tutti i neuroni.

La fase yellow consiste solo nel build che appunto serve ad assemblare e OTTIMIZZARE il codice, i linguaggi interpretati passano attraverso una miriade di parse e ottimizzazioni scarsissime

per farti capire meglio, con il c++:

std::cout >> "hello";

viene compilato direttamente in codice macchina, che è eseguito praticamente com'è
mentre con MSIL

System.Console.WriteLine("hello");

viene prima compilato in IL/MSIL che al runtime passa per il .NET Runtime, che deve analizzare l'IL generato e in secondo piano eseguirlo

E per carità se c'è un amministratore o moderatore,

Basi programmazzione per hacking​

correggete il titolo per l'amor di dio
 
Stato
Discussione chiusa ad ulteriori risposte.