从makeimg.out文件看PB打包过程(作者:wogoyixikexie@gliet)

  从makeimg.out文件看PB打包过程(作者:wogoyixikexie@gliet

                                                 2009-2-2

  以前不知道这个NK是如何生成的,后来在wince板块上singlerace前辈提示了一下,现在我找makeimg.out来看看。

makeimg: Change directory to C:\WINCE500.
makeimg: run command: cmd /C C:\WINCE500\public\common\oak\misc\pbpremakeimg
Generating PBWorkspace Custom makeimg build step batch Files to C:\WINCE500\PBWorkspaces\ARMSYS2440\WINCE500\smdk2440a_ARMV4I\oak
Done Generating PBWorkspace Custom makeimg build step batch Files
makeimg: Check for C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\PreMakeImg.bat to run.
makeimg: Found localization settings.

 

...........................................................

makeimg: Check for C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\PreFmergeBib.bat to run.
makeimg: run command: fmerge -bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\ce.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\config.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\common.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\dcom.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\gdiex.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\ie.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\script.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\servers.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\shellsdk.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\shell.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\wceshellfe.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\wceappsfe.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\viewers.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\directx.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\datasync.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\netcf.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\SQLCE.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\NETCFV2.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\SQLMOBILE.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\project.bib C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\platform.bib
fmerge for Windows CE (Release) (Built on Jan 29 2004 17:34:26)
makeimg: Check for C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\PostFmergeBib.bat to run.
makeimg: Check for C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\PreFmergeReg.bat to run.
makeimg: run command: fmerge -reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\reginit.ini C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\common.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\dcom.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\gdiex.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\ie.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\script.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\servers.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\shell.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\wceshellfe.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\wceappsfe.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\viewers.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\directx.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\datasync.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\netcf.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\SQLCE.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\NETCFV2.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\SQLMOBILE.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\project.reg C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\postproc\platform.reg
fmerge for Windows CE (Release) (Built on Jan 29 2004 17:34:26)
makeimg: Check for C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\PostFmergeReg.bat to run.
makeimg: run command: regcomp C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\reginit.ini C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release
regcomp: Got LOCALE=0804, using CodePage=936

regcomp: Delete non-existent value  [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers] "DefaultClientDriver" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent] "Version" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/bmp] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/gif] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/pjpeg] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\text/plain] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/x-xbitmap] "CLSID" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\.gif] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\.jpg] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\.jpeg] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\.bmp] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\http] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\https] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\ftp] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\urlfile\Shell\Open\Command] "Default" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\CLSID\{521FB373-7654-49F2-BDB1-0C6E6660714F}\Pins\Output] "ConnectsToPin" in system registry

regcomp: Overwriting existing value [HKEY_CLASSES_ROOT\.wav] "Default" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power] "BattPowerOff" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Comm\Irsir1\Parms] "Port" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Comm\Irsir1\Parms] "TransceiverType" in system registry

regcomp: Deleting existing value    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers] "DefaultClientDriver" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] "idVendor" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] "Manufacturer" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] "idProduct" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] "Product" in system registry

regcomp: Overwriting existing value [HKEY_CURRENT_USER\ControlPanel\Comm] "Cnct" in system registry

regcomp: Overwriting existing value [HKEY_CURRENT_USER\ControlPanel\Backlight] "ACTimeout" in system registry

regcomp: Overwriting existing value [HKEY_CURRENT_USER\ControlPanel\Backlight] "BatteryTimeout" in system registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\System\StorageManager\FATFS] "Flags" in boot registry

regcomp: Overwriting existing value [HKEY_LOCAL_MACHINE\System\StorageManager\FATFS] "Flags" in system registry

regcomp: InitRegistry Finished (9551 lines).

regcomp: Writing registry in hive format

regcomp: writing registry hive (C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\default.hv)...

regcomp: writing registry hive (C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\boot.hv)...

regcomp: writing registry hive (C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\user.hv)...

regcomp: Done.
————————以上可以看出这个打包是通过一系列的批处理文件来完成的,这些细节我们不需要理会,知道流程即可。

makeimg: Performing localization since C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\prevlc.txt doesn't exist or contains locale different from 0804.
makeimg: Localizing files listed in C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\common.loc
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\coredll.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\coredll.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\commctrl.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\commctrl.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\msim.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\msim.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\commdlg.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\commdlg.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\crypt32.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\crypt32.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\prnerr.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\prnerr.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\rnaapp.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\rnaapp.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\connmc.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\connmc.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\netui.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\netui.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\netmui.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\netmui.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\unimodem.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\unimodem.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\tapi.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\tapi.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\btsvc.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\btsvc.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\softkb.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\softkb.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\gwes.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\gwes.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\waveapi.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\waveapi.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\fatutil.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\fatutil.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\filesys.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\filesys.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\coredll.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\coredll.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\gwes.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\gwes.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\commctrl.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\commctrl.dll
makeimg: Localizing files listed in C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\ie.loc
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\shdoclc.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\shdoclc.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\shlwapi.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\shlwapi.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\ieceext.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\ieceext.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\wininet.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\wininet.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\inetcpl.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\inetcpl.cpl
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\urlmon.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\urlmon.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\mlang.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\mlang.dll

 

——这就是生成DLL的过程!(以前找死都找不到)

makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\peghelp.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\peghelp.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\webview.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\webview.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\browser.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\browser.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\msscript.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\msscript.dll
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\control.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\control.exe
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\cplmain.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\cplmain.cpl
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\connpnl.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\connpnl.cpl
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\intlp.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\intlp.cpl
makeimg: run command: res2exe -r -c C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\0804\stguip.res C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\stguip.cpl

——以上是控制面板相关的东西。

Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\kern.exe to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\nk.exe for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\tfat.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\fatfsd.dll for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\com_card.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\serial.dll for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\systemcpl.cpl to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\system.cpl for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\KbdS3C2440Us.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\kbdmouse.dll for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\s3c2440a_touch.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\touch.dll for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\pcc_serv16.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\pcc_serv.dll for debugger
Copying C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\pcc_pcm.dll to C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\pcmcia.dll for debugger

 

————for Debugger?为什么要这么做,我没有选Debugger啊

Module coredll.dll   at offset 01ffe000 data, 03f71000 code
Module devmgr.dll    at offset 01ffc000 data, 03f61000 code
Module regenum.dll   at offset 01ffa000 data, 03f51000 code
Module busenum.dll   at offset 01ff8000 data, 03f41000 code
Module pm.dll        at offset 01ff6000 data, 03f31000 code
Module irsir.dll     at offset 01ff4000 data, 03f21000 code
Module notify.dll    at offset 01ff2000 data, 03f11000 code
Module fatfsd.dll    at offset 01ff0000 data, 03ef1000 code
Module diskcache.dll at offset 01fee000 data, 03ee1000 code
Module fatutil.dll   at offset 01fec000 data, 03ed1000 code
Module zlib.dll      at offset 01fea000 data, 03ec1000 code
Module commctrl.dll  at offset 01fe8000 data, 03e51000 code
Module commdlg.dll   at offset 01fe6000 data, 03e31000 code
Module softkb.dll    at offset 01fe4000 data, 03e21000 code
Module msim.dll      at offset 01fde000 data, 03e01000 code
Module prnport.dll   at offset 01fdc000 data, 03df1000 code
Module prnerr.dll    at offset 01fda000 data, 03de1000 code
Module binfs.dll     at offset 01fd7000 data, 03dd1000 code
Module fsdmgr.dll    at offset 01fd5000 data, 03db1000 code
Module mspart.dll    at offset 01fd3000 data, 03da1000 code
Module waveapi.dll   at offset 01fd1000 data, 03d81000 code
Module audevman.dll  at offset 01fcf000 data, 03d71000 code
Module ceddk.dll     at offset 01fcd000 data, 03d61000 code
Module netui.dll     at offset 01fc5000 data, 03d21000 code
Module ethman.dll    at offset 01fc3000 data, 03d11000 code
Module ppp.dll       at offset 01fc1000 data, 03cf1000 code
Module asyncmac.dll  at offset 01fbf000 data, 03ce1000 code
Module pptp.dll      at offset 01fbd000 data, 03cc1000 code
Module cxport.dll    at offset 01fba000 data, 03cb1000 code
Module ircomm.dll    at offset 01fb8000 data, 03ca1000 code
Module iphlpapi.dll  at offset 01fb6000 data, 03c91000 code
Module winsock.dll   at offset 01fb4000 data, 03c81000 code
Module ws2.dll       at offset 01fb2000 data, 03c71000 code
Module ws2instl.dll  at offset 01fb0000 data, 03c61000 code
Module wspm.dll      at offset 01fae000 data, 03c51000 code
Module nspm.dll      at offset 01fac000 data, 03c41000 code
Module ssllsp.dll    at offset 01faa000 data, 03c31000 code
Module secur32.dll   at offset 01fa8000 data, 03c21000 code
Module schannel.dll  at offset 01fa6000 data, 03c01000 code
Module ntlmssp.dll   at offset 01fa4000 data, 03bf1000 code
Module credsvc.dll   at offset 01fa2000 data, 03be1000 code
Module credprov.dll  at offset 01fa0000 data, 03bd1000 code
Module spnego.dll    at offset 01f9e000 data, 03bc1000 code
Module afd.dll       at offset 01f9c000 data, 03ba1000 code
Module ndis.dll      at offset 01f9a000 data, 03b71000 code
Module ndisuio.dll   at offset 01f98000 data, 03b61000 code
Module ndispwr.dll   at offset 01f96000 data, 03b51000 code
Module autoras.dll   at offset 01f94000 data, 03b41000 code
Module wzcsvc.dll    at offset 01f92000 data, 03b21000 code
Module wzcsapi.dll   at offset 01f90000 data, 03b11000 code
Module eapol.dll     at offset 01f8e000 data, 03b01000 code
Module eap.dll       at offset 01f8c000 data, 03af1000 code
Module eapchap.dll   at offset 01f8a000 data, 03ae1000 code
Module eaptls.dll    at offset 01f88000 data, 03ad1000 code
Module wlclient.dll  at offset 01f86000 data, 03ab1000 code
Module dhcp.dll      at offset 01f84000 data, 03aa1000 code
Module tcpip6.dll    at offset 01f7b000 data, 03a51000 code
Module dhcpv6l.dll   at offset 01f79000 data, 03a41000 code
Module ipv6hlp.dll   at offset 01f76000 data, 03a31000 code
Module tcpstk.dll    at offset 01f6d000 data, 039d1000 code
Module irdastk.dll   at offset 01f6b000 data, 039b1000 code
Module tapi.dll      at offset 01f69000 data, 03991000 code
Module unimodem.dll  at offset 01f67000 data, 03981000 code
Module redir.dll     at offset 01f65000 data, 03951000 code
Module netbios.dll   at offset 01f63000 data, 03941000 code
Module crypt32.dll   at offset 01f60000 data, 038f1000 code
Module msasn1.dll    at offset 01f5e000 data, 038e1000 code
Module serial.dll    at offset 01f5c000 data, 038d1000 code
Module sdbus.dll     at offset 01f5a000 data, 038c1000 code
Module sdhc.dll      at offset 01f58000 data, 038b1000 code
Module sdmemory.dll  at offset 01f56000 data, 038a1000 code
Module usbd.dll      at offset 01f54000 data, 03891000 code
Module usbhid.dll    at offset 01f52000 data, 03881000 code
Module usbmsc.dll    at offset 01f50000 data, 03871000 code
Module usbdisk6.dll  at offset 01f4e000 data, 03861000 code
Module serialusbfn.dll at offset 01f4c000 data, 03851000 code
Module hidparse.dll  at offset 01f4a000 data, 03841000 code
Module kbdhid.dll    at offset 01f48000 data, 03831000 code
Module conshid.dll   at offset 01f46000 data, 03821000 code
Module MouHid.dll    at offset 01f44000 data, 03811000 code
Module mmtimer.dll   at offset 01f42000 data, 03801000 code
Module btd.dll       at offset 01f40000 data, 037b1000 code
Module btdrt.dll     at offset 01f3e000 data, 037a1000 code
Module wendyser.dll  at offset 01f3c000 data, 03791000 code
Module wcestreambt.dll at offset 01f3a000 data, 03781000 code
Module sio950.dll    at offset 01f38000 data, 03771000 code
Module bthusb.dll    at offset 01f36000 data, 03761000 code
Module bthsdio.dll   at offset 01f34000 data, 03751000 code
Module bthuniv.dll   at offset 01f32000 data, 03741000 code
Module bthuart.dll   at offset 01f30000 data, 03731000 code
Module bthamb.dll    at offset 01f2e000 data, 03721000 code
Module bthsc.dll     at offset 01f2c000 data, 03711000 code

Module serial_smdk2440.dll at offset 01e93000 data, 02d31000 code
Module battdrvr.dll  at offset 01e91000 data, 02d21000 code
Module nleddrvr.dll  at offset 01e8f000 data, 02d11000 code
Module cs8900.dll    at offset 01e8d000 data, 02d01000 code
Module backlight.dll at offset 01e8b000 data, 02cf1000 code
Module advbacklight.dll at offset 01e89000 data, 02ce1000 code
Module i2c.dll       at offset 01e87000 data, 02cd1000 code
Module camera.dll    at offset 01e85000 data, 02cc1000 code
Module atapi.dll     at offset 01e83000 data, 02cb1000 code
Module mscoree1_0.dll at offset 01df1000
Found pTOC at 0000220c————这个在nk.bin文件中非常有用,是实现multibin的关键
No imports for nk.exe
No imports for coredll.dll
No imports for mfcce400i.dll
No imports for shdoclc.dll
No imports for system.cpl
Processing NK

——————————————————————————————————————————————————————

  这个offset ...data...code和bin文件格式相关,在MSDN有些简单的说明。

 

MODULES Section
Module                 Section  Start     Length  psize   vsize   Filler
---------------------- -------- --------- ------- ------- ------- ------
nk.exe                 .text    80201000  319488  317440  317044 o32_rva=00001000
nk.exe                 .pdata   8024f000   12288    8704    8344 o32_rva=00078000
coredll.dll            .text    80252000  495616  493056  492868 o32_rva=00001000
coredll.dll            .rsrc    802cb000   28672   25600   25436 o32_rva=00082000
filesys.exe            .text    802d2000  221184  218112  217848 o32_rva=00001000
filesys.exe            .rsrc    80308000    4096     512     136 o32_rva=00044000
gwes.exe               .text    80309000  700416  700416  700156 o32_rva=00001000
gwes.exe               .rsrc    803b4000   36864   34304   34220 o32_rva=000b8000
device.exe             .text    803bd000    4096     512     252 o32_rva=00001000
device.exe             .pdata   803be000    4096     512       8 o32_rva=00003000
devmgr.dll             .text    803bf000   32768   31232   31055 o32_rva=00001000
regenum.dll            .text    803c7000    4096    3584    3187 o32_rva=00001000
regenum.dll            .pdata   803c8000    4096     512      56 o32_rva=00003000
busenum.dll            .text    803c9000   12288    9216    9149 o32_rva=00001000
pm.dll                 .text    803cc000   32768   32768   32552 o32_rva=00001000
irsir.dll              .text    803d4000   12288   11776   11352 o32_rva=00001000

 

——text段时程序代码段,在AT91库中是表示程序段的大小,它是由编译器在编译连接时自动计算的,当你在连接定位文件中将该符号放置在代码段后,那么该符号表示的值就是代码段的大小,编译连接时,该符号所表示的值会自动代入源程序中。
data包含静态初始化的数据,所以有初值得全局变量和static变量在data区。段的起始位置也是由连接定位文件所确定,大小在编译连接时自动分配,它和你的程序大小没有关系,但和程序使用的全局变量,常数数量相关。

 

Visual C++ 概念:生成 C/C++ 程序
/PDATA

 

仅用于 RISC 处理器。

此选项从图像或对象转储异常表 (.pdata)。

 

rsrc是资源数据段

 

 

RVA相对虚地址(Relative Virtual Addresses) 在 PE 格式中,有很多不同的区块需要定位,但是不可以指明一个绝对位置,所以 PE 里使用了 RVA。RVA 是一个相对于 Base address (基底位置) 的值,例如一个 PE 被载入到 0x400000,这个 PE 有一个区块的RVA 是 0x1000,那么这个区块在内存的实际位置便是 0x401000

 

——————————————————————————————————————————————————————

nk.exe                 E32      805dbf84     112                 FILLER
nk.exe                 O32      803f8fa0      96                 FILLER
coredll.dll            E32      80403f84     112                 FILLER
coredll.dll            O32      80471f9c      96                 FILLER
filesys.exe            E32      8056bf70     112                 FILLER
filesys.exe            O32      80521f98      96                 FILLER

——这个E32      O32      是怎么回事?

 

——————————————————————————————————————————————————————

FILES Section
    Raw   Compr Location Filler File
  13531    3067 804dd3dc FILLER ceconfig.h
 611530  611530 81065724  wince.nls
  22542    4085 80c28008 FILLER initobj.dat
  36864    4686 810fabf0  boot.hv
 286720   70913 810fbe40  default.hv
  49152    8299 8110d344  user.hv
   7285    2213 80757544 FILLER initdb.ini
    134     134 80de9f3c FILLER close.2bp
    134     134 80757dec FILLER ok.2bp
   1030     598 80942534 FILLER stdsm.2bp
    838     456 8094278c FILLER viewsm.2bp
   2038     702 80942954 FILLER stdsm.bmp
   1654     518 80942c14 FILLER viewsm.bmp
 170960   92941 8110f3b0  rsaenh.dll
   8542    5460 81125ec0  sysroots.p7b
 128844  128844 81127414  tahoma.ttf
10500400 10500400 81146b60  simsun.ttc
   3584     838 8094a51c FILLER netmui.dll
     69      69 80757e74 FILLER appdata.ini
    144     144 80757ebc FILLER desktopdirectory.ini
     69      69 80757f4c FILLER favorites.ini
     69      69 80757f94 FILLER fonts.ini
     69      69 80942e1c FILLER mydocuments.ini
     69      69 80942e64 FILLER programfiles.ini
     69      69 80942eac FILLER programs.ini
     69      69 80942ef4 FILLER recent.ini
     69      69 80942f3c FILLER startup.ini
     24      24 80715fe8 FILLER explore.lnk
   7702    1895 8094a864 FILLER windowsce.bmp
     23      23 8073dfe8 FILLER control.lnk
     30      30 807c9fe0 FILLER iexplore.lnk
    454     362 80d89514 FILLER blank.htm
   1486     912 80d89680 FILLER default.htm
   1614    1614 80c67504 FILLER homelogo.gif
   1513    1038 80d89a10 FILLER copy.htm
     20      20 80514fd8 FILLER copyrt.lnk
  66354   22706 81b4a490  ctpnl.htm
     21      21 803b3fe8 FILLER ctpnlhlp.lnk
  19422    7492 81b4fd44  rnetw.htm
     21      21 80de3fd8 FILLER rnetwhlp.lnk
  38171   14285 81b51a88  wince.htm
     21      21 8063ffe4 FILLER wincehlp.lnk
     30      30 8055ffd8 FILLER mstschlp.lnk
    238     192 80d89e20 FILLER batchg.2bp
    190     190 80d89ee0 FILLER batlow.2bp
    246     174 80c67b54 FILLER bvlow.2bp
    406     208 80c67c04 FILLER delete.2bp
    630     328 80c67cd4 FILLER dialcnct.2bp
    630     276 80c67e1c FILLER drtcnct.2bp
    246     184 80c67f30 FILLER mainlow.2bp
    246     188 80909504 FILLER mvlow.2bp
    246     186 809095c0 FILLER srcnt.2bp
    360     134 8090967c FILLER wgripper.2bp
    739     502 80909704 FILLER copyrts.txt
   3116    1862 80af84f8 FILLER asterisk.wav

    ..................................................................

——哈哈,把这些文件打包进去

 

——————————————————————————————————————————————————————

MODULES Section
Module                 Section  Start     Length  psize   vsize   Filler
---------------------- -------- --------- ------- ------- ------- ------
nk.exe                 FileName 806a7ff8        7                 FILLER
coredll.dll            FileName 80c5bff0       12                 FILLER
filesys.exe            FileName 8049eff0       12                 FILLER
gwes.exe               FileName 80514fec        9                 FILLER
device.exe             FileName 804e0ff4       11                 FILLER
devmgr.dll             FileName 80c61ff4       11                 FILLER
regenum.dll            FileName 80f46ff0       12                 FILLER
busenum.dll            FileName 80de3ff0       12                 FILLER
pm.dll                 FileName 8050dff8        7                 FILLER
irsir.dll              FileName 80ac6fec       10                 FILLER
notify.dll             FileName 8082dff0       11                 FILLER
fatfsd.dll             FileName 808d3ff4       11                 FILLER
diskcache.dll          FileName 80ae3fe4       14                 FILLER
fatutil.dll            FileName 80c26ff4       12                 FILLER
zlib.dll               FileName 80ae3ff4        9                 FILLER
commctrl.dll           FileName 80c65fe8       13                 FILLER
commdlg.dll            FileName 80a60ff4       12                 FILLER
softkb.dll             FileName 803d6ff4       11                 FILLER
msim.dll               FileName 80475fe0        9                 FILLER
connmc.exe             FileName 80475fec       11                 FILLER
rnaapp.exe             FileName 8102dfec       11                 FILLER
prnport.dll            FileName 80512fe4       12                 FILLER
prnerr.dll             FileName 80512ff0       11                 FILLER
binfs.dll              FileName 80500fe8       10                 FILLER

 

..............................................................

——把这些DLL打包进去。start已经是虚拟地址了,这个PB的编译器和ADS的确很大不同,最后再总结,也希望高人指点。

 

 

_________________________________________________________________________________

Unfilled ROM holes (address, length):
803be008     4088   80ef4008     4088   804ad010     4080   806a8010     4080  
80cb0010     4080   80dea010     4080   80cb4010     4080   80ef6010     4080  
80eea014     4076   80fa0028     4056   8075c028     4056   80f71030     4048  
8075e038     4040   803c8038     4040   80c66040     4032   80f4e048     4024  
804ab048     4024   80c5f054     4012   80ee8058     4008   8056c058     4008  
80faf064     3996   80ecb068     3992   807c8070     3984   80dfc070     3984  
807cd078     3976   80472080     3968   80c5c080     3968   80ef2084     3964  
80760088     3960   80308088     3960   807ca088     3960   805ae090     3952  
80aeb090     3952   80f99098     3944   80251098     3944   80c62098     3944  
80f9e098     3944   809a10a0     3936   805320a0     3936   804a20a0     3936  
807bf0a8     3928   80f220a8     3928   805b00ac     3924   807c50b8     3912 

 

........................................................................................................................

——这些是补零的?

 

——————————————————————————————————————————————————————

 

 Writing C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\NK.bin
Table of contents  81d897e8  00002104  (      8452)
Writing ROM signature and TOC pointer at 80200040
Kernel data copy section  80c58ca4  00000010  (        16)
ROM Header                81d89794  00000054  (        84)

First DLL code Address:  02cb0000
Last DLL code Address:   04000000
First DLL Address:       01df01e8
Last DLL Address:        02000000
Physical Start Address:  80200000——怎么搞的,这明显是虚拟地址,怎么能说是物理地址呢?
Physical End Address:    81d8b8ec
Start RAM:               82300000——这个和config.bib的配置有关
Start of free RAM:       82329000
End of RAM:              84100000
Number of Modules:       181
Number of Copy Sections: 1
Copy Section Offset:     80c58ca4
Kernel Flags:            00000002
FileSys 4K Chunks/Mbyte: 128 <2Mbyte  128 2-4Mbyte  0 4-6Mbyte  0 >6Mbyte
CPU Type:                    01c2h
Miscellaneous Flags:         0002h
Extensions Pointer:      80202210
Total ROM size:          01b8b8ec (  28883180)
Starting ip:             80212db0
Raw files size:          00eb7cb8
Compressed files size:   00d33fa3
Compacting bin file...——这个bin文件是由nb0文件压缩而来?看下面不是啊
Writing rom file...
Start 80200000 Len 00000004
Start 80200040 Len 00000008
Start 80200048 Len 00000004
Start 80201000 Len 0004d674
Start 8024e674 Len 00002a24
Start 80252000 Len 00078544

 

.................................................

 

Start 81c2771c Len 00162078
Start 81d89794 Len 00000054
Start 81d897e8 Len 00002104
Creating rom file C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release\NK.nb0
Done!

 

——这个nk.nb0文件的生成还在NK.bin文件生成之后!

 

疑惑:

        从上面可以知道,这个Nk文件加入的地址信息是虚拟地址的,这是由于wince操作系统的缘故,难怪在NK启动函数中会有如此怪异的写法,和优龙的bootloader(ADS开发环境开发)的NK启动函数有很大不同。这个东西是我郁闷了好久,原来在加载的过程中这个地址信息是有指示作用的。

转载于:https://www.cnblogs.com/wogoyixikexie/archive/2009/02/02/1382399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请根据以下代码,编写一个python脚本将被加密的图片解密出来:from PIL import Image from Crypto.Util.number import * from random import shuffle, randint, getrandbits flagImg = Image.open('flag.png') width = flagImg.width height = flagImg.height def makeSourceImg(): colors = long_to_bytes(getrandbits(width * height * 24))[::-1] img = Image.new('RGB', (width, height)) x = 0 for i in range(height): for j in range(width): img.putpixel((j, i), (colors[x], colors[x + 1], colors[x + 2])) x += 3 return img def xorImg(keyImg, sourceImg): img = Image.new('RGB', (width, height)) for i in range(height): for j in range(width): p1, p2 = keyImg.getpixel((j, i)), sourceImg.getpixel((j, i)) img.putpixel((j, i), tuple([(p1[k] ^ p2[k]) for k in range(3)])) return img """ source文件夹下面的图片生成过程: def makeImg(): colors = list(long_to_bytes(getrandbits(width * height * 23)).zfill(width * height * 24)) shuffle(colors) colors = bytes(colors) img = Image.new('RGB', (width, height)) x = 0 for i in range(height): for j in range(width): img.putpixel((j, i), (colors[x], colors[x + 1], colors[x + 2])) x += 3 return img for i in range(15): im = makeImg() im.save(f"./source/picture{i}.png") """ n1 = makeSourceImg() n2 = makeSourceImg() n3 = makeSourceImg() nonce = index = list(range(16)) shuffle(index) e=0 """ 这里flag.png已经提前被保存在source文件夹下了,文件名也是picture{xx}.png """ for i in index: im = Image.open(f"source/picture{i}.png") key = nonce[randint(0, 2)] encImg = xorImg(key, im) encImg.save(f'pics/enc{e}.png') e+=1
07-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值