State Save
State Save?
● 䝥䝻䝉䝇䛾ෆ㒊≧ែ䜢䜎䜛䛤䛸ಖᏑ䠃ඖ䛩䜛ᶵ⬟
● Checkpointing 䛸䛔䛖ྡ๓䛜䜘䜚ṇᘧ䜙䛧䛔
○ http://en.wikipedia.org/wiki/Application_checkpointing
● 㐺ᙜ䛺㛫㝸䛷䝉䞊䝤䛧䛺䛜䜙䝔䝇䝖䝥䝺䜲 ->┤䛧䛯䛔䛸䛣䜝䛜䛒䛳䛯䜙ᕳ䛝ᡠ䛧䚸ಟṇ䛧䚸䝥䝺䜲⥅⥆䚸
䛸䛔䛖䛔᪉䜢ᐃ
○ TAS ື⏬〇సᡭἲ䛾䝀䞊䝮ไస䜈䛾ᛂ⏝
○ TAS 䛾ሙྜᕳ䛝ᡠ䛧䛶䝥䝺䜲䜢ಟṇ䛩䜛䛜䚸䛣䛾ሙྜ䝺䝧䝹䛭䛾䜒䛾䜢ಟṇ䛩䜛
● ㏻ᖖ StateSave 䛿䝍䜲䝖䝹䛤䛸䛻ᐇ䛩䜛䛜䚸䛝䛺ᡭ㛫䛜䛛䛛䜛䚹ỗ⏝ⓗ䛻ᐇ⌧䛷䛝䛺䛔䛛䠛
○ PC 䛻㝈ᐃ䛩䜜䜀䛯䜆䜣ྍ⬟䟿
State Save
ᐇᡓ␎
● 䝥䝻䝉䝇䛾≧ែ䜢ඖ䛩䜛䛾䛻ᚲせ䛺䜒䛾䛿௨ୗ䛾 3 䛴
○ 䝯䝰䝸䛾≧ែ
○ 䝇䝺䝑䝗䛾≧ែ
○ 䜹䞊䝛䝹䜸䝤䝆䜵䜽䝖䛾≧ែ
● 䛣䜜䜙䛾ඖ䛻ᚲせ䛺ሗ䜢㞟䛩䜛
State Save
⿵㊊ሗ: HourGlass
● https://code.google.com/p/hourglass-win32/
● 䜸䞊䝥䞁䝋䞊䝇䛾 Windows ⏝ TAS ື⏬సᡂᨭ䝒䞊䝹
● API Hook 䛻䜘䜛ෆ㒊䝇䝔䞊䝖䛾ಖᏑ䚸ධຊ䝕䞊䝍䛾⌧䚸ື⏬ᙳᶵ⬟䛺䛹䜢ᐇ
● 䛯䛰䛧 32 bit 䛾 WindowsXP 䛷䛺䛔䛸䜎䛸䜒䛻ື䛛䛺䛔
● 䝋䞊䝇䝁䞊䝗䛿䛸䛶䜒㠃ⓑ䛟ཧ⪃䛻䛺䜛
State Save
⿵㊊ሗ: undump
● http://d.hatena.ne.jp/shinichiro_h/20060715/1152922272
● Linux ୖ䛷ᅇㄝ᫂䛧䛯ෆᐜ䜢ᐇ⌧䛩䜛䜒䛾
● Linux 䛷䛿䛔䛟䜙䛛 Windows 䜘䜚ᴦ䛻ᐇ⌧䛷䛝䜛ᵝᏊ
Inspector
䝕䝞䝑䜾ሗ䛾䝟䞊䝇
● ᆺྡ (ᩥᏐิ) 䛛䜙 SymGetTypeInfo() 䛷ᆺሗ䜢ྲྀᚓ
UDT
class Hoge
{
public:
int m_data;
};
Index = 15
UdtKind = UdtClass
Name = “Hoge”
Length = 4
Data
Index = 16
Type = 17
Name = “m_data”
BaseType
Index = 17
Type = btInt
Length = 4
child