Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
6.7 KiB

4 years ago
  1. setlocal
  2. if "%1" == "NoTools" set NOTOOLS=1& shift
  3. set _REBASE_FLAGS=%_NTREBASE_FLAGS%
  4. if not "%_REBASE_FLAGS%" == "" echo Using flags from _NTREBASE_FLAGS == "%_NTREBASE_FLAGS%"
  5. if not "%1" == "" set _REBASE_FLAGS=%1 %2 %3 %4 %5 %6 %7 %8 %9
  6. set _REBASE_FLAGS=-v %_REBASE_FLAGS%
  7. set _QFE_BUILD=1
  8. set REBASELANG=usa
  9. @if not "%_QFE_BUILD%"=="1" goto CHK1
  10. @if not "%REBASELANG%"=="" goto CHK1
  11. @echo REBASELANG not defined.
  12. @goto EXIT
  13. :CHK1
  14. @if "%PROCESSOR_ARCHITECTURE%"=="x86" goto X86
  15. @if "%PROCESSOR_ARCHITECTURE%"=="MIPS" goto MIPS
  16. @if "%PROCESSOR_ARCHITECTURE%"=="ALPHA" goto ALPHA
  17. @if "%PROCESSOR_ARCHITECTURE%"=="PPC" goto PPC
  18. @echo PROCESSOR_ARCHITECTURE not defined.
  19. @goto EXIT
  20. :X86
  21. @set _TREE=%_NT386TREE%
  22. @set _ADDRESS_FILE=%_ntdrive%\nt\public\sdk\lib\i386\%REBASELANG%\baseaddr.txt
  23. @goto OK
  24. :MIPS
  25. @set _TREE=%_NTMIPSTREE%
  26. @set _ADDRESS_FILE=%_ntdrive%\nt\public\sdk\lib\mips\%REBASELANG%\baseaddr.txt
  27. @goto OK
  28. :ALPHA
  29. @set _TREE=%_NTALPHATREE%
  30. @set _ADDRESS_FILE=%_ntdrive%\nt\public\sdk\lib\alpha\%REBASELANG%\baseaddr.txt
  31. @goto OK
  32. :PPC
  33. @set _TREE=%_NTPPCTREE%
  34. @set _ADDRESS_FILE=%_ntdrive%\nt\public\sdk\lib\ppc\%REBASELANG%\baseaddr.txt
  35. @goto OK
  36. :OK
  37. imagecfg /r %_TREE%\smss.exe %_TREE%\csrss.exe %_TREE%\lsass.exe %_TREE%\services.exe %_TREE%\winlogon.exe %_TREE%\spoolss.exe %_TREE%\rpcss.exe %_TREE%\explorer.exe %_TREE%\ntvdm.exe
  38. @if not "%_QFE_BUILD%"=="1" goto OK1
  39. @if exist %_ADDRESS_FILE% goto OK1
  40. @echo Could Not Find %_ADDRESS_FILE%
  41. @goto EXIT
  42. :OK1
  43. @echo Rebasing images in %_TREE%
  44. @set _REBASE_SYMS=
  45. @set _REBASE_LOG=%_TREE%\rebase.log
  46. @if NOT EXIST %_TREE%\Symbols\nul goto nodbgfiles
  47. @set _REBASE_SYMS=-x %_TREE%\Symbols
  48. @set _REBASE_LOG=%_TREE%\Symbols\rebase.log
  49. @echo ... updating .DBG files in %_TREE%\Symbols
  50. :nodbgfiles
  51. erase %_REBASE_LOG%
  52. @set _REBASE_FLAGS=%_REBASE_FLAGS% -l %_REBASE_LOG%
  53. @set _REBDIR=%_NTDRIVE%\nt\public\tools
  54. @REM *************************************
  55. @REM *** Skip ahead for the QFE build. ***
  56. @REM *************************************
  57. @if "%_QFE_BUILD%"=="1" goto QFE
  58. @set _REBPATHS=
  59. @set _REBPATHS=%_REBPATHS% %_TREE%\*.acm %_TREE%\*.dll %_TREE%\*.cpl %_TREE%\*.drv
  60. @set _REBPATHS=%_REBPATHS% %_TREE%\system32\*.dll
  61. @if "%NOTOOLS%" == "1" goto NoTools
  62. @set _REBPATHS=%_REBPATHS% %_TREE%\mstools\*.dll %_TREE%\idw\*.dll
  63. :NoTools
  64. @set _REBPATHS=%_REBPATHS% %_TREE%\dump\*.dll
  65. if exist %_TREE%\Wx86Shl set WX86_TREE=%_TREE%\Wx86Shl
  66. if not exist %_TREE%\Wx86Shl set WX86_NTTREE=%_TREE%
  67. if exist %_TREE%\Wx86Shl\Symbols set WX86_REBASE_SYMS=-x %_TREE%\Wx86Shl\Symbols
  68. @REM *********************************
  69. @REM *** Rebase for regular build. ***
  70. @REM *********************************
  71. @rem
  72. @rem rebase the dlls. do not touch the csr, wow, or mail dlls.
  73. @rem
  74. @set _REBASE_EXCLUDES=
  75. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\csrss.reb
  76. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\kbd.reb
  77. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\video.reb
  78. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\ntvdm.reb
  79. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\wx86.reb
  80. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\wx86thnk.reb
  81. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\never.reb
  82. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -G %_REBDIR%\known.reb -G %_REBDIR%\net.reb -G %_REBDIR%\printer.reb
  83. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -d -b 0x78000000 -R %_TREE% %_REBASE_EXCLUDES% %_REBPATHS%
  84. rem
  85. rem rebase wx86shl dlls
  86. rem
  87. if not exist %_TREE%\Wx86Shl goto SkipWx86
  88. @set REBFLAGS=
  89. @set REBFLAGS=%REBFLAGS% -N %_REBDIR%\Wx86.reb
  90. @set REBFLAGS=%REBFLAGS% -N %_REBDIR%\Wx86thnk.reb
  91. @set REBFLAGS=%REBFLAGS% %WX86_TREE%\*.dll
  92. @set REBFLAGS=%REBFLAGS% %WX86_TREE%\system32\*.dll
  93. rebase %WX86_REBASE_SYMS% %_REBASE_FLAGS% -b 0x70000000 -R %WX86_TREE% %REBFLAGS%
  94. :SkipWx86
  95. @rem
  96. @rem rebase all exes. do not touch csr, wow, or mail
  97. @rem
  98. @set _REBASE_EXCLUDES=
  99. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\csrss.reb
  100. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\kbd.reb
  101. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\video.reb
  102. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\ntvdm.reb
  103. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\ntoskrnl.reb
  104. @set _REBASE_EXCLUDES=%_REBASE_EXCLUDES% -N %_REBDIR%\bldtools.reb
  105. @set _REBPATHS=
  106. @set _REBPATHS=%_REBPATHS% %_TREE%\*.exe %_TREE%\system32\*.exe
  107. @if NOT "%NOTOOLS%" == "1" @set _REBPATHS=%_REBPATHS% %_TREE%\mstools\*.exe %_TREE%\idw\*.exe
  108. @set _REBPATHS=%_REBPATHS% %_TREE%\dump\*.exe
  109. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -b 0x01000000 -R %_TREE% %_REBASE_EXCLUDES% %_REBPATHS%
  110. @rem
  111. @rem rebase csrss as a group
  112. @rem
  113. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -d -b 0x60000000 -R %_TREE% -G %_REBDIR%\csrss.reb -O %_REBDIR%\kbd.reb -O %_REBDIR%\video.reb
  114. @rem
  115. @rem rebase wow as a group
  116. @rem
  117. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -d -b 0x10000000 -R %_TREE% -G %_REBDIR%\ntvdm.reb
  118. @rem
  119. @rem rebase wx86 as two groups, one starting at 0x60000000 and going up (cpu),
  120. @rem and one ending at 0x60000000 and going down (thunks).
  121. @rem
  122. rebase %WX86_REBASE_SYMS% %_REBASE_FLAGS% -b 0x60000000 -R %WX86_TREE% -G %_REBDIR%\wx86.reb
  123. rebase %WX86_REBASE_SYMS% %_REBASE_FLAGS% -d -b 0x60000000 -R %WX86_TREE% -G %_REBDIR%\wx86thnk.reb
  124. @goto EXIT
  125. :QFE
  126. REM *****************************
  127. REM *** Rebase for QFE build. ***
  128. REM *****************************
  129. rem
  130. rem rebase DLLs
  131. rem
  132. set _DLL_FLAGS=-R %_TREE%
  133. set _DLL_FLAGS=%_DLL_FLAGS% -N %_REBDIR%\never.reb
  134. goto SKIP1
  135. set _DLL_FLAGS=%_DLL_FLAGS% -G %_REBDIR%\known.reb
  136. set _DLL_FLAGS=%_DLL_FLAGS% -O %_REBDIR%\kbd.reb
  137. set _DLL_FLAGS=%_DLL_FLAGS% -O %_REBDIR%\video.reb
  138. set _DLL_FLAGS=%_DLL_FLAGS% -G %_REBDIR%\printer.reb
  139. :SKIP1
  140. set _REBPATHS=
  141. set _REBPATHS=%_REBPATHS% %_TREE%\*.acm
  142. set _REBPATHS=%_REBPATHS% %_TREE%\*.dll
  143. set _REBPATHS=%_REBPATHS% %_TREE%\*.cpl
  144. set _REBPATHS=%_REBPATHS% %_TREE%\*.drv
  145. set _REBPATHS=%_REBPATHS% %_TREE%\system32\*.dll
  146. set _REBPATHS=%_REBPATHS% %_TREE%\mstools\*.dll
  147. set _REBPATHS=%_REBPATHS% %_TREE%\idw\*.dll
  148. set _REBPATHS=%_REBPATHS% %_TREE%\dump\*.dll
  149. set _REBPATHS=%_REBPATHS% %_TREE%\noexport\*.dll
  150. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -i %_ADDRESS_FILE% %_DLL_FLAGS% %_REBPATHS%
  151. rem
  152. rem rebase EXEs
  153. rem
  154. set _EXE_FLAGS=-R %_TREE%
  155. set _EXE_FLAGS=%_EXE_FLAGS% -N %_REBDIR%\csrss.reb
  156. set _EXE_FLAGS=%_EXE_FLAGS% -N %_REBDIR%\ntvdm.reb
  157. set _EXE_FLAGS=%_EXE_FLAGS% -N %_REBDIR%\ntoskrnl.reb
  158. set _EXE_FLAGS=%_EXE_FLAGS% -N %_REBDIR%\bldtools.reb
  159. set _REBPATHS=
  160. set _REBPATHS=%_REBPATHS% %_TREE%\*.exe
  161. set _REBPATHS=%_REBPATHS% %_TREE%\system32\*.exe
  162. set _REBPATHS=%_REBPATHS% %_TREE%\mstools\*.exe
  163. set _REBPATHS=%_REBPATHS% %_TREE%\idw\*.exe
  164. set _REBPATHS=%_REBPATHS% %_TREE%\dump\*.exe
  165. set _REBPATHS=%_REBPATHS% %_TREE%\noexport\*.exe
  166. rebase %_REBASE_SYMS% %_REBASE_FLAGS% -i %_ADDRESS_FILE% %_EXE_FLAGS% %_REBPATHS%
  167. :EXIT
  168. endlocal