{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T14:40:39Z","timestamp":1775054439923,"version":"3.50.1"},"reference-count":25,"publisher":"Pleiades Publishing Ltd","issue":"8","license":[{"start":{"date-parts":[[2019,12,1]],"date-time":"2019-12-01T00:00:00Z","timestamp":1575158400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2019,12,1]],"date-time":"2019-12-01T00:00:00Z","timestamp":1575158400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Program Comput Soft"],"published-print":{"date-parts":[[2019,12]]},"DOI":"10.1134\/s0361768819080061","type":"journal-article","created":{"date-parts":[[2020,1,14]],"date-time":"2020-01-14T15:02:28Z","timestamp":1579014148000},"page":"473-484","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["A Method for Analyzing Code-Reuse Attacks"],"prefix":"10.1134","volume":"45","author":[{"given":"A. V.","family":"Vishnyakov","sequence":"first","affiliation":[]},{"given":"A. R.","family":"Nurmukhametov","sequence":"additional","affiliation":[]},{"given":"Sh. F.","family":"Kurmangaleev","sequence":"additional","affiliation":[]},{"given":"S. S.","family":"Gaisaryan","sequence":"additional","affiliation":[]}],"member":"137","published-online":{"date-parts":[[2020,1,14]]},"reference":[{"key":"7093_CR1","doi-asserted-by":"publisher","unstructured":"Belevantsev, A. and Avetisyan, A., Multi-level static analysis for finding error patterns and defects in source code, 2018. https:\/\/doi.org\/10.1007\/978-3-319-74313-4_3","DOI":"10.1007\/978-3-319-74313-4_3"},{"key":"7093_CR2","doi-asserted-by":"publisher","first-page":"316","DOI":"10.1134\/S036176881805002X","volume":"44","author":"A.Y. Gerasimov","year":"2018","unstructured":"Gerasimov, A.Y., Directed dynamic symbolic execution for static analysis warnings confirmation, Program. Comput. Software, 2018, vol. 44, no. 5, pp. 316-323. https:\/\/doi.org\/10.1134\/S036176881805002X","journal-title":"Program. Comput. Software"},{"key":"7093_CR3","doi-asserted-by":"publisher","unstructured":"Gerasimov, A. and Kruglov, L., Reachability confirmation of statically detected defects using dynamic analysis, Proc. of the 11th International Conference on Computer Science and Information Technologies, CSIT \n               2017, pp. 60-64. https:\/\/doi.org\/10.1109\/CSITechnol.2017.8312141","DOI":"10.1109\/CSITechnol.2017.8312141"},{"key":"7093_CR4","unstructured":"Common Vulnerabilities and Exposures (CVE). https:\/\/cve.mitre.org"},{"key":"7093_CR5","unstructured":"Vulnerabilities (CVE) by year. https:\/\/www.cvedetails.com\/browse-by-date.php"},{"key":"7093_CR6","doi-asserted-by":"publisher","first-page":"363","DOI":"10.1134\/S0361768818050080","volume":"44","author":"A.R. Nurmukhametov","year":"2018","unstructured":"Nurmukhametov, A.R., Zhabotinskiy, E.A., Kurmangaleev, S.F., Gaissaryan, S.S., Vishnyakov, A.V., Fine-Grained Address Space Layout Randomization on Program Load, Program. Comput. Software, 2018, vol.\u00a044, no. 5, pp. 363-370. https:\/\/doi.org\/10.1134\/S0361768818050080","journal-title":"Program. Comput. Software"},{"key":"7093_CR7","unstructured":"CWE-121: Stack-based Buffer Overflow.\nhttps:\/\/cwe.mitre.org\/data\/definitions\/121.html"},{"key":"7093_CR8","doi-asserted-by":"crossref","unstructured":"Shacham, H., \u201cThe geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86),\u201d in Proc. of the 14th ACM Conf. on Computer and Communications Security, 2007, pp. 552\u2013561.","DOI":"10.1145\/1315245.1315313"},{"key":"7093_CR9","unstructured":"Schwartz, E.J, Avgerinos, T., and Brumley, D. Q: Exploit hardening made easy, Proc. of the 20th USENIX Conference on Security, SEC\u201911, USENIX Association, 2011, p.\u00a025."},{"key":"7093_CR10","unstructured":"Jager, I. and Brumley, D., Efficient directionless weakest preconditions. Technical Report CMU-CyLab-10-002, 2010."},{"key":"7093_CR11","doi-asserted-by":"crossref","unstructured":"Lu, K., Zou, D., Wen, W., and Gao, D., deRop: Removing return-oriented programming from malware, Proc. of the 27th Annual Computer Security Applications Conference, ACSAC\u201911, ACM, 2011, pp.\u00a0363\u2013372.","DOI":"10.1145\/2076732.2076784"},{"key":"7093_CR12","doi-asserted-by":"crossref","unstructured":"Graziano, M., Balzarotti, D., and Zidouemba, A., ROPMEMU: A framework for the analysis of complex code-reuse attacks, Proc. of the 11th ACM on Asia Conference on Computer and Communications Security, ASIA CCS\u201916, ACM, 2016, pp.\u00a047\u201358.","DOI":"10.1145\/2897845.2897894"},{"key":"7093_CR13","doi-asserted-by":"crossref","unstructured":"Roemer, R., Buchanan, E., Shacham, H., and Savage, S., \u201cReturn-oriented programming: Systems, languages, and applications,\u201d ACM Trans. Inf. Syst. Secur., 2012, vol. 15, no. 1, pp. 2:1\u20132:34.","DOI":"10.1145\/2133375.2133377"},{"key":"7093_CR14","unstructured":"IDA Pro. https:\/\/www.hex-rays.com\/products\/ida\/"},{"key":"7093_CR15","doi-asserted-by":"crossref","unstructured":"Nethercote, N. and Seward, J., How to shadow every byte of memory used by a program, Proc. of the 3rd International Conference on Virtual Execution Environments, VEE\u201907, ACM, 2007, pp.\u00a065\u201374.","DOI":"10.1145\/1254810.1254820"},{"key":"7093_CR16","doi-asserted-by":"crossref","unstructured":"Moser, A., Kruegel, C., and Kirda, E., Exploring multiple execution paths for malware analysis, Proc. of the 2007 IEEE Symposium on Security and Privacy, SP\u201907, IEEE Computer Society, 2007, pp.\u00a0231\u2013245.","DOI":"10.1109\/SP.2007.17"},{"key":"7093_CR17","first-page":"27","volume":"28","author":"A.V. Vishnyakov","year":"2016","unstructured":"Vishnyakov, A.V., Classification of ROP gadgets, Trudy ISP RAN, 2016, vol. 28, no. 6, pp. 27\u201336.","journal-title":"Trudy ISP RAN"},{"key":"7093_CR18","unstructured":"VirtualProtect function (Windows). https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa366898(v=vs.85).aspx"},{"key":"7093_CR19","unstructured":"The Linux man-pages project. https:\/\/www.kernel.org\/doc\/man-pages\/"},{"key":"7093_CR20","unstructured":"API Monitor: Spy on API Calls and COM Interfaces. http:\/\/www.rohitab.com\/apimonitor"},{"key":"7093_CR21","first-page":"165","volume":"19","author":"V.A. Padaryan","year":"2010","unstructured":"Padaryan, V.A., Soloviev, M.A., and Kononov, A.I., Modeling operational semantics of machine instructions, Trudy ISP RAN, 2010, vol.\u00a019, pp.\u00a0165\u2013186.","journal-title":"Trudy ISP RAN"},{"key":"7093_CR22","unstructured":"Metasploit Framework. https:\/\/github.com\/rapid7\/metasploit-framework"},{"key":"7093_CR23","unstructured":"Exploit Database. https:\/\/www.exploit-db.com"},{"key":"7093_CR24","unstructured":"snapshot.debian.org. http:\/\/snapshot.debian.org"},{"key":"7093_CR25","unstructured":"Salwan, J., An introduction to the Return Oriented Programming and ROP-chain generation, 2014.\nhttp:\/\/shell-storm.org\/talks\/ROP_course_lecture_jonathan_salwan_2014.pdf"}],"container-title":["Programming and Computer Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768819080061.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1134\/S0361768819080061","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768819080061.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T02:41:20Z","timestamp":1775011280000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1134\/S0361768819080061"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,12]]},"references-count":25,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2019,12]]}},"alternative-id":["7093"],"URL":"https:\/\/doi.org\/10.1134\/s0361768819080061","relation":{},"ISSN":["0361-7688","1608-3261"],"issn-type":[{"value":"0361-7688","type":"print"},{"value":"1608-3261","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,12]]},"assertion":[{"value":"13 February 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 March 2019","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 March 2019","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"14 January 2020","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}