Reverse Engineering
by watermelon
推個研究大攝影
root@watermelon
---------------
Name:watermelon_chou
Age:16
Class:221
Location:Banqiao
Interest:Self-study
Skill:nothing
CPU:Bad
GPU:Very Bad
Memory:Low
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNNWMMWWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNOc:oKWNNNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNl..,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMMWWWWWMMMWWNNWMMMWNNWWMMMWNNWWMMMWNNWWMMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNNWMNo..'kMMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNo..,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWWNNNXKK0OOOOOOOkOO0KKXXNNWWMMMWWWNWWMMMWWWWWMMMWWNWWMMMWWNWWWNXXXKl..,OWWNNWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNX0Oxollc:;,,'''.....''''',,;:clodxOKKXNWWWWWWWWWWWWWWWWWWMMWWWWKkl:;;;:,..,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMMWNNWWMMMWWNK0kdl:,'.....''',,,;;;;;;;;;;;,,,''......,,;cldk0XWMMMWNWWWMMMWWWNWWO:'.',;,'...,kWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWNKkoc;'...',,;;::clllloooodddddooooooollcc::;;,''....,:ldOXNWWWWWWWWWWWW0;..;xKXKx;..,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMWXOxl,...',;:clloooddooooooooooooddddooddddooooooooolc:;,''..';cd0NWNNWWMMMWx,..oNMWWXl..,OWWWNWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWN0kl;',;;;;clooodooddooooooooddooooodddddddddddddddddddddddolc:;,'..':okKNWWWWW0:.',oO0Oo,..cKWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMMWWWWWXkl,,,',clddooooooooooooooooooddddxxkkkkkOOOOOOOOOOOOOOOOOOkkkkkkxdlc;'..';okXWNWW0c'..'''..'l0WWMMMWWWWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXko:;,,:cldxxddooooddoooooddddxxkkOOOOO000000000OOOOOOOOOOOOO00000OOOOOOkdl:'..':d0NWWNOc'...'cONWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNWNKx:'.,;codxxxxdddoddooooddxxkkOO0000OOOOOOOO0000OOOO00000OOOOOOkkkkxxxxxxdxxxdo:,'..,lkX0o;'.'lONWMMMWWWWWMMMWWWWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKd;..',:odddddddddddooddxkOOOO00OOO00OOOOOOOO000OOO000OOOkkxxxddddddoooooooooddoodol;'..':,..'cONWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWNNWWMMMWWWNKd,..';cooooooooooooddxxkOO00OOOOOOOOOO0OOOOO0OO00OOOkkxxddooooooooooooooooooddoooooodd:......;kNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXx:',,;coddodoooddoodxkOO00OO00OOOOOOO000OO00O00OOOkxddddoooooooooooooooooooooooooddxxkkOx:.....'cONWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWNOc,,,:lodoooooddooddxOO00OO00000OOOOOOO0OOO00OOkkxddoooooooooodooooooooooooooooodxxkOOOOOO0koc,,'..,lKNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXd;',;coddoddooododxkO000O0OOOO0OO00OOO0OO00OOkxddooooooooooooddodooooooooooooddxkOOO00OOOO00O0Odol;''':kNWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWNWNWW0c,,,:oddddoooooodxkO0OO0OOOOOOOOO00OOOOOOOkkddoooooooooooooooooooooooooooodddxkOOOOOOOOOOO00O0Oxdodoc;,';dXWWNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWNx;',;cddoddooddodxkO00OOO0OOOOOOOOOOOO00OkxddooooooooooooooooooooooooooooodxkkO00OOOOOOOOOOO0OOOkdooddddl,',c0NWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMXd;'';lodoodooodddkO0OO00OOO00OOOOOOOOOOOkxdooooooooooooooooooooooooooooddxkOOO00OOOOOOOOOOOOOOOOkdddddddxOo,..;kWWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWXo''';loodoooooodkOO0OOOOOOOOOOOOOOO00OkxdoooddooddoooooooooooooooooooddxkOOOOOOOO0OOOOOOOOOO0O0OkddddddddkOkl,'.,xNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWNWWWMMMWXl''';loooooooodxkOO000OOOOOOOOO00OOOOkdooddodoodddodddoooooooooooooodxkOO00OOOOOOOOOOOOOO000OO0OkdddddddddxOOkl,..,xWMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWXo,'';oooodoooddxO00OO000OOOOOOOOO00OxdoddoolcloodddddddooooooooooodxkOO00000OOO00OOOOOOOOO00O0OOxddddddddodkOOOxc,'.,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWWNd,',;lddoooddodkO00OOO00OOOOOOOO0OOxdooooooc''',;cloddodooooooooddxOO00OOOOOOOOO00OOOOOOOO00OO0Oxdddddddddodk00Oxol,..;OWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWk,..,ldoddoooodkO0OOO00OOOOOOOOOOOxdooooooo:'.....',;:codooooooddkO00OOO00OOO0000OOOOOOOOO0OO00OxdoddddodoooxO00Okdoc'..:KWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWWWWM0:.',cddoodooodkO0OOOOOOOOOO0OO0Okddodooddo:'..;oo:,'..',:cldddxkO00OO00OOOOOOOOOOOOOOOOOOOOO0OkddddoooooooodxO000Oxoo:'.'oNWNNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWNo'.':ooodoooodkOOO0OOOOOOOOOO0Okxdoooooodo:'..;x00Okdl;'...';cdk00OO0OOOO0OOOOOOOOOOOOOOOOO00Oxdddddoooooooodk00OOOxool;..,kWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWWWWMMMWO,..,ldooddoodxO0OOOOOOOOOOO00Oxdoooodoodo:'..;x00O00O0Oxo;'...';ldkOOOOO0OOOOOOOOOOOOOOOOOOOkxddddddooooooodxOOOOOOxdooc'..cXMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWNo..':ooooooooxO0O00O00OO0OO0Okdoooooooodoc,..,dOOO00OO0O0k:'.'''..',:lxOO0OOOOOOO000OO0OO0OOxdddddoooooooododk0OOOOOkoodo;'.,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWNNW0;..,ldoodododkOOO0OOOOO00OOOkdooooodooddl,'.'lOOOO0000O0k:..';lc:;''..';cdkO0OOOOO0000000OkdoooooooooooodoodxOO0OOOOkooooc'..lXWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMM
WWWWWWWWWWWWWWWWWWWx'.':odoodoodk0OO00O0OO00OOOxdoodoooooddo;..':oddxkkkOOOkc'.';ooooolc;,''.',:oxOOOO0OOOOOOxdooooooooooooodooxO00OOOOOkdoddl,'.;0WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMNo..'coododooxO0OO0OO00000Okxooooooooooooc'..;ooodoooddddc'.';loooooodolc:;'...';lodkO00OkdooooooooooooooooodkOOOOOOOOxooooo:'.,kMWWWNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWKc..,loodododkOOOOOOO00O0Okdddooooooooodl,..'cddoooodoooc'..,loooodoooooooolc;,'...';codddooddoddoooooooododkO0OOOOOOOxodooo:'.'dWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWNW0;..,loododoxOOOOOOOOO00Okdoodoooooooooo:'..;odddooooodl,..'cooooooooooooooooooc:,,''..',:cooddoddooddoooodxO0O00O0O0Ododoooc'..lNMMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWO;..;oooooodkOOOOOOOOO00kdodoooooooooddl,..,lxddddooooo:..':oooooooooooooooooooooollc;,'..',;clooooodoooooxOOOO00OOO0kdoooodc'..lXWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMO;..;odoooodk0OOOOOOO0Okdoodoooooooooooc'..:kOOOkkkxxxl,..,loooooooooooooooooooooooooolc:,'...',:loodooooxO0OOO00OO0Oxooooodc'..lXWWWNWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWMO;..;odooooxO0O00OO00Okdodooooooooooooo;..'oOOOO00000Ol'..:oooooooooooooooooooooooooooooool:;,'..',;clodxk0OOO000OO0Oxooooodc'..lXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWNW0;..,ldooooxOOO00OO00kxooddoooooooooodl,..,x0OOO00OO0k:..,cooooooooooooooooodoooooooooooooooooc;,''..';cdO00OOO00OO0kdooooodc'..lXWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWKc..,ldooodkOOOO0OO0Oxooooooooooooooodl'..:k0OOO00OO0d,..;loooooooooooodoooooooollloooooddoooooool:;,'..';cdkO00OO0Oxddooooo:'..dWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMNo..'coododk0OOO0O0Okdoddoooooooooooodc'..ck00OO00OO0o,..;ooooooooooooodoooooc:,''':ooooooddoooooddolc:,'..',:lxkO0kdooodooo;..,kMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWx'..;oooodk0OO00O0kdoooooooooooooooodl'..cO00OO00OO0o'..:oooooodddoooooool:,'.....:oodooooooooooddoodool:;''..';loddooododl,..:0WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWNNW0:..,ldoodkOOO0OOOxoooooooooooodoodxOo'.'cO0OO0000O0o'.':ooodddddddoooooo;........;ooooooooooooooooooooooolc;,'..'';:looooc'..lXWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWNo'.':ooodkO0OO00kdoooooooooooooodkO0o'..cOOOO00OOO0o'..;oooddddddddooool;......',coooooooooooooooooooooooooool:;''..',;cl,..,kWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWO;..,ldodk00OO0OxooooooooooddodxO0O0d,..:k0O000OO00d,..,lddddddddddoooool;,''',:looodooooooooooooooooooooooooooolc;,'..''...cXMWWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWMMWWNo'..:oooxO0OO0kdoooooooooooodkO0OO0x;..;x0OOOkkkxxo;.',ldddddddooooodoooollllooddooooooooooddooooooooooooooooooooooc:,'...';oOXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWWWWMK:..'cooxO0OOOxooooooooodoodkOOO0O0k:..'lxdddoooodo:',':dddddoooooooooooooooooooooooooooooooooollooooooooooooooooooooolc;,'..';lxKNWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWO,..,lddk0OOOdoooooooooddxO00OO0OOOo'..;oooodoooddo,',;looooooooooooooooooooooooooooodoooolc:,',looooooooooooooooooooooolc:,'...,cdOXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWWNx,..;ldk0OOkdooodooddodkO0OO0OOOO0x;..,ldoooodddddc''';loooooooooooooooooooooooooooooool:,'.'.'coooooooooooooooooooooooooool:;,'..';lx0XWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWMWWWWNo'.';lxO0OxodooodooodkO0OOOOO00O0Ol'.':ododddddddd:..':ooodoooooooooooooooooooooodoooc,....'.'coooooooooooodooooooooooooooooolc:,''..,cdOXWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWXo'.';oOOOxooodddoodkO0OOOOOOOOO00x;..'cdddxxxkOOOx;..':oooooodooooooooooooooooooooooc,....'.,loooooooooooddooolccloddoodooooooool:;,'..';oxKWMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWXo'.';dOOxddoodooxk00OOOOOOOOO0OO0o,..;xOO000000OOx;..':looodooooooooooooooooooooooooc,'''';cooooooooooooool:;''';odooooooooooooooolc:,'..';ld0XWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWWWWMMNd,..,dOxooooooxkO0OO0OOOOOOOOOO0Ol'',ck0O00OO00OOx;..';loodoooooooooooooooooooooooooolclloooodoooooooool;'''.'.,looodoooooooooooooooolc;,,'.':okKNWWWWMMMWWWWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWNk;..,ldodooodkO00O00OOOO00OOOO0Ox:,,,lk00OO000OO0kc'.',cooodooodoooooooooooooooooooooooooooooooooooooo:..'..'.;ldoooooooooooooodoooddddc,,,'..',cd0XWMWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWNNWWW0c'.';lodddk00O0OO00OOO00OOOkxxdl:,''ck0OO000OO00Oo,'.';loooooooooooooooooooooooooooooooooooooooooooo:'.'...':ooooooooooooooooooooddoc,,',loc;'..':okKNWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXd,..':odkOOOOO0OOOOOOOkxxdoddddo:'.':kOO0OOO0OOOOx:'..,:loooooooooooooooooooooooooooooooooooooooooooc;,,,;cooooooooooooooooooooool:,'';dOOOkdl;'..',cxKWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNNN0l'..,lk00OOOOOOOkkxddodoooodddo:'..;dOO00OOO00O0Od;.'',:loooooooooooooooooooooooooooooooooooooooooooooooooodoooooooooooooooooo:,'',cxO0OOOO0Oxo:'.'.cXWWMMMWWWWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNk:'.';okOOOkxxxddoooddooddooooo:''',lkO00O0OO0OOxoc,'..,:loooooooooooooooooooooooooooooooooooooooooooooooodooooooodddddooooc;'.',lkOOOO0OO0O0Ol'..;kNWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNWWXx:'.';lodddddddxdddddoooooooooc,'.':xOOO0OOkxdoodoc,'..';clooooooooooooooooooooooooooooooooooooooooooooooooooodddddddddl;'..':lddxO0O0OO0Ok:'..:0WMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXx:'..,coddddddxxddooddddddxxkxc,..,lkOOkxdooooooooc:,..',;clooooooooooooooooooooooooooooooooooooooooooooooodddoodoolc;'.';looooodxOOOOOd;..'lKWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWXkc'';;;lxkkkkOOkkkkOOOOOOOO0Od:'..,ldoooooodoooddool:,..',;clloooooooooooooooooooooooooooooooooooooooooodxddodoc;,;;;;loooooodoodxkkc'..;xNMWWNNWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWN0dc;,,:loxOOOOOOO0OO000OO0O0Oo;'..,cooooodooodxkO0Oxl:,..''';:cloooooooooooooooooooooooooooooooooooooodxxolc;,,;coxkxdddoooooodoc;'.'l0NWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWXOdc;,;:cllodxxxxxkkkkkkkkkkxc,..',:lodooodkOO00OO0Oxoc;,'..',;:clooooooooooooooooooooooooooooooooollc::;,;:lxO000Okddooooooc;'..;kNWNNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXOdc,''',;:clooddoooooodddooc,'..';lodxOOOOOO00OO00Okxdl:,'..'',;:clloooooooooooooooooooooollc:;,'.',:ldk0000O000Okxddol;'..,oKWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMWXOdc,'..'',;:clloodddooooooc;'..';lxOOO000OOOOO00OOOOOkdl;,'....'',;;:::ccclllccccc::;;,,''..',:loxO0OOOO00OOOOOOxl;''.,l0NWWWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXOdl:,'..'',,;::cclllooooc;,'..,:okO0OO00OOO0OOOOO0Oxdolc:;;,'''......''''''''....'',,;;:oxO0OOO0OO00OOO000Od:'.',lONWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNXKOxoc;,'.....''',,,,,,''....',:oxO00OOOOOOOOO0kdooooddoolodolccc::;;;;:::c::clloddodxkO00OOOO000OO0Oxl;'.',o0NWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNXKOkxdolc:;;,,'''''''''''..,:ldkO000000OOxoodooodoodk000O0OOOOOOOOOO0OxddddddoodkOOOOOOO000Oko:,..':dKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWWNXKK00000000000kl;'..';:odkOO0OkdoodododooxO00OO0OOOOOOOO0000kxdddddooodkO0OO00Oxo:,..',lONWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXOdc,'..',;:looooddoddoodk000O00O00OOO000000OxdoddoooooxOOOxdc;,..',lkKNWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNNWMWXkdc,'...'',;:clooodxO0OOO00OO000O0000O00xdoddddoolllc;,...':lkXWMWNNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNKOkxl:,'..'',,;:codxkkkOOO00000O00OOOxolcc:;;,''...':lx0NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMWWWWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWWWMMWWWWNXKOxoc:,'.....',,;;:cccccccc::;;;,'.....',:ldk0XNWMMMWWNWWMMMWWNWWMMMWWWWWMMMWWNWWMMMWWNWWMMMWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNKOkxolc:;,,,,'.','....'',,;;:lodkOKNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMMWWNWWMMMWWWWWNXK000OkOOOkkkOO0KKXXNNWMMMWNNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWWNWWMMMWNNWWMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
這頁真是做的可有可無
這句也是
這句也是
這句也是
這句也是
這句也是
這句也是
machine language
assembly language
High-level programming language
global start
section .text
start:
mov rax, 0x2000004
mov rdi, 1
mov rsi, msg
mov rdx, msg.len
syscall
mov rax, 0x2000001
mov rdi, 0
syscall
section .data
msg: db "Hello, world!", 10
.len: equ $-msg
fn main()
{
println!("hello world!);
}
compile
(編譯)
assemble
(組譯)
machine language
assembly language
High-level programming language
global start
section .text
start:
mov rax, 0x2000004
mov rdi, 1
mov rsi, msg
mov rdx, msg.len
syscall
mov rax, 0x2000001
mov rdi, 0
syscall
section .data
msg: db "Hello, world!", 10
.len: equ $-msg
fn main()
{
println!("hello world!);
}
decompile
(反編譯)
deassemble
(反組譯)
先分析(不用執行 相對安全)
程式不能跑
惡意程序 跑了有危險
壞了 跑不動
太複雜:難跑所有執行路徑
有delay/定時:要等很久
有一些執行條件太苛刻
後分析(要執行:怕有危險)
依賴特定輸入
使用者輸入、網路、隨機數
代碼經過混淆(複習crypto)
依賴環境
離開測試用虛擬機才會發作的病毒(wannacry)
屬於低階語言 語法內容單純
直接對CPU的暫存器(register)操作
效能較好
機器依存性:(Machine-dependent)
用不同指令集的CPU無法直接移植code
機器語言:屬第一代低階語言 直接用1、0操作 可讀性低
用 簡短字串 取代機器語言
經過組譯器轉成CPU指令集(0/1)
Processer
Instruction Set
assembly
組合語言
指令集
處理器
Processer
Instruction Set
assembly
Processer
Instruction Set
assembly
Processer
Instruction Set
assembly
A
A
A
B
B
B
複雜指令集(ex:x86)
一指令包含>=1個動作(ex:add = add + mov)
減少代碼量 省RAM
每個指令執行時間不同(指令無法同步執行)
加上轉譯層可以轉成精簡指令集
精簡指令集(ex: arm powerPC(現多用於遊戲機))
產生背景:編譯器優化 C++出現 RAM變便宜
apple開發的Rosetta 2可以x86->arm
下一條指令位置
表示資料大小
奇偶性
正負號
字串方向
devive ELF files
Section | Introduction |
---|---|
.bss | Uninitialized data |
.data | Initialized data |
.rodata | Read-only data |
.text | Executable instructions, e.g. main function |
.init | Runtime initialization instructions |
.fini | Runtime finalization instructions |
.plt | PLT, Procedure Linkage Table |
.got |
GOT, Global Offset Table |
etc. | just google when encountered |
;註解
;mov a,b 把b值移到a暫存器
mov rax,0x00 ; rax = 0x00
;資料大小 ptr 位置 =>從<位置>開始讀入<資料大小>個資料
mov bl,byte ptr [rax] ;
;lea = Load Effective Address
;像mov 但傳的是指標
;可用於陣列(陣列變數就是存他的起始位置)
lea rax, [address] ;lea register,pointer
lea ax, word ptr [ebx] ;如果 ebx = 0x12345678 , ax = 0x5678
lea rax, c ;如果有一個 c 的變數 rax = c的位置
nop ;no operation
inc rax ;rax++
dec rbx ;rbx--
add rax, 0x87 ;rax += 0x87
sub rbx, 0x69 ;rbx -= 0x69
mul cx ;ax*cx (ax is set by defualt)
;actually: dx:ax = ax*cx (in case of carrying)
div cx ;ax = ax % cx
;dx = ax / cx
and al,0xFE ;&=
or al,0x1 ;|=
xor al,0x87 ;^=
not al
neg al ;2's complement of al
略
shl rax, 4 ;rax = rax << 4
shr rbx, 2 ;rbx = rbx >> 2
rol rax, 2 ;rotate left
ror rax, 2 ;rotate right
略
略
略
jump condition code
JC | Jump if carry |
---|---|
JO | Jump if overflow |
JP | Jump if parity |
JS | Jump if sign |
JZ | Jump if zero |
call address(位置)
略
#include <iostream>
int add(int a,int b)
{
int sum = a+b;
return sum;
}
int main()
{
printf("%d",add(1,2));
}
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
把1,2放進兩個暫存器
呼叫print
呼叫上面那個函數
stack frame
把輸入的相加
結束
stack frame
stack frame
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
把1,2放進兩個暫存器
呼叫print
呼叫上面那個函數
把輸入的相加
結束
stack frame等等教
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
把1,2放進兩個暫存器
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
把1,2放進兩個暫存器
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
把1,2放進兩個暫存器
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
0000000000001139 <_Z3addii>:
1139: 55 push rbp
113a: 48 89 e5 mov rbp,rsp
113d: 89 7d fc mov DWORD PTR [rbp-0x4],edi
1140: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
1143: 8b 55 fc mov edx,DWORD PTR [rbp-0x4]
1146: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
1149: 01 d0 add eax,edx
114b: 5d pop rbp
114c: c3 ret
000000000000114d <main>:
114d: 55 push rbp
114e: 48 89 e5 mov rbp,rsp
1151: be 02 00 00 00 mov esi,0x2
1156: bf 01 00 00 00 mov edi,0x1
115b: e8 d9 ff ff ff call 1139 <_Z3addii>
1160: 89 c6 mov esi,eax
1162: 48 8d 05 9b 0e 00 00 lea rax,[rip+0xe9b] # 2004 <_IO_stdin_used+0x4>
1169: 48 89 c7 mov rdi,rax
116c: b8 00 00 00 00 mov eax,0x0
1171: e8 ba fe ff ff call 1030 <printf@plt>
1176: b8 00 00 00 00 mov eax,0x0
117b: 5d pop rbp
117c: c3 ret
Disassembly of section .fini:
0000000000001180 <_fini>:
1180: 48 83 ec 08 sub rsp,0x8
1184: 48 83 c4 08 add rsp,0x8
1188: c3 ret
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
a()
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
a()
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
a()
b()
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
a()
b()
function a()
{
b();
};
function b()
{
//do nothing
};
function main()
{
a();
};
程式運行=stack堆疊
Stack:只能從上面拿
FILO:first in last out
IP
Instruction Pointer
main()
RSP
RBP
a()
hidden
condition:if-else
condition:if-else
將rbp丟到stack
condition:if-else
rbp = rsp(下=上:沒東西)
rbp = rsp(下=上:沒東西)
condition:if-else
rsp上移:留空間給main
condition:if-else
scanf():讀入函數
condition:if-else
test a,b
ZF = A and B
只有a=b=0時
ZF = 0
condition:if-else
Jne 到1189那行
loop:for/while
迴圈內容
判斷
loop:for/while
loop:for/while
loop:for/while
loop:for/while
迴圈
判斷
__asm{ ... }
...塞組合語言如果大家都裝好我就跳過ㄌ
copy from wikipedia
(extension)
(wifi)
(wifi)
Fool-proof teaching==
DONE
kali
free版本的限制
Sugar daddy buy me IDA Proo(≧口≦)o
直接點開這女的
直接點開這女的
直接點開這女的
開新的
點之前開過的
通常會自動辨認格式(不用動)
讓他分析
程式流程圖
所有會用到的
函數
按F5反編譯
(筆電可能要檢查FN)
轉16進位
導出之內容
導入之內容
偽代碼
(pseudocode)
tab切換其他欄
code好小
<Ctrl + >放大
反編譯完會出現偽代碼(類似c++)d
Shif+F12 檢視
string
(跟前面講的strings命令差不多)
for dynamic analysis
open source windows debugging tool
/release/x96.exe
免安裝版本
32位元/64位元
安裝
1.
2.
3.
5.
4.
6.
右鍵要改的行
按組譯改assembly
記得要有0x(hex)
記得要有0x(hex)
改過了
┌──(kali㉿kali)-[~/Desktop/test]
└─$ file target
target: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,
BuildID[sha1]=d7b296368a701ecb103ee1dd86eee4c61a31cfe5,
for GNU/Linux 3.2.0, not stripped
sudo apt install strace
$chmod u+x filename