How to localize Windows 2000 Extended Kernel in 2019 ?

5. kernel32.dll requires more steps.


a) replace 0x411 to your country LCID in 0x5a933 and 0x5a945.
 SUB_L7C5CF129:
          lea    eax,[ebp+08h]
          push    eax
          call    SUB_L7C5CF6F5
          mov    eax,[L7C5CCB40]
          retn

 SUB_L7C5CF6F5:
          push    ebp
          mov    ebp,esp
          mov    eax,[ebp+08h]
          cmp    dword ptr [eax],0000007Fh
          jnz    L7C5CF705
          mov    byte ptr [eax],09h
          jmp    L7C5CF717
 L7C5CF705:
          cmp    dword ptr [eax],00000C00h
          jnz    L7C5CF717
          call    GetUserDefaultLCID
          mov    edx,[ebp+08h]
          mov    [edx],eax
 L7C5CF717:
          leave
v24          retn    0004h

v30

 SUB_L7C5CF129:
          cmp    dword ptr [ebp+08h],0000007Fh
          jnz    L7C5CF135
          mov    word ptr [ebp+08h],0409h
 L7C5CF135:
          mov    eax,[L7C5CCB40]
          retn
;------------------------------------------------------------------------------
 SUB_L7C5CF13B:
          cmp    dword ptr [ebp+08h],0000007Fh
          jnz    L7C5CF147
          mov    word ptr [ebp+08h],0409h
 L7C5CF147:
          mov    dword ptr [ebp-18h],00000001h
          retn

v24

Kernel get from GetUserDefaultLCID.
So you not need replace it.

exk4

b) replace 0x55740, 0x55742, 0x55746, 0x55748 to your country CultureInfo.
The case is you can see "en-us"
If it is "de-de" then you should change to 0x64 0x65 0x64 0x65.

c') You should change to your country version advapi32 base address +0x10000 in 0x59B4A.

For expample.
Japanse version 00004979 (0x79490000)
English version 00002E7C (0x7c2E0000)

c) You should change to your country version userenv base address in 0x5a3d0.

For expample.
Japanse version 00002879 (0x79280000)
English version 00000F7C (0x7c0f0000)
Taiwan version 00004D79 (0x794d0000)

d) You should change to the entry address which I_RpcBindingInqLocalClientPID!rpcrt4.dll in 0x5AF21

For expample.
Japanse version 01777E78 (0x787e7701)
English version 0177D977 (0x77d97701)
Taiwan version 01777578 (0x78757701)

e) Add String Resource Table

30002,     "17.146$-61.821$AG$ATG$Antigua and Barbuda$Antigua and Barbuda$"
30003,     "33.833$66.025$AF$AFG$Afghanistan$Islamic State of Afghanistan$"
30004,     "28.214$2.655$DZ$DZA$Algeria$Democratic and Popular Republic of Algeria$"
30005,     "40.356$47.869$AZ$AZE$Azerbaijan$Azerbaijani Republic$"
30006,     "41.111$20.027$AL$ALB$Albania$Republic of Albania$"
30007,     "40.292$44.937$AM$ARM$Armenia$Republic of Armenia$"
30008,     "42.551$1.576$AD$AND$Andorra$Principality of Andorra$"
30009,     "-12.333$17.539$AO$AGO$Angola$Republic of Angola$"
30010,     "-12.435$-169.965$AS$ASM$American Samoa$American Samoa$"
30011,     "-35.63$-65.159$AR$ARG$Argentina$Argentine Republic$"
30012,     "-25.585$134.504$AU$AUS$Australia$Commonwealth of Australia$"
30014,     "47.589$14.14$AT$AUT$Austria$Republic of Austria$"
30017,     "26.094$50.543$BH$BHR$Bahrain$State of Bahrain$"
30018,     "13.178$-59.549$BB$BRB$Barbados$Barbados$"
30019,     "-22.189$23.814$BW$BWA$Botswana$Republic of Botswana$"
30020,     "32.303$-64.752$BM$BMU$Bermuda$Bermuda$"
30021,     "50.649$4.642$BE$BEL$Belgium$Kingdom of Belgium$"
30022,     "23.986$-77.635$BS$BHS$Bahamas$ The$"
30023,     "24.309$90.058$BD$BGD$Bangladesh$People’s Republic of Bangladesh$"
30024,     "17.33$-88.63$BZ$BLZ$Belize$Belize$"
30025,     "44.169$17.783$BA$BIH$Bosnia and Herzegovina$Republic of Bosnia and Herzegovina$"
30026,     "-16.712$-64.666$BO$BOL$Bolivia$Republic of Bolivia$"
30027,     "21.406$96.108$MM$MMR$Myanmar$Union of Myanmar$"
30028,     "9.624$2.338$BJ$BEN$Benin$Republic of Benin$"
30029,     "53.543$28.055$BY$BLR$Belarus$Republic of Belarus$"
30030,     "-9.149$160.987$SB$SLB$Solomon Islands$Solomon Islands$"
                  :
51242,     "28.214$-177.332$MI$MID$Midway Islands$Midway Islands$"
54807,     "-8.58$126$TL$TPE$East Timor$East Timor$"

f) not Game Support kernel only.

English 0x56772/0x5646A -> 0x7c5c5568 char 'en-US'
Japanese 0x56772/0x5646A -> 0x77ea5558 char 'ja-JP'
Taiwan 0x56772/0x5646A -> 0x77ea5588 char 'zh-TW'


6. advapi32.dll requires more 1 step.

Add String Resource Table.

50001,     "Disallowed"
50002,     "Software will not run, regardless of the access rights of the user."
50003,     "Untrusted"
50004,     "Allows programs to execute with only access to resources granted to open well-known groups, blocking access Administrator and Power User privileges, and personally granted rights."
50005,     "Restricted"
50006,     "Software cannot access certain resources, such as cryptographic keys and credentials, regardless of the access rights of the user."
50007,     "Basic User"
50008,     "Allows programs to execute as a user that does not have Administrator or Power User access rights, but can still access resouces ac
cessible by normal users."
50009,     "Unrestricted"
50010,     "Software access rights are determined by the access rights of the user."

7. You can localize SetSHF.exe with resource editor.

おすすめ

2件のフィードバック

  1. R1600 より:

    Hi. I’m trying to localize your Extended Kernel/Core to Korean. I have some questions about localization process.
    1. Given the size of the Korean resource, I’m planning to base my work on the Japanese version. Is there any chance that NEC98 compatibility will be an issue on non-Japanese locale?
    2. I’ve found digital signature on some files. I understand how to write signature, but is this really necessary?
    3. I’m only working on the files that differ between the Japanese and English versions. Are there any other files that need to be modified?
    4. As for some files that didn’t come from Win2000, can I just reference version info to get the original files?
    Thanks in advance for your help.

  2. 黒翼猫 より:

    >>1
    1. Perhaps none.
    2. I will strip it. you can ignore it.
    3. Maybe you should rebase other Dlls. and advapi32.dll needs resource extension. ( I described it on the article)
    4. Almost files come from XP and very close version with it.(The part of them comes from 2009 Posready update.)

コメントを残す

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