Tudo se resume a um conceito chamado entropia . Veja Wikipedia .
A ideia básica é que, se existisse uma operação de compactação que pudesse sempre tornar um arquivo menor, a lógica dita que essa operação de compactação seria capaz de reduzir qualquer arquivo a 0 bytes e ainda reter todos os dados. Mas isso é absurdo , porque sabemos que 0 bytes não podem transmitir nenhuma informação. Então acabamos de provar que não existe um algoritmo de compressão que sempre faça sua entrada menor, porque se fosse esse o caso, qualquer informação poderia ser armazenada em 0 bytes - mas 0 bytes implica o < em> ausência de informações, para que você não possa simultaneamente ter informações não e todas informações. Por isso, é um absurdo.
Devido a esse conceito teórico, todo programa de compactação que você usar vai aumentar o tamanho (ou na melhor das hipóteses, manter o mesmo tamanho) alguma entrada. Ou seja, para qualquer algoritmo de compactação que você projetar ou usar, haverá certas entradas que sairão menores e outras que não serão.
Os dados já compactados são geralmente um péssimo candidato para maior compactação, porque a maioria dos algoritmos de compactação sem perdas são baseados nos mesmos princípios teóricos. É possível compactar dados mal compactados ainda mais; mas isso é menos eficiente do que simplesmente compactá-lo com o algoritmo mais bem disponível dos dados originais para começar.
Por exemplo, se você tivesse um arquivo de texto de 100 MB e o compactasse usando o algoritmo Zip normal, ele poderia ser compactado para 50 MB. Se você compactar o arquivo Zip com o LZMA2, poderá obtê-lo em 40 ou 45 MB, porque o LZMA tem uma <>> maior taxa de compactação para a maioria dos dados compactáveis do que o Zip. Então, é lógico que ele também pode compactar dados Zip, porque o Zip não suga completamente a entropia dele. Mas se você eliminar o contêiner Zip completamente, você poderá diminuir ainda mais comprimindo o texto bruto com LZMA2, potencialmente gerando algo na ordem de 30 - 35 MB (esses são apenas "números de ar" para ilustrar o conceito) .
No caso do binário que você está tentando compactar, é maior porque o formato de arquivo 7-Zip precisa criar sua própria estrutura interna e compactar os dados do executável já compactado no diretório 7 Formato Zip. Isso contém coisas como um dicionário, um cabeçalho de arquivo e assim por diante. Esses dados extras são geralmente mais do que compensados pela economia de compactação dos dados em si, mas parece que o executável que você está tentando compactar já está compactado com alguma forma de LZMA; caso contrário, provavelmente diminuiria o tamanho do executável ou aumentaria muito pouco, em vez de aumentá-lo em 2 MB (o que é muito).