I ran --best on a file and got 2.7 meg file. Then I ran --brute and run #29 (out of 36 possible) gave me a 2.4 meg file. In the end, the file I got was about the size of run #29. BUT, it took a LOT longer since it had to try multiple settings (not all 36 actually ran).
Is there some way that I can simply recreate the settings from run #29 myself? In other words, is there a table that converts run # to settings? That way I could just run once using those settings instead of using --brute, which runs multiple times and takes a lot longer. This is an executable I am developing and I expect to have to run UPX many times over the next year. It would save time if I knew what settings would automatically give me a decent size.
Such a table would be great if included in the documentation. If we knew which ## runs of --brute (or --ultra-brute) used which settings then we could note which run was the best and simply use those setting and run once.
art
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You can use the --fileinfo switch to see which settings were ultimately used, but I don't think you can specify the exact settings when you compress again.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I ran --best on a file and got 2.7 meg file. Then I ran --brute and run #29 (out of 36 possible) gave me a 2.4 meg file. In the end, the file I got was about the size of run #29. BUT, it took a LOT longer since it had to try multiple settings (not all 36 actually ran).
Is there some way that I can simply recreate the settings from run #29 myself? In other words, is there a table that converts run # to settings? That way I could just run once using those settings instead of using --brute, which runs multiple times and takes a lot longer. This is an executable I am developing and I expect to have to run UPX many times over the next year. It would save time if I knew what settings would automatically give me a decent size.
Such a table would be great if included in the documentation. If we knew which ## runs of --brute (or --ultra-brute) used which settings then we could note which run was the best and simply use those setting and run once.
art
You can use the --fileinfo switch to see which settings were ultimately used, but I don't think you can specify the exact settings when you compress again.
Try this:
1, use --fileinfo, and look at the "method", "filter" and "level" parameters.
2, the following methods are supported:
#define M_NRV2B_LE32 2
#define M_NRV2B_8 3
#define M_NRV2B_LE16 4
#define M_NRV2D_LE32 5
#define M_NRV2D_8 6
#define M_NRV2D_LE16 7
#define M_NRV2E_LE32 8
#define M_NRV2E_8 9
#define M_NRV2E_LE16 10
#define M_LZMA 14
#define M_DEFLATE 15
Let's say, fileinfo says method 8, this means that you should use the command ilne switch --nrv2e.
(Ignore the _8, _LE16, _LE32 suffix)
3, for the filter, you should simply use --filter=<hex_value_starting_with_0x>
4, for level 10, use --best
HTH, Laszlo