Υπάρχουν μειονεκτήματα στη χρήση UPX να συμπιέσετε ένα εκτελέσιμο των Windows εκεί;




Έχω χρησιμοποιήσει [UPX](http://upx.sourceforge.net/) πριν από τη μείωση του μεγέθους των εκτελέσιμα μου τα Windows, αλλά οφείλω να ομολογήσω ότι είμαι αφελής τυχόν αρνητικές παρενέργειες μπορεί να έχει αυτό. Ποιο είναι το μειονέκτημα σε όλη αυτήν την συσκευασία / αποσυσκευασία;


Υπάρχουν σενάρια στα οποία ο καθένας θα συνιστούσα να μην UPX-σης ένα εκτελέσιμο εκεί (π.χ. όταν γράφετε ένα αρχείο DLL, τα Windows Υπηρεσία, ή όταν στοχεύουν Vista ή Win7); Γράφω πιο κώδικα μου στους Δελφούς, αλλά έχω χρησιμοποιήσει UPX να συμπιέσει C / C ++ εκτελέσιμα, καθώς και.


Σε μια πλευρά σημείωση, εγώ **δεν** τρέχει UPX σε κάποια προσπάθεια για την προστασία της exe μου από disassemblers, μόνο για να μειώσει το μέγεθος του εκτελέσιμου και την πρόληψη βιαστική αλλοίωσης.
> 
> Ο λόγος είναι ότι υπάρχουν μειονεκτήματα από τη χρήση συμπιεστών EXE. Κυρίως:
> 
> 
> Κατά την εκκίνηση ενός συμπιεσμένου EXE / DLL, όλα του κώδικα αποσυμπιέζεται από την εικόνα δίσκου στη μνήμη σε ένα πέρασμα, το οποίο μπορεί να προκαλέσει αλώνισμα δίσκο, αν το σύστημα είναι χαμηλή μνήμη και αναγκάζεται να αποκτήσετε πρόσβαση στο αρχείο μετάθεσης. Σε αντίθεση, με ασυμπίεστο EXE / DLL, το λειτουργικό σύστημα διαθέτει μνήμη για σελίδες κώδικας για τη ζήτηση (δηλαδή, όταν εκτελούνται).
> 
> 
> Πολλαπλές περιπτώσεις ένα συμπιεσμένο EXE / DLL δημιουργήσετε πολλαπλές παρουσίες του κώδικα στη μνήμη. Εάν έχετε ένα συμπιεσμένο EXE που περιέχει 1 ΜΒ του κώδικα (πριν από τη συμπίεση) και ο χρήστης ξεκινά 5 περιπτώσεις από αυτό, περίπου 4 MB μνήμης σπαταλιέται. Ομοίως, εάν έχετε ένα αρχείο DLL που είναι 1 MB και χρησιμοποιείται από 5 εφαρμογές που εκτελούνται, περίπου 4 MB μνήμης σπαταλιέται. Με ασυμπίεστο EXE / DLL, κωδικός αποθηκεύεται μόνο στη μνήμη μία φορά και μοιράζεται μεταξύ των περιπτώσεων.
> 
> 
> 


<http://www.jrsoftware.org/striprlc.php#execomp>
από όσο γνωρίζω (με τα windows γενικά δεν το έχω) υποστήριξη για nfs υπάρχει μόνο στις επαγγελματικές εκδόσεις των windows 10. αλλά δεν νομίζω να υπάρχει κάποιο όφελος σε ταχύτητα η αξιοπιστία, ενώ το αντίθετο δεν θα με εξέπληττε.

[εικόνα]

[how to mount an nfs share using a windows 10 machi…](https://graspingtech.com/mount-nfs-share-windows-10/) είχα το ίδιο πρόβλημα με αρχεία zip που κατέβαζα παλιότερα από εκπαιδευτικές ιστοσελίδες. έχω linux mint με διαχειριστή αρχείων τον thunar. έκανα προσθήκη “προσαρμοσμένης ενέργειας” (επεξεργασία –> ρυθμίσεις προσαρμοσμένων ενεργειών –> προσθήκη νέας), ώστε με δεξί κλικ να αποσυμπιέζω με τη σωστή κωδ… καλά ο hqplayer είναι άλλη φάση… έχει ολόκληρη “μηχανή” από πίσω για να κάνεις upsampling σε dsd τα πάντα και καταναλώνει τρελούς πόρους και είναι και αρκετά ακριβός!

αν θες δοκίμασε το jriver … και αυτό με πληρωμή είναι αλλά δουλεύει καλά και είναι και πολύ πιο φθηνό από τον hq. παίζει και native … είναι αλήθεια ότι μου πέρασε κάποια στιγμή από το μυαλό να “σηκώσω” ένα arch δοκιμαστικά κατ αρχήν στο netbook (μάλλον επηρεάστηκα από τον [@billniakas](/u/billniakas)) αλλά φοβήθηκα ότι “τα νερά θα είναι βαθειά” :blush:. αφού όλα δουλεύουν το αφήνω για αργότερα όταν, και αν, ξαναδημιουργηθεί πρόβλημα.

τώρα έχει μ… [εικόνα] gnutechie:

ισως το sudo δεν παιζει και καλη μπαλα με τετοιες εντολες

ας λύσουμε το μυστήριο. το sudo δουλεύει για μια μόνο εντολή. μα μία δεν είναι εύλογα θα αναρωτηθείς; όχι αν ξέρεις ένα βαθιά κρυμμένο “μυστικό”. οι ανακατευθύνσεις είναι πίπες (δηλαδή pipes/σωλήνες, αλλά έτσι δεν θ… manjaro χρησημοποιω και το iso με suse imagewriter το εφτιαξα αλλα δεν μ εκοψε να το δω νομιζοντας οτι δεν θα χρειαστει.

to ξαναεφτιαξα με unetbootin κρατησα και 40 μβ αλλα δεν εκκινουσε.

ξανα με suse οπως ηταν και τελος.

τελικα την λυση την ειχα αλλα δεν το γνωριζα!

απο την σελιδα smartrmonto… ένα αρχείο tar.xz πρόκειται στην ουσία για ένα συμπιεσμένο αρχείο, αφού το κατεβάσεις προχωράς στην αποσυμπίεση με την εντολή :

tar -xvf filename.tar.xzοι διακόπττες :

-x : extract

-v : verbose (σου δείχνει κατά την εξαγωγή στο τερματικό τα αρχεία που περιλαμβάνει)

-f : filename (δηλώνεις ότι αυ… Η προτιμώμενη μέθοδος είναι να χρησιμοποιήσετε πραγματικά την ιδιότητα υπό όρους για να τυλίξει τις κλήσεις εντοπισμού σφαλμάτων σας, μην χρησιμοποιήσετε τις οδηγίες μεταγλωττιστή. #ifs μπορεί να πάρει δύσκολες και μπορεί να οδηγήσει σε περίεργα προβλήματα κατασκευής.


Ένα παράδειγμα της χρήσης ενός υπό όρους χαρακτηριστικό είναι η εξής (σε C #, αλλά λειτουργεί σε VB.NET πολύ):



```
[ Conditional("Debug") ]
private void WriteDebug(string debugString)
{
  // do stuff
}

```

Κατά τη μεταγλώττιση, χωρίς το σετ σημαία DEBUG, κάθε κλήση προς WriteDebug θα καταργηθούν όπως υποτίθεται συνέβαινε με Debug.Write (). εγκατέστησα την τελευταία έκδοση του προγράμματος και εξακολουθούσα να έχω το ίδιο πρόβλημα. τελικά με τη βοήθεια απο το σχετικό [google group](https://groups.google.com/g/devede-forum/c/2thoie_dsxq) του devedeng, κατάλαβα οτι επιλέγω λάθος encoding type για το αρχείο υποτίτλων που θέλω να βάλω στην ταινία.

όταν επέλεξα το σωστό τύπο encoding για το αρχε… τελικά επανέφερα το / με το timeshift και βρήκα την λύση εδώ:

[εικόνα]

[how to prevent the .xsession-errors file from growing to a huge size |...](https://www.daniloaz.com/en/how-to-prevent-the-xsession-errors-file-from-growing-to-huge-size/)

the .xsession-errors file is where the x window system logs all errors that occur within the linux graphical environment. all desktop environmen…