Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

ImportPatcher.41 - Find and fix dependency problems

- - - - -

  • Please log in to reply
133 replies to this topic

#126
Nomen

Nomen

    Member

  • Member
  • PipPip
  • 273 posts
  • Joined 07-July 12
  • OS:98SE
  • Country: Country Flag
I was using import patcher to see if I could get Adobe Audition 1.5 to run. I ran Audition.exe through Importpatcher.37 and then ran the modified file (auditio#.exe) and got the error "Error loading language module". Looking at the import patcher logs, it seems that I'm missing apphelp.dll. I obtained that file and placed it in c:\windows, c:\windows\system, and c:\windows\system32, as well as the directory where I have import patcher (IP). I ran IP again, and this time it created apphel#.dll which I'm not sure what to do with. Auditio#.exe still gives me the same error.

Looking at auditio#.ini seems to indicate something is wrong with ntdll.dll (lots of entries ending in "=") and some entries for Kernel32.dll

[KERNEL32.dll]
BaseDumpAppcompatCache=
BaseFlushAppcompatCache=
BaseCheckAppcompatCache=
BaseUpdateAppcompatCache=

So am I supposed to replace apphelp.dll with apphel#.dll?

What do I do with ipstub.dll?

Is there any hope of getting audition.exe (or auditio#.exe) to run? (yes I have KernelEx installed).


How to remove advertisement from MSFN

#127
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 824 posts
  • Joined 12-January 10
  • OS:ME
  • Country: Country Flag
As I wrote in the other thread (the Audition 1.5 one), Audition 1.5 doesn't run under 9x. You will have however no problems running 1.0 which is essentially a repackaged CoolEdit Pro 2 and can be used under stock 9x/Me AFAIK. That's what I would suggest, find yourself Audition 1.0 or CoolEdit and use that.

#128
jumper

jumper

    2015 All-American Masters HJ'er

  • Member
  • PipPipPipPip
  • 544 posts
  • Joined 21-January 11
  • OS:98SE
  • Country: Country Flag
> So am I supposed to replace apphelp.dll with apphel#.dll? ... What do I do with ipstub.dll?

Please reread post #4, then use ipstub.dll to replace the evil apphelp.dll

> Is there any hope of getting audition.exe (or auditio#.exe) to run? (yes I have KernelEx installed).

You might have better luck using Kexstubs, but you're probably best off taking loblo's advice.
Design feedback requested:
KernelEx 4.5.2015
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
Future projects: Kexter - IP40+Ktree+Kexstubs

#129
jumper

jumper

    2015 All-American Masters HJ'er

  • Member
  • PipPipPipPip
  • 544 posts
  • Joined 21-January 11
  • OS:98SE
  • Country: Country Flag
I've been using ImportPatcher.38 for a long time now, so it's about time I post it! :yes:

The key new feature is that Delay-load processing is now optional and defaults to OFF. For Kexstubs users, this is great for finding the minimal set of missing APIs that need to be added to stubs.ini (or Kstub822.ini).

New in ImportPatcher.38:
  • March 29, 2013
  • Delay-load processing made optional
  • Added file and data alignment checking
  • Ordinal import fields reversed in log (to match strings)

ImportPatcher.39 is a first attempt at moving towards a dialog interface. The initial MessageBox is replaced by a dialog box and the settings section of the #.ini file has been removed. (In fact, if there are no missing dependencies, the #.ini file will be empty!) The log file output remains the same.

New in ImportPatcher.39:
  • July 6, 2013
  • Expanded first MessageBox into fuller DialogBox
  • Added export forward patching

Edited by jumper, 13 February 2014 - 05:34 PM.

Design feedback requested:
KernelEx 4.5.2015
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
Future projects: Kexter - IP40+Ktree+Kexstubs

#130
jumper

jumper

    2015 All-American Masters HJ'er

  • Member
  • PipPipPipPip
  • 544 posts
  • Joined 21-January 11
  • OS:98SE
  • Country: Country Flag
Attached File  IP40.png   5.32KB   1 downloads
Attached File  ImportPatcher.40.7z   5.38KB   27 downloads

ImportPatcher.40
  • Interactive gui with drag and drop
  • Checkboxes:
    [_] Start dependency search in local folder
    [_] Test by loading (KernelEx)
    [_] Process delay imports
    [_] Walk dependencies
    [_] Unbind broken bindings
    [_] Show APIs for missing DLLs
    [_] Target Win9x (Subsystem version 4.0)
    [_] Save settings as .ini file
    [_] Create detailed .log file
  • Buttons:
    [ Analyze only ]
    [ Patch ] [ Cancel ]
    Large editable results box
Still TBD:
- ordinal support
- local walk
- sub/folder processing
- unUPX
Design feedback requested:
KernelEx 4.5.2015
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
Future projects: Kexter - IP40+Ktree+Kexstubs

#131
Drugwash

Drugwash

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,320 posts
  • Joined 21-June 06
  • OS:98SE
  • Country: Country Flag

Minor graphical issues on a 98SE with Revolutions Pack and non-standard settings: screenshot

 

Testing with Firefox 10.0.12 and KernelEx 4.5.2 official I get no patches needed in the results window, however the FileInfo plug-in (Total Commander) shows GetProcessIoCounters missing from kernel32.dll.

Same missing API for Firefox 9.0.1 on the same system, however ImportPatcher40 does show it this time in the results window.

Both firefox executables are in 'Default' compatibility mode. But... v10 is UPXed, while v9 is not, therefore I'd say unUPX would be necessary.

 

If I may suggest a few improvements:

- temporarily disable 'Analyze only' and 'Patch' while processing a file

- show an 'Operation finished' notice somewhere for user's awareness

- option where to save the log file

- alphabetically sort APIs in log file, for each import

- a readme text file în the archive, for those that may have gotten it from third-parties and have no Internet access to read details in this forum (or for those who forgot what's it for)

 

Thank you for the new version! ;)



#132
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 824 posts
  • Joined 12-January 10
  • OS:ME
  • Country: Country Flag

Great update!



#133
jumper

jumper

    2015 All-American Masters HJ'er

  • Member
  • PipPipPipPip
  • 544 posts
  • Joined 21-January 11
  • OS:98SE
  • Country: Country Flag
The latest Gimp (2.8.4) has files with bogus internal build timestamps (1970, 2040, etc.). ImportPatcher.41 can now handle them.

The "...local folder" option now defaults to ON when ImportPatcher launches and retains any user changes throughout the session. (In IP.40 it was auto-reset to ON for EXEs and OFF for DLLs at each file load.)

WM_CTLCOLORSTATIC messages are now processed to (hopefully) prevent Revolutions Pack from "customizing" the background color of the controls:
    case WM_CTLCOLORSTATIC:
      SetBkMode ((HDC)wParam, TRANSPARENT);
      return (int)GetStockObject (LTGRAY_BRUSH);
In case that doesn't work, one of the controls was resized so it should look better anyway.

UPXing an app with standard parameters converts all dependencies but the first API of each DLL into delay-loads that can currently only be detected by profiling. In the case of FF10, GetProcessIoCounters is provided by kexbases so it's not a problem.

In addition to the cursor changing to an hourglass during processing, the Analyze and Patch buttons and large text area are now disabled (grayed) as well. All return to normal to signify when processing is done.

This is a very minor release, so major changes such as Ordinal support and better logging options will have to wait.

Also: Invalid timestamps and file alignments are detected and reported in the log (if enabled), but not reported in the ini file/text box. Older features "Link to patched copies" and "Unbind broken bindings" have not been tested recently and may not work!

Attached Files


Design feedback requested:
KernelEx 4.5.2015
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
Future projects: Kexter - IP40+Ktree+Kexstubs

#134
Drugwash

Drugwash

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,320 posts
  • Joined 21-June 06
  • OS:98SE
  • Country: Country Flag

Appearance is now correct under RP9, disable/enable buttons during processing also works and should be enough of a hint.

Thank you very much! :)






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users