Java 6 のインストーラーに必要な改造方法が変わったのでメモ

Java 6 Update 71 までは GetSystemWow64DirectoryA を GetSystemDirectoryA に置換するだけで動作していた regutils.dll なのですが、それが通用しなくなったので、今後のメモの意味も込めて記事にします・ω・

関数名をとりあえず GetProcessWorkingSetSize に変更

 SUB_L6D6A9A13:
          push    esi
          mov    esi,[esp+08h]
          mov    byte ptr [esi],00h
          call    SUB_L6D6B53D6
          test    eax,eax
          jz     L6D6A9A5B
          call    SUB_L6D6A9459
          test    eax,eax
          jz     L6D6A9A4D
          call    SUB_L6D6B1D84
          test    eax,eax
          jz     L6D6A9A4D
          call    SUB_L6D6B541C
          test    eax,eax
          jmp    L6D6A9A4D
          push    00000800h
          push    esi
          call    [KERNEL32.dll!GetProcessWorkingSetSize]
          pop    esi
          retn
;------------------------------------------------------------------------------
 L6D6A9A4D:
          push    00000800h
          push    esi
          call    [KERNEL32.dll!GetSystemDirectoryA]
          pop    esi
          retn

なぜかこうしたら動いた・ω・
置き換えと変わらない気がするんだけど…何がダメなんだろうね?

Java 6 のインストーラーに必要な改造方法が変わったのでメモ

Java 6 Update 71 までは GetSystemWow64DirectoryA を GetSystemDirectoryA に置換するだけで動作していた regutils.dll なのですが、それが通用しなくなったので、今後のメモの意味も込めて記事にします・ω・

関数名をとりあえず GetProcessWorkingSetSize に変更

 SUB_L6D6A9A13:
          push    esi
          mov    esi,[esp+08h]
          mov    byte ptr [esi],00h
          call    SUB_L6D6B53D6
          test    eax,eax
          jz     L6D6A9A5B
          call    SUB_L6D6A9459
          test    eax,eax
          jz     L6D6A9A4D
          call    SUB_L6D6B1D84
          test    eax,eax
          jz     L6D6A9A4D
          call    SUB_L6D6B541C
          test    eax,eax
          jmp    L6D6A9A4D
          push    00000800h
          push    esi
          call    [KERNEL32.dll!GetProcessWorkingSetSize]
          pop    esi
          retn
;------------------------------------------------------------------------------
 L6D6A9A4D:
          push    00000800h
          push    esi
          call    [KERNEL32.dll!GetSystemDirectoryA]
          pop    esi
          retn

なぜかこうしたら動いた・ω・
置き換えと変わらない気がするんだけど…何がダメなんだろうね?

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です