Windows 2000でFitbitConnect を起動する実験 その1
元ネタ
KernelEx for Win2000 - Page 68 - Windows 2000/2003/NT4 - MSFN
Fitbit の設定
まず、インストールすると、入るはずのサービスがインストールされていない。
調べてみた
call [KERNEL32.dll!GetModuleFileNameW] 00445A8E 8B9604060000 mov edx,[esi+00000604h] 00445A94 57 push edi 00445A95 68EC7F5000 push SWC00507FEC_NT_AUTHORITY_NetworkService 00445A9A 57 push edi 00445A9B 57 push edi 00445A9C 57 push edi 00445A9D 8D8DE8FDFFFF lea ecx,[ebp-00000218h] 00445AA3 51 push ecx 00445AA4 6A01 push 00000001h 00445AA6 52 push edx 00445AA7 6A10 push 00000010h // SERVICE_WIN32_OWN_PROCESS 00445AA9 68FF010F00 push 000F01FFh |
err,hr 0x00000421 アカウント名が無効であるか、または存在しません。あるいは、指定したアカウント名のパスワードが無効です。
CreateService 関数
みてみると、サービスがNT AUTHORITY¥NetworkService 使って作成しようとしてる
Windows 2000にはこのユーザーはないのでサービス作成に失敗する
push 10h を 20hに書き換えて
push SWC00507FEC_NT_AUTHORITY_NetworkService を push 00hに書き換える
68EC7F50005757578D8DE8FDFFFF516A01526A1068FF010F00 ->
6A009090905757578D8DE8FDFFFF516A01526A2068FF010F00
0044134A L0044134A: 0044134A BEBCF15000 mov esi,L0050F1BC 0044134F 89742418 mov [esp+18h],esi 00441353 C744241C00000000 mov dword ptr [esp+1Ch],00000000h 0044135B 8D4C2418 lea ecx,[esp+18h] 0044135F 51 push ecx 00441360 C784244C030000020000+ mov dword ptr [esp+0000034Ch],00000002h 0044136B E8409E0400 call SUB_L0048B1B0 00441370 84C0 test al,al 00441372 0F854F010000 jnz L004414C7 00441378 FF1584A04F00 call [KERNEL32.dll!GetLastError] 0044137E 8DBC24AC010000 lea edi,[esp+000001ACh] 00441385 894424 14 mov [esp+14h],eax 00441389 E8629C0400 call SUB_L0048AFF0 0044138E 8BF8 mov edi,eax 00441390 B303 mov bl,03h 00441392 68D07B5000 push SSZ00507BD0__s__Failed_to_create_security_de 00441397 8D8C24E8010000 lea ecx,[esp+000001E8h] 0044139E 889C244C030000 mov [esp+0000034Ch],bl 004413A5 E8663AFCFF call SUB_L00404E10 004413AA 68AC7B5000 push SSZ00507BAC_PipeServer__serverThreadProcedur 004413AF C684244C03000004 mov byte ptr [esp+0000034Ch],04h |
更に、セキュリティディスクリプタのエラーで無限ループになるので
jnz L004414C7 を jmp L004414C7 に書き換え
0F854F010000 -> 90E94F010000
後プログラム本体が、comctl32.dll の CreateMappedBitmap でクラッシュするのは
version 6.0互換で動作しているからなので、 systemxp\comctl32.dll を使用する
fcwin2kなどで comctlxp.dll などにリネームすると楽。
起動できた
サービス起動すると・・・。
同期してみよう・ω・
インターネット サイト https://client.fitbit.com/tracker/client/outOfBand/login?p_lcl=ja_JP&enable_cooper=1&clientMode=PAIR を開けません。
操作は中断されました |
IEコンポーネントのSSLの問題で接続不能
Nooooo!
Comments