Windows XP SP2と SP3の crypt32.dllの違いの解析

拡張カーネル v24cで XP用の CRYPT32.DLLを改造して放り込んであるのですが、不具合がタスクスケジューラーで発生してるので、 XP SP2 と SP3の crypt32.DLLの違いを解析してみました

1. CryptQueryObject のバッファーオーバーフロー対策の有無

関数内で Null pointer のチェックが SP3 では余計に入っていました。
Windows 2000の関数の仕様をチェックしてみたところ、 SP3 と同じ仕様になっていました。

2.sha256RSA/sha384RSA/sha512RSA/sha256NoSign/sha384NoSign/sha512NoSign/sha256/sha384/sha512 対応

XP SP2だと見れないサイトがあるのはこれのせいですね・ω・

ちょっとコードが複雑だったので解析ここまでしかできてません ・ω・;

MsTask.DLLのエラー箇所の特定

 SUB_L693832D6:
          lea    eax,[esp+04h]
          push    eax
          push    L693818B8
          push    L693817B0
          call    jmp_RPCRT4.dll!NdrClientCall2
          add    esp,0000000Ch
          retn    0010h

Windows 2000 版時>No account information could be found in the Task Scheduler security database for the task indicated.(0x8004130f)
XP版時>The RPC Server is unavailable. (Exception from HRESULT: 0x800706BA)

・ω・ crypt32.dllとは関係なさそうなんですけどね(悩)

Windows XP SP2と SP3の crypt32.dllの違いの解析

拡張カーネル v24cで XP用の CRYPT32.DLLを改造して放り込んであるのですが、不具合がタスクスケジューラーで発生してるので、 XP SP2 と SP3の crypt32.DLLの違いを解析してみました

1. CryptQueryObject のバッファーオーバーフロー対策の有無

関数内で Null pointer のチェックが SP3 では余計に入っていました。
Windows 2000の関数の仕様をチェックしてみたところ、 SP3 と同じ仕様になっていました。

2.sha256RSA/sha384RSA/sha512RSA/sha256NoSign/sha384NoSign/sha512NoSign/sha256/sha384/sha512 対応

XP SP2だと見れないサイトがあるのはこれのせいですね・ω・

ちょっとコードが複雑だったので解析ここまでしかできてません ・ω・;

MsTask.DLLのエラー箇所の特定

 SUB_L693832D6:
          lea    eax,[esp+04h]
          push    eax
          push    L693818B8
          push    L693817B0
          call    jmp_RPCRT4.dll!NdrClientCall2
          add    esp,0000000Ch
          retn    0010h

Windows 2000 版時>No account information could be found in the Task Scheduler security database for the task indicated.(0x8004130f)
XP版時>The RPC Server is unavailable. (Exception from HRESULT: 0x800706BA)

・ω・ crypt32.dllとは関係なさそうなんですけどね(悩)

おすすめ

コメントを残す

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