Disassembly1:HelloWorld
我这里学习汇编语言的思路就是逆向C++源码。
先从最简单的一个程序入手:
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAa4AAAFzCAIAAADpN3o8AAAaPklEQVR4nO3dy63zSJKG4bIkl+1AlaaBXsx2AOIs2gJu2gNCHgxAIyRXZMgs6niixSwkkpGZEbyJkvLyPiigzk9RyYvIT8lb6I8///zzzz//dHD/+N//+ff//fv53+2//vHt+fmc//x3dYs8jxUSqGGF/EEUAgBRCABEIQAQhQDgNkThz+X3fr+d90zjfLs/bHj7z+V359Ss1g5sDkBp4ij8ufzeznEWvZomG7MtoSg8dlYApCiOwvPt/ozC38vPcRP6aBQeml4fisKjVziADbwo/Ln83gO/lx/9CPd8u98uw/hyHx5Hvke9yuDt5/gVbw6UgWsi6XzzZkg/PFfbFAMfDUQr5Nmut/Cz8ynWxnPgz+X393K53e/35//8kYlD4BuiXuHQORFZNb4QZNmwE59v4+4s/gysiULxbm+gzIr5qLDCxJ/6z+V3HEv8HS2yOufhZIZ3Lc3n0MxwsP5sI+gMclYT+IooCs3j45VZZkXVirfLd48Dw46ZHYVzKeJN3ZqV56TCJvQo1MbS5lN2C8covJ3HpVWOi+kcAh8no9A6Pnbjq1+IwsWOoEf0Ve2p27MytRH0IZejUJ9PMVT2Cu0opFcIfEXYKzSPj1dF4cyOHL9dno4bO4DRwJljboPWqVp1gGyNHqecdiitzad/9L3YK6Q7CHxLGIXa8XHYWwxPjUVdrug6Qfz2aejv5TI2NQ68nYP2l4+PJTFH+tTFcavXEQ1HC1+ZPauozec4nXExrSjkCjLwRTxtAgBEIQAQhQDgiEIAcEQhADiiEAAcUQgAjigEAEcUAoAjCgHAEYUA4IhCAHBEIQA4ohAAHFEIAI4oBABHFAKAIwoBwBGFAOCIQgBwRCEAOKIQABxRCABOj8KZH3b/gI1T936SmN8SBrDLK1Ho/RT8YbZEYTwH59sXUxxArl45QH5PFL46/fPtTs8QwDZhFJ5v9weRMefb/Xa5/D6GP2LmZ/jnwEyfn8vv7+Vyu9/vz/89Wx4nJKe1curjC+pUv53QAPKj9gqDMDnfvAAbX1mVOcPx7vl2v/9efpSzeWEzK6du9/7IQgAbrYzC4V/eK6uj8HYek2uKQtktXIhCdere9RIfx8gAtvlWFIq0Wu4VEoUA3uuVKFwVOXoU/lx+77J3uC8KOUAGcIwgCsPLIbezm4lCMfrcZRP1AHk8Pv69XIb2t02dyyYAjpLz0ybcTAPgIDlHIbdYAzhI3lHogqsnM5dSAMCWfRQCwOuIQgAgCgGAKAQAZ0Xh86Y/LkEAqINVr5AUBFARLQq5SRlAZYhCALCikONjADUJojAqEwMAFVB6hVw1AVAbzhUCAFEIAEQhADhusQYAZz1496ysTx4CqAPlGADAj8K///77u3MDAF9BFAIAUQgAzv3x119/EYW2prt2zbdn4lDlLRFwgD/++c9/elF4avvrQ9+ehrHUgc65pgsHKWNOg67X67QbvtTmx5QXHOUtEXCAP/71r3/JKOzGsDq1/fPPRhv4eKFvm7afAkod03/P06ntxYgi4ta1+THlBUd5SwQcIIzCMZUeXbGuca7plIHOPVLr5E5TbuljLgWYyLrVba7XdNeuHbqVotGhGTl3ov/qjdl03+qUvkos0fSpKUukriWgIlEUdo17pFPftt21b09jVsiBzg2p5abcMsaUB8jKXuYl5do212u6MQam/qcehVp/Sbzdi+wsyAUav1KsFRIPBCqiROG4yzciCoOBXoQMuWWMOTm1fZgmXr7saXOJjAOZq0oUPjPbm0Gj/5gF/yTtNf4aUFdIfssJHCCKwqt3PPo8QI4HqruZOqbk9zjCZNzX5oINUTi9YwrEnKNQ/94gCgFFeAW5k6ePpiPDcGCwuwx9OGVM6XGQK078eSPsa3OJ2MmVJTJOP3qXjLKNQn19WSskHghUJLqvcNXNNFEqjPvP/M00xg021+u1aza1ud5wgcB/+9hk37ZDCnjz5F1kmN6TW0Yo52nVFaKvJaAexT9twr0ja7CWUDuiEI61BBCFcKwlgHqFAEAUAgBRCACOKAQARxTWhyskgCKKwgTrFaoPB2MnohBQBFGoFgf8er1CWR8HLyIKAYUfhWpxwO/WK3zaGYWntu/bthuesLt6Se31U6NELuIBtHfUK1TaNEs9UgMRufCiUC0O+N16hepY6w1FH56FIJ7NytjzavbJZ3IL6Dq9o16h2uZSqUdqICJ5ShQmVa/QxS9tIQqNTb3NoK1xN/bq1RSQhO+oV6i3uVTqsZQ1ioJFB8ip1SsUr707Cof8jQ/P8/SOeoXzJw6sUo9EIZIXXzZJrV6h+uJaahQaB8jDNJtCkvCYeoXiMNduU1BLPVIDEcnbdzPNJ+sVylJ60UHYEj0KnSzQp9zKU85e+3q9wri4rdKmVerRaBNID7dYw81eJtrdoyvj0hNqQRTCWbH16Ozt7dERhcgJUQj3ntgiCpETohAAiEIAIAoBwBGFAOCIQoHT/B/ASkaiMqhXKG7Vfeuduuyl6xgfnPIxKWOykpGo9OsVeu95Zxiyl65hfsTqY5batsRKRopyqVc4tLm3UJffORE7ZLCXhoX8Mnd4bUH1I1Y/GH1jKHElowhZ1Ct8adcxSumpUVhYfb3jawuaW0j0DmNjEBOiRgNSkku9wnjktRZK6enHbkUUlXpDbUFzCzGiMNoY1DUPfF8u9QrH+Xvhidhp/68jCt9RW9DcQvSOZrQxEIVIVC71CsO528NLvemYfrlmX66OqC2o1CuMP2Lrsom6LRGFSFFW9Qr35KBaSm8a2retqOf/0pRS9Hptwbl6hcYtTytvpiEKkRJusYZ7T71CICdEIdx76hUCOSEK4bjzGSAKAYAoBACiEAAcUQgAjihcUt71hPKWCDhABvUKxd27n9+HywuO8pYIOEDy9Qrlu1988G6P8oKjvCUCDpB8vUJvz92RhWolPuPxL6uyYb719ZR6hdoSeQ8ayyfFgVokX68w6GjuicK4Ep8ehQuF/PJ7Ak2tV2iUJhyW7gs9byABGdQr9Esn7OkVRu3rUbi6smEm9KJnZj0ubfGBWmRVr3BPGG2IQrkSZisbZkLv4M1FYd9ntojAUTKqV7ivyr5aiU+tV6jOSs5RaJZU1UoTPlfJvpUMZC/9eoXTqLtySK/Ep9UrtAr55RuF6nlabYVE31GkIWpT/C3W3DsCYBlRCABEIQBUEIUAsIwoBACiEACIQgBwROGSmq66qD/sDtQhh3qF1sBPIAqBKiRfr9Ae+BE1RSFQseTrFZoDV6JeYfTYovYk5Pg4HsGPOiVfr9AauBb1Cse/p4eQjcXI8Slr4Bjp1yvUixiuRr3C8HvIrkuY3RICh0m+XuFiEcMF1Cu0Xw0DMbslBA6Ter3CpSKGi6hXaL8eLlF+SwgcJfF6hVFZ5c0n7KhXqB8f+4sZfh65LSfwquJvseZuGADLiEIAIAoBoIIoBIBlRCEAEIUAQBQCgCMKlxR91SW+f507ClGr9OsVynukP7+jEoVAFdKvV6g+OfcxNUUhULH06xX6UbirMg31Cr0OtfboHfUKUbn06xXqDxGvRr3C8e9x2fU+Pr1E1Cz9eoVBbL2xSFcV9Qrlp0IUAoPk6xWGWUa9wtXU8wlEIaBJvV7hy2FEvUJ/2PRtFC97fksIHCXxeoVdc8i5wujtFdcrnIZ1TaMuu/blABSu+Fusi74bBsBBiEIAIAoBoIIoBIBlRCEAEIUAQBQCgKshCik0YNpZpGu6CXF25O9esDKmPm4N+ZXWwHulX69wHPbKJpzj7dHvtz8K13wKL0ehsYUoG4My5uzUdzzAidKlX6/wkIKiRKFm51r5TBSa25L6PKe20RKF2CD5eoXHhFjUilbITz6jV0huvqVeoRYkyoTUUo9q+UiNui2pG4O+1c0WmiQKEUm9XuGeulyKYB9SC/nZo+fqTfUK4yAxJyQ6czMD9Wnom6L9Wflb3WyhSaIQkdTrFb4lCvVqYH63sIAofFe9wihIVlVXi8qjyclF5//MTdGIwmirm62jQRQikny9wmNqR4fnOLV4DQ608o/Cd9UrjILEXJ+ro1CdeX1T1A6Qla2OKMQ26dcrfMdlk/lCfvLgKmtH1CtU1oV6gKxGlDhtGF/NWPiSU7cl67KJutEShdgg/XqFzqo5uE44JXGazDw+FkUMM6ct5jhsVb3CODCXLpt4Xyjhp7blo9RvptFamL+ZhijECuXfYo3XHHvRIY1CQUQhIkQhTI/OltYDJApRGqIQW02Ho9tT7dtRyIN3MBCFAEAUAgBRCACOKAQARxTibb59hQTYIql6hcYzwNbU8Q167cj5m5yB5CVVr1B9KksdE98XPKmobTZEIbKRVL1CPwrVUgIb965T2/dt++i7tp3obEb19YKc1SsMZCdazAfRsxvrW3nfQmuW3Qu9rRUDgcQkVa9w4QHVHfVihsf3n7v3c1Zl7Hml9Ao7uNPLMupfKMPQFd8BYbztqRgIJCapeoXBI/TxecnNu5Oo7jT1YOMyNUHnpowaXXYZQT3rnqOvX3C/TNG2ioFAYlKqVxgWs5sZc61NUeimTmMRx3OLZRl9p7bv+02R1XRznztRiJwkVK/Q2nleKVioRqFxgDwsR1NIEhodaWN1TmvIT8qZ2o3eMffGioFAYtKpV+iWStEpp/8X6VHoTUq5PaicvVY/TyuHipN8YoWH48q7BtTTuVsrBgKJ4RZrzOOSB6pAFMJk1CsECkQUAgBRCABEIQA4ohAAHFEIAI4oRE3KeLQcb5F8vUJv2OZbrHE8Y2NQ771ObCBRCFP69QqlQkpn5cz8iNUHzhMbSBTClFO9wn1FuqhXGPSmZT9bdr1X1StUP2Lryy61gZRQhC2jeoV70ol6hXG9wonMi3X1Cs0tRG07sYGUUMSMbOoV7nuin3qF1/jbRTslO40+u+DmFpJY6tlRSIUI6PKoV2ht2os2RWF19Qr9FXFaU6/Q3EKityU4kCiELYN6hUZjq+hFuvQD5GE5yq5X6F+l8s4QrqpXqH7ECV4hWbpsQhTCl3y9Qre/S+isKPQmVV29wnHR+7bt5Jm/VfUKrZtp1M8utYFEIUzcYo15XF9AFYhCmE7UK0Q1iEIAIAoBgCgEAEcUAoAjCgHAEYW1eMdtdFnemjfdFbl21uPHCa7xTbXKLarIS/L1CsMXUt7cEs6GhKLwu2tp+1OVi1G4t2EkJf16hdamlyCi8Fuzsmnqr0XhcQ0jKcnXK3x5x2m6a9dGR0WiqyomOY24sFVHDxNGTxL6KyLo52rPIr6FN1tdoz4xGS2AVylodtXNfkcp69NaS/qElpZoeX0qj1FqibXUZlxSnV5heVKvV/jC88dP8vnaZnrmVu7v4wOqRh1XrU1tf42Cxqj78KlqiEonfVja5yw8B9vzqa06/RBBnbq2PpW3aROy2ow/OPstq6LQ3BiMxTQWmyjMXOr1Cg+JQrVqSdQ3CUqEze3lzwa0dmd2mnECxtuPJj+AYVaen1XT9X3/yMD5Ao5KbZe5TAtGVdenHoWrVob+wW1an1FiqW3OLSZRWKbk6xW+XA1gYX82p75iqk3n74Fro9B4+9HU/bnprl1zaru2afuuecxSNlGof3Di1eX1GSWW2iZRWJ/06xW+etlE283UfFUv2iwJryPF19PVwoj62w82TdE/c9t3Xdee3Kntum7qz687kFfb1JnrMw6f1WcMlj6YONRXHSBvWkyisEw51Cs0h6+i72bKCcz1U7EvHMSLP7WqL/xbj5LHKQ39Pye/j7wvGWU+9VWntamy12e0ljacPFU+OHt9br9sEl/uEosZbrXhR08U5oxbrEefuphRizTX59sSiyjMHFE4SnPXzVea65MohI4oHKW56+YrzfU5HeQeNnPjmQCiMGdEIQAQhQBAFAKAIwoBwBGFAODSi8Kfy+/9dv7MdB5+Lz/vnxyAtNUZhefbfZjKp7IXQMo+EYXn2/12GXthQ+5M/bLnIDFA9tfON+8tz7+1Nr1hc5298218+THRKQvPN++fAOrwoSgco2cINhFwMpmUTpoZhVqbIhXtQBubeTRyEZMnCoE6fapXGIRL2APcE4VRYOljxh4vjmkpkxhAnb4UhWb8fCIKH10/eYhMNxCo3Jei0D6CjUJyHOCd1nspCuVEghnxUhJALb4Vhf4xssye6DaXn+lKyOV2TBTaN9OEl1EAVCG1m2m+7ufyS68QqA5ROHn0CMlBoEJEIQAQhQBAFAKAIwoBwBGFAOCIQgBwe38SftB04aD5n4SXvzOmjCl/RHwa0Rua4o+oAcheEIVNN4bNqe2ff6oDHy/0bSN//lUd03/P06ntxYjPFsTPRYqW0vwRSQAl8aOw6cYu2qPT1jXGwMfYfXuSP4Wtj6lGoTClnh+FotX9Udh03gyPXVDRVZXdz649/mdyv8lYzLCPba2lj7UJfJsXhWNoPbbctrv27Ukd6NyQhG7KQmNMeYCs7A4iKeUO5Xc15xpYMkTtlK6iIxp0So/J31TIhRDfLSP5JRWvpc+1CXyfEoVjL60RURgM9Db5IQuNMSentg97W+JA2NvN9MPmnZ5hLNsWLY7tFxF/gn+S1ot57dxrsJY+1yaQgOgA+er1l57f6fFAdZdQx5Rkd0xJRplF03H3IVHY9311Uah3xoKzGF5sybX0uTaBBMSXTeT3/BgR4cAgTYbcUt8+kUegSg8x7BUedNnkOVMihu0D5LL2We0zCE4IhCdn/S+rcKSD2gTSs+9mmqjHN+4g8zfTGDfYXKdD6qVzhVvDKkpfucvGEyorCvXztOOi923byZO78VoaW5Dr5fU2gfRwizXmad1AoDhEIUyP/h+9OdSAKAQAohAAiEIAcEQhADiiEABcHIXP3wfmh4AB1ETtFZ5v/AQmgJroB8jnG/1CABUhCgHAjkKOkAHUw7yC/HP5vZOHAOpArxAAOFcIAEQhADiiEAAct1gDgOPBOwBwlGMAAEcUAoAjCgHAEYUA4IjCqgU/Z31qe37nE7Xa95Pwg6YLB83/JLz8cXGjTfED8N4PiitTx4uIQmAQRKH4/e9pP1EHPl7o26btp4BSxwx2ODe8LEZ8tqDui+bU8SrWJzDwo7Dpgq5Y1xgDH2P37cmdpizUx1za4casU0c0p75S0127duhWTqEtuqrT4qhjZk1ZzKCb/hw8dsaJRtTJi8Ixi5rueu3btrv27Ukd6NyQhG7KQmNMuecpCTO+S3QPlVfDqa/VdOP+PU5ATmn6Wxszb003Jdv4lTLTy6aXiHopUTjuK42IwmCgt9sMWWiMOVEOgIMd04jCmTaXyDh4znOwxw9jKGPmzT9J+/wekmuQKAQG0QGyf7XieYAcD7R2s3hMyU+7MBlFLDpv4GybCyqOQvV7gygENPFlE3Hib7psEg6Mrz2GXQ4t1x4HueLEXzCCddlkrs0lIuC8k5LqAXI0Zt60xZiWNz71ShSiXvtupon2GS9l7JtpjBts/GsXx95MozXoDR4HGmNmTTtPOw7rmjH9w8+DQERtir/FWh72HjUmgNIQhTvGBFAaonDHmABKU3wUAsAyohAAiEIAIAoBwBGFmFCkCxXLoV7hMCp76XsRhahYFvUKZX0cADhe8vUKn3ZHIfUKo2fptCchqVeIyqVerzAaayvqFY5/j5+btSbpeqNeqdcrlG/d3SustEiXWkht7sxrEUsN7JJ8vUIxLlG4zXyd28chsbeQRSw1sEv69Qqnl16NQuoVBijdCgzSr1coh+w4r0+9Qv342F+Z1CtE7Yq/xZrKNACWEYU7xgRQGqJwx5gASlN8FALAMqIQAIhCACAKAcARhfXh6hCgyKFe4Us/CY8AUQgo0q9XqI6J3YhCQJFLvUJ/zA2oV6gsZjP0vae6Xf6zj4UsPrBaLvUKvTG3oF7h+PfsYg5fM/PlbIBS5VKvcHe1mIqLdOn1Cs3F5BdkULM86hXOVO9aUnEU6h28uSjs+wIWG9gjg3qFL+Sgo15htBjGYj4/ukJODQBbJV+v0BxzJeoVBsukLWb0HVXK8gNrFX+LNZVpACwjCneMCaA0ROGOMQGUpvgoBIBlRCEAEIUAQBQCgCMKcQSuOCF7GdQrVCoYIi1EIbKXfr1C7z2EYZKIQmQvp3qFO2oknNq+b9tH37XtRK80KuQX5GwhtaqUeoXqk5BbajWurIFYZP1HlCuLeoXhTrbe0M98PmT7nFWzHIN8HrmAbo5ar1BdtvW1GtfXQCyv/iNKlk+9Qn/klUShsakHaxTpmma4iBJdVr1CtS7h6gJlG2ogFlf0DEXLo16hGGNb52JTFLqp01hEF2Z+bTXyfMHq2NpQA5EoRE4yqFfovX9jRqlRaBwgD8vRFJKEy98t3pUxo1ajOMy121TfXl79R5Qs+XqFr91Lo0eh16pye1A5e61yntZb9fZq91uQa2RlDcQi6z+iXNxiDTd7mWh3j66MS0+oBVEIZ8XWo/+3t0dHFCInRCHce2KLKEROiEIAIAoBgCgEAEcUAoAjCuvD1QxAkX69QuPt2IkoBBTp1yvk8dVjEYWAIv16hS9GoVE1zyi6V1p9PWoLAuukX69w4e1LtKp5Zr3CwurrUVsQWCuneoVLhWtUSqkoo0hXcUWlqC0IrJZVvcI9HZaKo5DagsBqOdUrlG9fTauaZx4gF1Zfj9qCwFrp1yvU3r6BUTVPqVdYYn09agsC6xR/i/X6e0dqvsuk5mUHnCMKd41ZnpqXHXCOKNw1ZnlqXnbAuQqiEACWEYUAQBQCAFEIAI4oBACXQ71Cf+h77//lmTOgUunXK/xkqRSiEKhU+vUK9aIC63ml+Mb2o0J+0aOAPH8GVCT5eoWntu/b5oWqorKIg1aERkYtvUKgUsnXKzy1vRdlr5Sm8drUOoBEIVCp5OsVnuS5yD0PiClvMROVKAQqlX69Qr/7eUiv0K7J9+qJSQB5Sr9eofpbRRvoHUnrBKZ12xCAonGLNQAQhQBAFAKAIwoBwBGFAOCc+39neSDVnQy7pAAAAABJRU5ErkJggg==" alt="" />
为什么程序的开头两句总会是
push ebp
mov ebp,esp
?
先来看一个程序:
aaarticlea/png;base64,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" alt="" />
这个程序调用fun()时,fun的汇编代码也是如此,开头调用这两句汇编:
aaarticlea/png;base64,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" alt="" />
其实,这里ebp中保存的是你当前的函数(main函数)的栈基址,当你进入一个子函数(func函数)的时候,你要使用这个子函数的栈空间,此时进入子函数的栈空间就要先保存当前函数的栈基址。将此时的 esp 赋予 ebp 以便后面用 ebp 来作为栈基并以此通过 [ebp+??] 来访问函数的参数、以 [ebp-??] 来访问函数的变量。
可以用一个图表示:
aaarticlea/png;base64,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" alt="" />
ebp其实可以当做是一个fun和main的“分界线”。
sub esp,0C0h,就是开辟了一块栈空间。
push ebx
push esi
push edi
用来保存main函数的“现场环境”。
lea edi,[ebp-0C0h]
mov ecx,30h
mov eax,0CCCCCCCCh
rep stos dword ptr es:[edi]
rep指令的目的是重复其上面的指令.ECX的值是重复的次数.
STOS指令的作用是将eax中的值拷贝到ES:EDI指向的地址.
这样就将这片栈空间中的数据都初始化为“CCCCCC...”
xor eax,eax
这个很简单,就是设置返回值,eax作为返回值。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABgCAIAAADn+btrAAAFeUlEQVR4nO2c25WEIBBENxKTmDNJGIRBGARJmOx+jEqD3YCg0mDdr1kWQbRsXqV/n8/n8/kMADzIH2QHngeyezHfySzz6PxJ/76Rg+y+k1l+mOkbShznhbCdLXs4+c+Wzznaaer+n70AuUxQhBrZjfNesT0nNnEY5+MpfidDMlKRjPNi5tlQ2VEFCkfJtYMLqHc9XdmN837XbXBiE3nZEYhatiJoK13ZreWTmmg5XO3JjPMyT1u4tKXbCOqcEpOzaZhmOokLCSJMz3Mbjux2XYzzsphpcsVCEwevmzzcJU9iZvoe0g4HfydjptG98VLtyYzzfi33WEqDqv3N5WwbGhlGet+E3uO56MfIbj8vGqO8xCEc7Wios/mEaOeoYb/baz1S7cnQ01xPwLu6Ww4mZ9s4UW17kOkVVCK73wNP48DayR4TZdm5A1O/6VvzvXu8yY5oas0h1J7Mi2XHPqMaZUdPykYsNpGXXXAyFIh2tm87TC742pPh5i5iJ8vMclqGa4Zt73GoXE12ZQsoh9DmtiE2tnNL4IbAGeMtoSKbvCcKOZuG3hF3ZrYsv8GLfeDlG3c93S8XRybcWTlBKZBdRk5QCmSXkROU0r3sgEYgO1AByA5UALIDFYDswAb8dm4Ba6GYZ94L/HaEo2kKNI96v91KtuzgtwtsNjI7g/DbfYXyTgG/3f7bPtzClYTfzo98RdHupcYn1m8XGinDb+eXD9mdJ+yJ/fU3TiPht/O7uStkB7+dhxqbp0K/nVtPzis8XEXv9dtxL/DAb3c1cKBoBLLLyAlKgewycoJSupcd0AhkByoA2YEKQHagApDd21Axc2rBb1f0ejbw0Cg7hX47uUyQg0LZ6fXbHctMBH47ppnj1qXYC+92RHc3vxW/nV9mMvDb7b+Dzdwe6dijfw2t+O2yXSEvNj7xfjuxmU++sdKG367g5ZIXy44PXCHZGfNQsxvw25W90AS/3TGRa+Zov576dCc7DPr8dpEyo8Bv57WJayadRThDnbvofrkYDhSNQHYZOUEpkF1GTlBK97IDGoHsQAUgO1AByA5UALID5ZyejTXgtyNZe1nF7Y1S2Sn02zmlQ3gqKZSdbr9dxv78dzJmmn5ehol+a+awC+dp+hn/z+0wfjv2+3ZnvIaJHr5gmU347fwGpbPZCNZNx9XjIloB6P5sB0vHrN+ObVu61zDdwxcqsx2/nVdsGsS8terNHD5Iu5/KXmUXtqdT37dLNn2d8PCFymzDb0fSzkW8U7IbbDDsoYONXK2RjjmSZXfCw5cuO5V+u1ibQ7CyEzrZwXbzXagu3juwMcQ7iHSVcpns4SH/onq/Xdn6CS87p9Sjdb6HDnaF8ds5NylyO/bs9IokeviC/kUsF4MhOFDPdlqHBv+QHRgkifziWu6IA7IDEe5YMILsgDIgO1AByA5UALIDFYDs3oaK7Wb9fjt3Dbr+FWsdjbJT6LfrZF9eDQplp9FvVyg7wfUlmMZe+n27x9uu32/HbAGegXN9iX67137f7um2t+S3C9pbJBj7jWB8Sjb/tMJF3rg7aMpvl/Mgvlh2F3nj7qAlv92Y81Fdbu4idrKiP6xNrvHG3YF+vx1JyhlyCBUxfruQP6xVrvDG3UH3y8Xp6wUqVhYq8XTbIbuMnP0B2V0MZJcCZAdeAGQHKgDZgQpAdqACkB2ogH6/nZx4PV3sibWAfr/dk3YQyO4h9Pvt+A3tdBwrGbflZveDHXrZH1OJer8db8I7ATUQcGYTKmtEu4dQ77eLmfCiCAYqNrBBdg+h3m8XNeHFYA4R1QvZPYR+v13EhBeFO0/RU1Y6kARp6PfbCYnJ8AFSekNDXgACF4LlYlAByA5UALIDFYDsQAUgO1CBf2+cnCQk5rwKAAAAAElFTkSuQmCC" alt="" />
这几句实现真正的return。
那么问题来了?为什么要将栈空间初始化为“CCCCC...”?
从网上摘录了三句话来解释:
“int 3 的机器码就是 0xcc,对没初始化或变量之间填充这些,一旦程序异常,执行到这些位置来了,就会中断到调试器里面”
“vc debug初始化填充0xCC,为了方便调试查看,防止未初始化的情况发生,要知道release模式是不会自动帮你填任何东西的,也就是所谓初始化,C++不会做任何多余的事”
“这是一种防御式的代码调试方法,CC除了作为无效区域的标记,还是x86指令集中的INT 3单步中断的机器码,可以暂时停止指令的执行。”
看到网友的回答,原以为是因为如果访问未初始化的栈空间就会报错,但事实并非如此。
验证如下,我写了一个测试程序:
#include <iostream> int fun()
{
int i = ;
int *p = &i - ;
*p = ;
return ;
} int main()
{
fun();
return ;
}
当初始化栈空间之后,我们可以查看下ebp的值:
aaarticlea/png;base64,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" alt="" />
在内存中找到这个地址,查看内存:
aaarticlea/png;base64,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" alt="" />
栈空间的绝大部分已经被“CC”填充。
当单步调试过int *p = &i - 30;时,p就有了值,它所指向的位置就是fun的栈空间
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgQAAAAbCAIAAACMfwCmAAAED0lEQVR4nO2dvW7yMBSGuRkjoXbvApcAquQL6BikTgV1IlOXjhmQ2DN3zJKpFwEDF9Ar8JSx3+D8HP/G0EC+wGs9qtrDiWPj6Lz2saOOGBsDAEAnjEaj3tsAzgMjBwDoDIjBcMHIAQA6A2IwXDByAIDOgBgMF33kRigoKCgod1h6lyMAwM2AkDJcMHIAgM6AGAwXjBwAoDMgBsOlZeSEEGdU+vTy8fr18/r18/Ty0XsPAQBXwxCD2S5JizQt0nhtv8R0MCw8LlJpSXNOruVxkSa7Kf0zLZLlQqmf59RHN/qat4gSR7N5Xranqnm6PFYtrBpg+IRYTuppcy/7d3iMZqeNnf9jIcRJeiBl4Pkzf5jOH6bz588ckgDA/aCJwSJKig2nv2iYDpZfplVQ47ES7zbJUQ2sSgBltd0pBt7mWS8cMzZeb6o4y+MyHE+XR1U2TJ/asogSlyWop9PlUW2Yoxc8dwqwY+z8H0slCNEDKgOTyeNk8ijF4P379/3795qPIwCgL1QxmO2SKkAb4dLh4L+EBDgeH6NlroiBNXZ7xCD4XnqbSVy2i4HpQ2uTdzctQT1tZKblS76MGLAAPZBBn64JpCVADFaZOGzftnshhBD77fw6Ty0AoHNUMeBGsCbpCx4XiTa1lyHSGd/JzHe2S+J141DnW6rKq7yNIhi60XcvXzAtp+1kLdKkiWjCh/rQ2mT4Ni2BPU12UUxSSa5eXEwMWJse0NBv4r3LKitFYMzm2704bOc9P9AAgPMwxMCc/Eoj/UkdrJdUOfE6B8LjYsO9cbCMrYsoKYhgqEbv3Ny+lJE4dxrINoPmo6pgmubctIT0lOdpcox4dZX1O6wbaU9zOcfO//GpK4NzxaARgLdMZG+9PcoAgL/QtjIYM0Zjn+ngna2X4a8Ocw7nOntD7Raj517qtLqZ+KuJLCWzT+ux+dSVbJZl+01Le0+1cC9XGGG9aB07/8fhewYuGQjYQKZiMN/uIQYADBVjz4CmaJTTQdVEWHNwXFJSB/G0aDCiZKgYeO/lXBlo6R0zuaStOQyfoHu5emrO/V29uMDKIPA0kdxAPlEGJKus3iqQWnCVpxYA0DkBp4mUBFHIaaKG+vROyR/TRK2niZznSl3bzuuNPO7p8TEPfdqOgbp7ut5USaRqzXHV00ThnPWGwSoThyw7SOHBsgCA4eJ8z4CciFfPU2oO9kuK1Jqjd2dIqpP4ygayxWjenVbuCKbkrQIl0U/r0X2MLW6LJbCntZth0fWjUzG4CsqeAQBguNzQG8jO9wwGAsQAANAfNyQGnjeQ/38u8AbyVYAYAHAj3JIY3BsYOQBAZ0AMhgv+uQ0KCgoKCmQcAAAA0kQAAAAYxAAAAACDGAAAAGAQAwAAAIyN/wFFlsDVhsUamgAAAABJRU5ErkJggg==" alt="" />
下面我们就用*p = 1;来测试下这个空间是否可以访问
aaarticlea/png;base64,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" alt="" />
结果,栈空间的位置被改变了。没有报告任何异常。
那么我们只能认为,这段"CC"只是起一个标识作用。如果有更好的解释,也欢迎大家提出。
Disassembly1:HelloWorld的更多相关文章
- Android开发-之第一个程序:HelloWorld!
小编觉得不管学习什么编程的时候,第一个程序都是要求打印输出一个"HelloWorld!",那就从最简单的HelloWorld开始吧!哈哈~~~~ 一.创建一个Android工程 1 ...
- libevent源码分析:hello-world例子
hello-world是libevent自带的一个例子,这个例子的作用是启动后监听一个端口,对于所有通过这个端口连接上服务器的程序发送一段字符:hello-world,然后关闭连接. /* * gcc ...
- Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点
原文:Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点 经过前面几期的学习,我们知道了Android的前世今生,也大致了解了Android的系统架构和应用组件,然后花了几期来 ...
- Ionic2学习笔记(0):HelloWorld
作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5529153.html 操作系统: Windows 10 环境配置: Node.js Java SE D ...
- jni cocos2d-x移植到android:helloworld
前面搭建好了android开发环境 jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧 所需资料: cocos2d :下载地址 http://www.oschina.net/p/co ...
- 一个例子:HelloWorld
作为C语言来说,我是用的是QT Creator作为开发工具. 事实上使用什么工具无所谓.重要的是学到实用的知识. 第一个实例程序就是HelloWorld程序.上代码: 版权声明:您好,转载请离开我的博 ...
- Spring Boot 2.x (一):HelloWorld
简介 本系列基于Spring Boot 2.1.0 的官方文档,除去了文档中一些冗余的东西,加上了一些自己的理解,意图是在于帮助更多初识Spring Boot的人来进行一次探险. 本系列建议具有Jav ...
- Scala:HelloWorld
代码 object HelloWorld { def main(args: Array[String]): Unit = { println("Hello world") } } ...
- Struts2学习:HelloWorld
项目结构: 1.用IDEA新建一个SpringBoot+Maven的项目 2.新建的项目是没有webapp.WEB-INF.与web.xml文件的,需要在下图中添加: 3.在pom.xml引入stru ...
随机推荐
- 2015 ACM/ICPC Asia Regional Hefei Online
1001 Monitor the Alpacas 1002 The Relationship in Club 1003 Difference of Clustering 两边离散化.暴力扫C就过了. ...
- UI----安健2 UIswitch UIslider
- (void)viewDidLoad { [super viewDidLoad]; [self buttonswitch]; [self buttonslider]; } -(void)button ...
- 灰色关联度Matlab代码
load x.txt %把原始数据存放在纯文本文件x.txt中,其中把数据的"替换替换成. for i=1:40x(i,:)=x(i,:)/x(i,1); %标准化数据end data=x; ...
- install font
哪些字体包含国际音标呢? 在微软的Windows与Office的2000或以上版本中分别带有Lucida Sans Unicode和Arial Unicode MS两种字体(以下分别简称LSU和AUM ...
- js深入理解构造函数和原型对象
1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例.但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propoty ...
- MySQL复制表结构,表数据。
1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable; ...
- HDU 5933/思维
题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=5933]; 题意: 给出n堆物品,问能不能分成K个数量相等的堆,如果能分,则最少次数是多少.分的规则为: ...
- (译)UEFI 启动:实际工作原理
本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: https://www.happyassassin.net/2014/01/25/uefi-b ...
- 【JQuery的选择器】
一.基本选择器 基本选择器是JQuery中最常用的选择器,也是最简单的选择器,它通过元素的id,class和标签名来查找DOM元素(在网页中id只能使用一次,class允许重复使用). 选择器 描述 ...
- python2.7学习记录之三
1.连接数据库 MySQLdb的是一个接口连接到MySQL数据库服务器从Python.它实现了Python数据库API V2.0,并建上的MySQL C API的顶端. 下载地址:https://so ...