Downloads:

23

Downloads of v 2.3:

23

Last Update:

12 Sep 2021

Package Maintainer(s):

Software Author(s):

  • Aske Simon Christensen
  • Rune L. H. Stubbe.
  • Gil Dabah

Tags:

crinkler linker link lld ld foss cli demoscene executables

Crinkler

  • 1
  • 2
  • 3

2.3 | Updated: 12 Sep 2021

Downloads:

23

Downloads of v 2.3:

23

Maintainer(s):

Software Author(s):

  • Aske Simon Christensen
  • Rune L. H. Stubbe.
  • Gil Dabah

  • 1
  • 2
  • 3
Crinkler 2.3

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Resulted in Flagged as a Note:

At least one file within this package has greater than 0 detections, but less than 5

Details

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Crinkler, run the following command from the command line or from PowerShell:

>

To upgrade Crinkler, run the following command from the command line or from PowerShell:

>

To uninstall Crinkler, run the following command from the command line or from PowerShell:

>

Deployment Method:

📝 NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade crinkler -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade crinkler -y --source="'INTERNAL REPO URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install crinkler
  win_chocolatey:
    name: crinkler
    version: '2.3'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'crinkler' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2.3'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller crinkler
{
    Name     = "crinkler"
    Version  = "2.3"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'crinkler':
  ensure   => '2.3',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved by moderator TheCakeIsNaOH on 17 Sep 2021.

Description

Crinkler is a compressing linker for Windows, specifically targeted towards executables with a size of just a few kilobytes. Its main purpose is as a tool for producing small demoscene productions.

Usage information and version history can be found in the manual.

For general discussion, questions and comments, use the Pou√ęt.net forum.

Distribution

Crinkler is mainly being developed by Rune L. H. Stubbe (Mentor/TBC) and Aske Simon Christensen (Blueberry/Loonies). It is distributed under the Zlib license.

You are welcome to integrate Crinkler into your own tools or toolchains. If you do so, preferably base your work on a commit tagged by a release version. This way, the Crinkler version identifier written into output executables (two digits at offset 2 in the file) will match the actual contents produced by Crinkler.

Building

Build Crinkler using Visual Studio 2017 or later. The custom build rules for the assembly files require that nasmw.exe is in the executable path.

The data compressor itself is separated out into its own library, located in the Compressor project. This library enables tools to estimate how big a particular piece of data would be after being compressed by Crinkler. Take a look at the CompressorExample project for a description of its usage.


legal\LICENSE.txt
From: https://github.com/runestubbe/Crinkler/blob/v2.3/LICENSE.txt

LICENSE

Crinkler - compressing linker for Windows

Copyright (c) 2005-2020 Aske Simon Christensen and Rune L. H. Stubbe.


This software is provided 'as-is', without any express or implied

warranty. In no event will the authors be held liable for any damages

arising from the use of this software.


Permission is granted to anyone to use this software for any purpose,

including commercial applications, and to alter it and redistribute it

freely, subject to the following restrictions:


1. The origin of this software must not be misrepresented; you must not

   claim that you wrote the original software. If you use this software

   in a product, an acknowledgment in the product documentation would be

   appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be

   misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.




:[diStorm64}:

The ultimate disassembler library.

Copyright (c) 2003,2004,2005,2006,2007,2008, Gil Dabah

All rights reserved.


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:


    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    * Neither the name of the diStorm nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
legal\VERIFICATION.txt
VERIFICATION
Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.
 
Package can be verified like this:

1. Go to https://github.com/runestubbe/Crinkler/releases/tag/v2.3, and download from there.

   x86_64 & i686: https://github.com/runestubbe/Crinkler/releases/download/v2.3/crinkler23.zip

   to download the ZIP archive and extract the executables. You may wish to rename one of the files.

2. You can use one of the following methods to obtain the SHA512 checksum:
   - Use powershell function 'Get-FileHash'
   - Use Chocolatey utility 'checksum.exe'

   checksum:   6802df15ce7ed02911c139a3c851b75d583f3524233d3d5724b66a0dffd88a24bc11fa9a777630daa56ac2b604a6c2d409bf6e839f80a6764e19ae4b696788dd
   checksum64: d4321724c4518025d5ea98e39ce3697edd8529ad34291e91ead37146de8db4434b0ce3c0c59d1b9e570b6e6cc12ab58143ba28e9fa3db6ee565063aa7a5d7d81

File 'LICENSE.txt' obtained from:
   https://github.com/runestubbe/Crinkler/blob/v2.3/LICENSE.txt
tools\x64\Crinkler.exe
md5: FA31756D27F7B2F32BF4E1039E7FB420 | sha1: 39A1C63BFEB07D1722CF2CCC7B5C6402172792D5 | sha256: 5119264C5B101D448AECEB6CC2E1493F0AB3195444F87FCC5144E50C60E74DBE | sha512: D4321724C4518025D5EA98E39CE3697EDD8529AD34291E91EAD37146DE8DB4434B0CE3C0C59D1B9E570B6E6CC12AB58143BA28E9FA3DB6EE565063AA7A5D7D81
tools\x86\Crinkler.exe
md5: E7DFDB8889E655E86835EDF686308DDE | sha1: 30AE52024ABE81319230FE1AD2D37A4C7170ECA5 | sha256: 2F87C1C1C360DC7FBEA0E7F1A12B451E940259CB772742907D0D93FBFB8FA54A | sha512: 6802DF15CE7ED02911C139A3C851B75D583F3524233D3D5724B66A0DFFD88A24BC11FA9A777630DAA56AC2B604A6C2D409BF6E839F80A6764E19AE4B696788DD

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status

  • The size of /TINYHEADER reduced by another 3 bytes.

  • Faster hash size optimization, especially with many cores.

  • Error messages about symbols that cannot be found now include the name of the function containing the reference to that symbol.

  • When using functions from msvcrt.dll, it is no longer necessary to supply an old msvcrt.lib. Crinkler now automatically links to msvcrt.dll, similarly to how the Microsoft linker automatically links to its corresponding runtime.

  • For CONSOLE applications, when not specifying a custom entry point, Crinkler will insert a small mainCRTStartup which handles commandline arguments.

  • The automatic msvcrt.dll linking and entry point can be disabled by using the /NODEFAULTLIB option.

  • Added support for legacy format lib files with only the first linker member. Files like this are emitted from rustc, for example.

  • When an imported DLL contains no export table (which is the case for some Wine DLLs), Crinkler will no longer crash. Instead, it will report an error, instructing the user to supply genuine Windows DLLs when crinkling on Wine.

  • Only one dump file is written if several threads crash.


This package has no dependencies.

Discussion for the Crinkler Package

Ground Rules:

  • This discussion is only about Crinkler and the Crinkler package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Crinkler, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus