èŠåïŒãã®èšäºã§èª¬æãããã¹ãŠã®ããšã¯ãããªããäœãããŠããããç¥ãããããã«èšèšãããŠããŸãã ãã¹ãŠããªãèªèº«ã®å±éºãšãªã¹ã¯ã§ïŒ ããããããªãå Žåã¯ãèªå® ã§ãããç¹°ãè¿ããªãã§ãã ããã
ããã§åé¡ã¯äœã§ããïŒ
ã³ã³ãã¥ãŒã¿ãŒã®ãšã³ããŠãŒã¶ãŒã«å¯ŸããŠè§£æ±ºããåé¡ã¯ã次ã®ããã«ãªããŸãã2ã€ç®ã®ã¿ã€ãã®ãã€ããŒãã€ã¶ãŒïŒããšãã°ãVirtualBoxïŒã䜿çšããå Žå
- è€æ°ã®ããã»ããµã§ä»®æ³ãã·ã³ãå®è¡ããããšã¯ã§ããŸãã
- 32ãããã®ãã¹ãOSå ã§64ãããã®ã²ã¹ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå®è¡ããããšã¯ã§ããŸããã
ããã»ããµæ°ã1ãè¶ ããä»®æ³ãã·ã³ãèµ·åããããšãããšãã«è¡šç€ºãããã¡ãã»ãŒãžã¯æ¬¡ã®ãšããã§ãã

WinXPãªã©ã®32ãããOSãã¹ãã§64ãããä»®æ³ãã·ã³ïŒDebian amd64ãªã©ïŒãèµ·åããããšãããšãåæ§ã®ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã
ããã¯æ²»ããŸããïŒ
ããã»ããµã¹ããŒã¿ã¹ã¯ãŒãã®äžéšã®ãããããã§ãã¯ããããšã§ããã®è³ªåã«çããããšãã§ããŸãã ããªãã®ã±ãŒã¹ã§åé¡ã確å®ã«åŠçããããã®æãç°¡åãªæ¹æ³ã¯ã SecurAbleã瀺ããã®ã調ã¹ãããšã§ãã ç§ã®å Žåã次ã®ããã«ãªããŸããã

ãããã£ãŠãããã°ã©ã ãäžèšãšåãç»åã衚瀺ããå Žåããã®åé¡ã解決ã§ããŸãã ãã ããã©ãããããã®æ害ãªBIOSããŒãã«èšå®ãããããBIOSã§ã®ã¿ããã»ããµã¬ãžã¹ã¿ã®ç®çã®ããããèšå®ããããšãã§ãããšãããã¥ã¢ã³ã¹ã¯ããããã¯ãããããªã³ã«ãããã®ããããå€æŽããããšã¯ãã¯ãäžå¯èœã§ãïŒã³ã³ãã¥ãŒã¿ãŒãåèµ·åãããŸã§ãPOSTäžã«BIOSãåèµ·åãããŸã§ïŒã¹ããŒãããããã¯ãããŸãïŒã
Insyde補ã®Acer Aspireãããããã¯ã®BIOSã¯ããã®èšå®ãéåžžã«å°ãªããF2ã§ã¯BIOSèšå®ç·šéããã°ã©ã ã«å ¥ã£ãŠä»®æ³åãæå¹ã«ããããšã¯ã§ããŸããã ããã¯ç°¡åãããã§ãããã
ãããã£ãŠãBIOSãéã¢ã»ã³ãã«ããã³ãŒããå€æŽããŠãããã1ã«èšå®ããŸããæºåãã§ããããèªã¿é²ããŠãã ããã
å§ããåã«ç¥ã£ãŠããã¹ãããš
ããã§ãããã€ãã®æè¡æ å ±-ç§ãã¡ãããŠããããšãšãã®çç±ãç解ããããã«ã
ææ°ã®ããã»ããµãå°ãªããšããããã®å€ãã¯ãä»®æ³åããµããŒãããŠããŸãã CPUXã³ãã³ãããã©ã¡ãŒã¿ãŒEAX = 01Hã§åŒã³åºãããå ŽåãECXã¯ãŒãã®ãããçªå·5ããããæ åœããŸãã å®è·µã瀺ãããã«ãIntelãµã€ãã¯ãããšãã°ç§ã®Intel Atom N570ããã»ããµåãã§ããããããã®æ€èšŒæ¹æ³ã¯å¯äžã®çã®æ¹æ³ã§ã ã ãã®ãªã³ã¯ã¯èšãïŒ
Intel® Virtualization Technology (VT-x) No
ãã ããããã¯çå®ã§ã¯ãªãããšãããã£ãŠããŸãã ã¢ã»ã³ããªèšèªããã°ã©ãã³ã°ã§ãããªããã«ãã人ã«ãšã£ãŠã¯ã次ã®ãããªãã®ãæžãããšã§ç°¡åã«èŠã€ããããšãã§ããŸã
MOV EAX, 1 CPUID
次ã«ãECXã¬ãžã¹ã¿ã®5çªç®ã®ãããããã§ãã¯ããŸãã
ç§ã¯ãããè¡ãã®ãé¢åã ã£ãã®ã§ããªãŒãã³ãœãŒã¹ã®CPUID Explorerããã°ã©ã ãããŠã³ããŒãããŠèµ·åããçµæã確èªããŸããã ã¡ãªã¿ã«ãCPU-Zã¯ããã§ã¯äžé©åã§ã-çµæãããŠãŒã¶ãŒãã¬ã³ããªãŒãã«ãªããããŸã-ãããã®æ£ç¢ºãªå€ãèŠã€ããå¿ èŠããããŸããã ãããç§ã®å Žåã®èŠãç®ã§ãïŒ

é¢å¿ã®ããVMXãããã¯äžžã§å²ãŸããŠããŸãã Intelã®Webãµã€ãã«æžãããŠããããšã«ããããããã1ã«èšå®ãããŠããŸãã
215ããŒãžã®ããã»ããµã³ãã³ãã®ããã¥ã¡ã³ãã§ã¯ãCPUIDã³ãã³ãã«ã€ããŠèª¬æããŠããŸãã
Bit #5 VMX Virtual Machine Extensions. A value of 1 indicates that the processor supports this technology
ããããããã ãã§ã¯ãããŸããã 2çªç®ã®ã¿ã€ãã®ãã€ããŒãã€ã¶ãŒãä»®æ³åãµããŒãã³ãã³ãïŒVMXïŒã䜿çšã§ããããã«ããã«ã¯ãMSRïŒç¹å¥ãªããã»ããµãŒã¬ãžã¹ã¿ïŒçªå·0x3Aã§ãããã®åœä»€ãæ瀺çã«æå¹ã«ããå¿ èŠããããŸãã ãã®ã¬ãžã¹ã¿ã®ããã¥ã¡ã³ãã«ã¯ã 237ããŒãžã«èšèŒãããŠããŸãã
ã¬ãžã¹ã¿3AhïŒIA32_FEATURE_CONTROL
ããã0ïŒããã¯ããã-èšå®ãããŠããå Žåã次ã®åèµ·åãŸã§ãã®ã¬ãžã¹ã¿ãžã®ãããªãå€æŽã¯èš±å¯ãããŸããã
ããã1ïŒSMXã®VMX-ããå®å šãªã¢ãŒãæ¡åŒµã SMXã®ä»®æ³åæ©èœã¯ãããã»ããµãSMXããµããŒãããŠããå Žåã«ã®ã¿èš±å¯ãããŸã-ããã¯ãCPUID.01Hã³ãã³ããåŒã³åºããããšãã«ECXã®é£æ¥ãã6ãããç®ã§ç€ºãããŸã-äžèšã®å³ã§ã¯ãã®ãããã¯ãŒãã§ãMSR 0x3Aã§ã¯ããããçªå·1ã¯ãŒãã§ãªããã°ãªããŸããã
ããã2ïŒVMXã¯SMXã«ã¯ãããŸãã-å®éãããã¯ä»®æ³åã®ãµããŒãã«è²¬ä»»ããããŸãã CPUIDã®äžžã§å²ãŸãããããã«å¯Ÿå¿ãã1ã«èšå®ããå¿ èŠããããŸãã
MSR 0x3Aã®å 容ã確èªããæ¹æ³
ã³ã³ãã¥ãŒã¿ãŒã«é¢ãããã¹ãŠãæ£ããç解ããããšã確èªããã«ã¯ãMSR 0x3Aã«å®éã«ä¿åãããŠãããã®ã調ã¹ãå¿ èŠããããŸãã ãã®ããã«ãDebianã§msr-toolsããã±ãŒãžã䜿çšããŸããïŒä»®æ³ã§ã¯ãªããå®éãä»®æ³ã§ã¯ãçµæã¯æ£ãããããŸããïŒã ããã¯ããã®ãããã®å€ã確èªããæ¹æ³ã§ãã
-Debianã«å ¥ã£ãŠããïŒ
# apt-get install msr-tools # modprobe msr # rdmsr 0x3A 9
ãã€ã³!!! 9ã€ã¯00001001ã§ããã芧ã®ãšãããBIOSã¯ç¹å¥ãªã¬ãžã¹ã¿ã¯ãŒã0x3Aã§ææžåãããŠããªããããçªå·3ã䜿çšããŠããŸããææžã«ãããšããã®ãããã¯äºçŽæžã¿ã§ãã ããããããã¯ãã€ã³ãã§ã¯ãããŸããã äžçªäžã®è¡ã¯ãããã¯ãããããªã³ã«ãªã£ãŠãããVMXããã2ããªãã«ãªã£ãŠãããšããããšã§ãããã®ãããSecurAbleããã°ã©ã ã¯åãã€ãããå®éã«ã¯BIOSã¬ãã«ã§ä»®æ³åãµããŒããç¡å¹ã«ãªã£ãŠããŸãã
ç§ãã¡ã¯ãããæ¯é ããŸãã
ãã®åé¡ã«å¯ŸåŠããå¿ èŠãããçç±
å®éãããã»ããµã¯ãŒã0x3Aã§ä»®æ³åãµããŒãïŒVMXïŒãç¡å¹ã«ãªã£ãŠãããšãVirtualBoxã®ä»®æ³ãã·ã³ã¯æºä»®æ³åã¢ãŒãã§åäœããŸãã 圌ãã¯ããã€ããŒãã€ã¶ãŒãVMXã«ãŒãã«ãä»®æ³ãã·ã³ãVMXéã«ãŒãæäœã«è»¢éã§ããªããããå€ã«ããã»ããµãŒåœä»€ãå€æããããšã匷å¶ãããŸãã ãã®åé¡ã¯ããVMã»ãŒããã§ã¯ãªã17åã®ããã»ããµåœä»€ã§è¡šãããŸãã ã³ã³ãã¥ãŒã¿å šäœã®ããã»ããµã§å¯äžã®ã¬ãžã¹ã¿ãŸãã¯ããŒã¿ãããã¯ïŒããŒãã«ïŒã䜿çšããŸãã ãããã®ã³ãã³ãã¯æ¬¡ã®ãšããã§ãïŒSGDTãSIDTãSLDTãSMSWãPUSHF / POPFãLARãLSLãVERR / VERWãCALLãJMPãINT nãINTOãRETãSTRãããã«ã¯äºçŽ°ãªMOVïŒ ãããã®åœä»€ã¯ãã¹ãŠãªã³ã¶ãã©ã€ã§å€æŽããããããä»®æ³ãã·ã³ã¯ã·ã¹ãã ã«å¯ŸããŠå®å šãªåœ¢åŒã§ããããå®è¡ããŸãã ãã®åé¡ã«é¢ãã詳现ã¯ãããã§èª¬æãããŠããŸã ã ãã®ãããä»®æ³ãã·ã³ã®ããã©ãŒãã³ã¹ãäœäžããŸãã
äœãå¿ èŠã§ãã
ãã®ã¿ã¹ã¯ã«ã¯ã次ã®ãã®ãå¿ èŠã§ãã
- 補é å ã®Webãµã€ãããã®ãããããã¯çšã®ãªãªãžãã«BIOSã
- IDA
- phoenixtool210.zipïŒGoogleã¯ããŠã³ããŒãããå Žæãç¥ã£ãŠããŸãïŒ
- HHD Hex Editor NeoãŸãã¯ãã®ä»ã®HEX Editor
- ãã¡ãŒãããŒãžã£ãŒ:)
- nasm-å解çš
- BIOSã«ç·æ¥æã®æ¹æ³ãå ¥åããæ¹æ³ã«é¢ããç¥è
ãŸããäœãåé¡ãçºçããå Žåã«ã³ã³ãã¥ãŒã¿ãŒã埩å ããæ¹æ³ãç¥ã£ãŠããããšãéåžžã«éèŠã§ãã InsydeH20 BIOSããŒãããã¯ã«ã¯ãææžåãããŠããªãBIOSãªã«ããªæé ããããŸãã
- 100ã¡ã¬åäœã®ããŒãã£ã·ã§ã³ãæã€FAT16ã®USB HDDããã©ãŒãããããŸãïŒFAT32ã¯èªèããŸããïŒ
- å§çž®ãããBIOSãå«ããã¡ã€ã«ã1ã€ã¢ããããŒãããŸãïŒç§ã®å Žåã¯ZE6.fdïŒ
- ã©ãããããã®é»æºãåãããã¹ãŠã®USBããã€ã¹ãšããããªãŒãåãå€ããŸã
- é»æºã³ãŒããæããŸã
- USB HDDãæ¥ç¶ãã
- Esc + FnãæŒãç¶ãã
- é»æºãå·®ã蟌ã¿ã5ç§åŸã«é»æºãã¿ã³ãæŒããŸã
- ããŒããŒãã®ãã¿ã³ãæŸããŸã
ãããŠåºæ¥äžããããã¶ãŒããŒãèªäœãïŒãªããªããšããŠïŒUSB HDDããæ°ããBIOSãåãåºããŠ1åã§ãã©ãã·ã¥ããã©ããããããåèµ·åããŸãã
ãã®æ¹æ³ã確èªãã補é å ã®Webãµã€ãïŒä»¥åãšã¯ç°ãªãããŒãžã§ã³ïŒãããã®ããã«æšæºBIOSãæºãããŸãã-æ¬åœã«æ©èœããBIOSããŒãžã§ã³ãæŽæ°ãããŸããã
åæ§ã«ãç§ã¯æçµçã«ãã€ãªã¡ããã€ãªãã·ã¹ãã ã«ã¢ããããŒãããããšã«ããŸããã
ã ãããç§ãã¡ã¯å§ããŸãïŒ
ã¡ãŒã«ãŒã®ãŠã§ããµã€ãããããŠã³ããŒãããSFXã¢ãŒã«ã€ãããBIOSã解åããŸãã Iosèªäœã®ãã¡ã€ã«åã¯
ZE6.fd
ããã«ãªãããµã€ãºã¯æ£ç¢ºã«2ã¡ã¬ãã€ãã«ãªããŸãã
次ã«ãBIOSã¯å§çž®ãããŠããããã解åããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãPhoenixTool.exeããã°ã©ã ã䜿çšããŸãã ãã®ãŠã£ã³ããŠã®æåã®ãã£ãŒã«ãã§ããã®å§çž®ãããBIOSã瀺ããããã°ã©ã èªäœãéã³ã³ãã€ã«ããŠãGUID.ext圢åŒã®ååãæã€æ倧609åã®ãœãŒã¹ãã¡ã€ã«ã«ããŸãã ãããã®ãã¡ã€ã«ã®äžéšã¯æ§æãã¡ã€ã«ã§ãããäžéšã¯ãã€ããªãã¡ã€ã«ã§ããããã¹ãŠROMæ¡åŒµæ©èœãä»ããŠããŸãã äžéšã®ãã€ããªã«ã¯ãæšæºã®Windows PEããããŒãæã€ããã°ã©ã ãå«ãŸããŠããŸãã
ç§ãã¡ã®ã¿ã¹ã¯ã¯ããããã®609ãã¡ã€ã«ã®äžãããå¿ èŠãªåœä»€ãå«ããã¡ã€ã«ãèŠã€ããããšã§ãã
WRMSR
WRMSRã³ãã³ãã®åã«MOV EAXã3AHã³ãã³ããæ¢ãããšã¯ç¡æå³ã§ããããšãå€æããŸãããç§ã®BIOSã§ã¯ãWRMSRã¯ç¬ç«ããæ©èœãšããŠãã¬ãŒã åãããã¹ã¿ãã¯ãä»ããŠãã©ã¡ãŒã¿ãŒãååŸããŸãã ãã®ãããç§ã¯ãã®æ¹æ³ã§ãããè¡ããŸããïŒIDAã§ç°¡åã«æããŸãïŒãndisasmãå«ãnasmããã±ãŒãžãLinuxã«ã€ã³ã¹ããŒã«ããŸããã 次ã«ãã³ãã³ãã§ãã¹ãŠã®* .ROMãã¡ã€ã«ãéã¢ã»ã³ãã«ããŸãã
ndisasm -b 32 file.rom > file.asm
ãããŠãç°¡åãªæ€çŽ¢ã§
wrmsr
ã³ãã³ããèŠã€ããŸãã-ãã®ãããªãã¡ã€ã«ã¯29åããããããããIDAã«ããŒããã3AHã¬ãžã¹ã¿ãããã¯ããé©åãªã³ãŒããæ¢ããŸããã
ãã®ãããªã³ãŒãã¯ã62D171CB-78CD-4480-8678-C6A2A797A8DE.MODãšããååã®1ã€ã®ãã¡ã€ã«ã§ã®ã¿èŠã€ããã次ã®ããã«ãªããŸããïŒé¢æ°ã®ååããããããããã®ã«å€æŽããããã€ãã®ã³ã¡ã³ããè¿œå ããåŸïŒïŒ
LOCK_VMX proc near push esi push 3Ah call ReadMSR pop ecx mov ecx, eax xor esi, esi and ecx, 1 or ecx, esi pop esi jnz short exitprc ; if(ReadMSR() & 1) goto exitprc; push edx or eax, 1 ; Set lock bit (bit #0) push eax push 3Ah call WriteMSR add esp, 0Ch exitprc: retn LOCK_VMX endp
å®çŸ©ã«ãããã¬ãžã¹ã¿ãããã¯ããã³ãŒãã¯ããã1åè¡ããŸãã ãããã£ãŠãããã¯ç§ãã¡ã®ããã¯ãè¡ãã®ã«æé©ãªå Žæã§ããæé ã®çªå·1ãçªå·5ã«å€æŽããŸãã
or eax, 1
ããã«ãããããã¯ããããèšå®ãããšåæã«ãVMXãããïŒãããïŒ2ïŒãèšå®ããŸãã ããã§ã¯ãããã1ãèšå®ããæš©å©ããªãããšã«æ³šæããŠãã ãããããã¯ãSMXåœä»€ã®ã»ãããããã»ããµã§ãµããŒããããŠããªãããã§ãïŒããã«ãããCPUID.1HïŒECXããã6ã瀺ãããŸãïŒã
* .ROMãã¡ã€ã«ã§å®å šã«å€æŽããã®ã§ã¯ãªãããã®ãã¡ã€ã«ãå«ã* .MODãã¬ãŒãã§å€æŽããŸãã ãããè¡ãã«ã¯ãPhoenixTool.exeããã°ã©ã ïŒæ¢ã«éããŠãããBIOSãæ¢ã«èªã¿èŸŒãŸããŠããïŒã§ã[æ§é ]ãã¿ã³ãã¯ãªãã¯ãããã¡ã€ã«åãæã€ãã©ã³ããèŠã€ããŸãã

æœåºãã¿ã³ãæŒããšã* .MODãã¡ã€ã«ïŒ* .ROMãã¡ã€ã«ã®ããããŒ+æ¬äœã§æ§æãããïŒãååŸããããã®MODãã¡ã€ã«ã®ããããä¿®æ£ãããŸãã å€æŽããåœä»€ã®è¿åã«å¯Ÿå¿ãããã€ããªã³ãŒããIDAã§èª¿ã¹ãHEXãšãã£ã¿ãŒã§ãã¡ã€ã«ãéããã³ãŒãå ã§ãã®å Žæãæ¢ãã01ãã05ãŸã§1ãã€ãã®ã¿ãå€æŽããŸããå€æŽãã* .MODãã¡ã€ã«ãä¿åããŸãã 次ã«ãPhoenixToolã§[眮æ]ãã¯ãªãã¯ããå€æŽããMODãéžæããŠã[çµäº]ãã¯ãªãã¯ããŸãã ããã ãã§ã ããã°ã©ã èªäœãbiosãåæ§ç¯ãããããããã¯ããŠãåæã«åãååã§åŒã³åºããŸããïŒå€ããã¡ã€ã«ã¯.oldæ¡åŒµåã§ä¿åãããŸããïŒã
ããã ãã§ã 次ã«ãUSB HDDïŒUSBãã©ãã·ã¥ãã©ã€ãã§ãå¯èœïŒäžã®æ°ããBIOSã䜿çšããŠå¯äžã®ãã¡ã€ã«ã«å ¥åããäžèšã®BIOSç·æ¥åŸ©æ§æé ãå®è¡ããŸãã 圌女ã¯ãã®æ°ããBIOSã§ã³ã³ãã¥ãŒã¿ãŒããã©ãã·ã¥ãããã¹ãŠã®æºåãæŽããŸãã
SecurAbleã®åºåã¯æ¬¡ã®ããã«ãªããŸãã

çŸåšãVirtualBoxã¯4ã€ã®ã³ã¢ãæã€ä»®æ³ãã·ã³ãèµ·åããŸãïŒä»¥åã®ããã«1ã€ã®ã³ã¢ã§ã¯ãããŸããïŒã ããã§ãã¡ã€ã³ã®32ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äžãããä»®æ³ãã·ã³ã§64ãããOSãå®è¡ã§ããŸãã
ãããŠãæãéèŠãªããšã¯ãä»®æ³ãã·ã³ãæºä»®æ³åã§ã¯ãªããå®éã«ä»®æ³åãããïŒãã€ããŒãã€ã¶ãŒãVMXåœä»€ã䜿çšããïŒããšã§ãã
PSä»ã®è£œé å ïŒInsydeã§ã¯ãªãïŒã®BIOSã§ã¯ãBIOSèªäœã§ã¯ãªããSYMCMOS.EXEããã°ã©ã ã«ãã£ãŠæœåºãããèšå®ã®ã¿ãä¿®æ£ã§ããŸãã ããã»ã¹ã¯åãã§ãããéã¢ã»ã³ãã«ãããBIOSã«ã¯VMXãçŠæ¢ãŸãã¯æå¹ã«ããããã«äœ¿çšãããèšå®çªå·ãããããã®èšå®ã¯BIOSã®CMOSã§çŽæ¥ç·šéãããŸãã ç§ã®BIOSã«ã¯ããã®ãããªèšå®ã¯ãããŸããããŸãã¯symcmosããã°ã©ã ã¯ããããèŠã€ããŸããããã®ããããã®ãã¡ã€ã«åæãã¹ã¯ç§ã®å Žåã«ã¯é©ããŠããŸããã çŽæ¥çãªBIOSããã¯ãã¹ã¯ããä¿¡é Œæ§ãé«ãããã«èŠããŸãããã®æ¹æ³ã§ã¯ãBIOSèšå®ãç¡èŠããVMXããããèšå®ãããã®åŸ0x3Aã¬ãžã¹ã¿ãããã¯ããã ãã§ãã
幞çŠã¯:)æåŸãŸã§èªãã§ãããŠããããšãã