Results 1 to 6 of 6

Thread: dllmerge

  1. #1
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,267
    Thanks
    200
    Thanked 985 Times in 511 Posts

    dllmerge

    I finally updated dllmerge to make it more practical:
    http://nishi.dreamhosters.com/u/dllmerge_v2.rar

    Code:
    DllMerge is an utility for embedding statically bound dlls into exes.
    Example: m1.exe needs pthreadGC2.dll, but m1d.exe (produced by dllmerge, see test.bat)
    doesn't have any external dependencies.
    There're other similar tools (eg. pebundle) but they usually work by hooking
    winapi used for dll load, which makes them useless for some of possible purposes.
    
    Possible uses:
     - making a standalone .exe from a program with a few dlls, which makes it more portable
     - exe compression improvement (all code can be compressed together, instead of per-file)
     - software protection (its harder to locate and hook calls to a specific library in a merged exe)
     - reverse-engineering (most RE tools - eg. ida pro - don't support programs with multiple files)
    
    Limitations:
     - no x64 support (yet)
     - only type=3 relocs are supported
     - redundant dll's reloc data remains in a merged exe (old workaround with MS rebase still works though)
     - advanced cases using TLS,PE checksums,delayed imports,security records,etc frequently cause problems.
    The usual workaround is to remove these things manually before merging.
     - dllmerge only performs exe1+dll->exe2, so merging with multiple dlls requires multiple runs
    of dllmerge with temp intermediate exes.
    I'd like some feedback about possible future improvements,
    also probably some weird test cases where it doesn't work would be useful.

  2. The Following 4 Users Say Thank You to Shelwien For This Useful Post:

    78372 (17th December 2017),Bulat Ziganshin (16th February 2018),RamiroCruzo (4th June 2017),Simorq (24th March 2017)

  3. #2
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    Seems to work with comprox 0.8.0 (gcc compile) + pthreadGC2.dll. Thanks for the great program.

  4. #3
    Member
    Join Date
    Oct 2016
    Location
    Iran
    Posts
    5
    Thanks
    128
    Thanked 0 Times in 0 Posts
    This tool is great.
    But 64 bits are not supported.

  5. #4
    Member
    Join Date
    Nov 2015
    Location
    -
    Posts
    46
    Thanks
    202
    Thanked 10 Times in 9 Posts

    Thumbs up

    Quote Originally Posted by Simorq View Post
    This tool is great.
    Quote Originally Posted by Simorq View Post

    But 64 bits are not supported.

    There is the source code!
    http://nishi.dreamhosters.com/u/dllmerge_v2a.rar
    Cards in your hands.

  6. The Following 2 Users Say Thank You to xinix For This Useful Post:

    Bulat Ziganshin (26th February 2018),Simorq (25th February 2018)

  7. #5
    Member
    Join Date
    Oct 2016
    Location
    Iran
    Posts
    5
    Thanks
    128
    Thanked 0 Times in 0 Posts
    ...
    Last edited by Simorq; 12th July 2018 at 08:52.

  8. #6
    Member
    Join Date
    Nov 2015
    Location
    -
    Posts
    46
    Thanks
    202
    Thanked 10 Times in 9 Posts
    Quote Originally Posted by Simorq View Post
    I am a beginner.
    ‚ÄčGood luck!A great copy for training.

  9. The Following User Says Thank You to xinix For This Useful Post:

    Simorq (25th February 2018)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •