{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,27]],"date-time":"2026-07-27T22:55:25Z","timestamp":1785192925858,"version":"3.55.0"},"reference-count":20,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2017,5,15]],"date-time":"2017-05-15T00:00:00Z","timestamp":1494806400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Comput Virol Hack Tech"],"published-print":{"date-parts":[[2018,5]]},"DOI":"10.1007\/s11416-017-0299-1","type":"journal-article","created":{"date-parts":[[2017,5,14]],"date-time":"2017-05-14T23:04:58Z","timestamp":1494803098000},"page":"139-156","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":32,"title":["Pure-Call Oriented Programming (PCOP): chaining the gadgets using call instructions"],"prefix":"10.1007","volume":"14","author":[{"given":"AliAkbar","family":"Sadeghi","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8958-3043","authenticated-orcid":false,"given":"Salman","family":"Niksefat","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Maryam","family":"Rostamipour","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2017,5,15]]},"reference":[{"key":"299_CR1","doi-asserted-by":"crossref","unstructured":"Bletsch, T., Jiang, X., Freeh, V.W., Liang, Z.: Jump-oriented programming: a new class of code-reuse attack. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, pp. 30\u201340. ACM","DOI":"10.1145\/1966913.1966919"},{"key":"299_CR2","unstructured":"Carlini, N., Wagner, D.: Rop is still dangerous: breaking modern defenses. In: 23rd USENIX Security Symposium (USENIX Security 14), pp. 385\u2013399"},{"key":"299_CR3","doi-asserted-by":"crossref","unstructured":"Checkoway, S., Davi, L., Dmitrienko, A., Sadeghi, A.R., Shacham, H., Winandy, M.: Return-oriented programming without returns. In: Proceedings of the 17th ACM Conference on Computer and Communications Security, pp. 559\u2013572. ACM","DOI":"10.1145\/1866307.1866370"},{"key":"299_CR4","doi-asserted-by":"crossref","unstructured":"Chen, P., Xiao, H., Shen, X., Yin, X., Mao, B., Xie, L.: Drop: detecting return-oriented programming malicious code. In: International Conference on Information Systems Security, pp. 163\u2013177. Springer","DOI":"10.1007\/978-3-642-10772-6_13"},{"key":"299_CR5","unstructured":"Cheng, Y., Zhou, Z., Miao, Y., Ding, X., DENG, H.: Ropecker: a generic and practical approach for defending against ROP attack. In: Network and Distributed System Security Symposium (NDSS14)"},{"key":"299_CR6","doi-asserted-by":"crossref","unstructured":"Davi, L., Sadeghi, A.R., Winandy, M.: Dynamic integrity measurement and attestation: towards defense against return-oriented programming attacks. In: Proceedings of the 2009 ACM Workshop on Scalable Trusted Computing, pp. 49\u201354. ACM","DOI":"10.1145\/1655108.1655117"},{"key":"299_CR7","doi-asserted-by":"crossref","unstructured":"Davi, L., Sadeghi, A.R., Winandy, M.: Ropdefender: a detection tool to defend against return-oriented programming attacks. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, pp. 40\u201351. ACM","DOI":"10.1145\/1966913.1966920"},{"key":"299_CR8","unstructured":"Designer, S.: Return-to-libc attack. Bugtraq, Aug (1997)"},{"key":"299_CR9","unstructured":"Falcn, F.: Exploiting cve-2015-0311, part ii: bypassing control flow guard on windows 8.1 update 3. \n                        https:\/\/www.coresecurity.com\/blog\/exploiting-cve-2015-0311-part-ii-bypassing-control-flow-guard-on-windows-8-1-update-3"},{"key":"299_CR10","doi-asserted-by":"crossref","unstructured":"Gktas, E., Athanasopoulos, E., Bos, H., Portokalidis, G.: Out of control: Overcoming control-flow integrity. In: 2014 IEEE Symposium on Security and Privacy (SP), pp. 575\u2013589. IEEE","DOI":"10.1109\/SP.2014.43"},{"key":"299_CR11","doi-asserted-by":"publisher","unstructured":"Kayaalp, M., Schmitt, T., Nomani, J., Ponomarev, D., Abu-Ghazaleh, N.: Scrap: architecture for signature-based protection from code reuse attacks. In: 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA2013), pp. 258\u2013269. doi:\n                        10.1109\/HPCA.2013.6522324","DOI":"10.1109\/HPCA.2013.6522324"},{"key":"299_CR12","unstructured":"Rose, J.R., Steele, G.L.: Intel Architecture Software Developer\u2019s Manual Volume 2: Instruction Set Reference (1999)"},{"key":"299_CR13","unstructured":"Salwan, J.: Shellcode Database. \n                        http:\/\/shell-storm.org\/shellcode\/"},{"key":"299_CR14","doi-asserted-by":"crossref","unstructured":"Shacham, H.: The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In: Proceedings of the 14th ACM Conference on Computer and Communications Security, pp. 552\u2013561. ACM","DOI":"10.1145\/1315245.1315313"},{"key":"299_CR15","unstructured":"Tang, J.: Exploring Control Flow Guard in Windows 10. \n                        http:\/\/sjc1-te-ftp.trendmicro.com\/assets\/wp\/exploring-control-flow-guard-inwindows10.pdf"},{"key":"299_CR16","unstructured":"Ubuntu: Ubuntu Release End of Life. \n                        https:\/\/www.ubuntu.com\/info\/release-end-of-life"},{"key":"299_CR17","unstructured":"Wojtczuk, R.: The advanced return-into-lib (c) exploits: Pax case study. Phrack Magazine, Volume 0x0b, Issue 0x3a (2001)"},{"key":"299_CR18","doi-asserted-by":"publisher","unstructured":"Yao, F., Chen, J., Venkataramani, G.: Jop-alarm: detecting jump-oriented programming-based anomalies in applications. In: 2013 IEEE 31st International Conference on Computer Design (ICCD), pp. 467\u2013470. doi:\n                        10.1109\/ICCD.2013.6657084","DOI":"10.1109\/ICCD.2013.6657084"},{"key":"299_CR19","unstructured":"Yunhai, Z.: Bypass Control Flow Guard Comprehensively. Black Hat, BH US (2015)"},{"key":"299_CR20","unstructured":"Zhang, C., Wei, T., Chen, Z., Duan, L., Szekeres, L., McCamant, S., Song, D., Zou, W.: Practical control flow integrity and randomization for binary executables. In: IEEE Symposium on Security and Privacy (SP), pp. 559\u2013573. IEEE"}],"container-title":["Journal of Computer Virology and Hacking Techniques"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11416-017-0299-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11416-017-0299-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11416-017-0299-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2018,4,3]],"date-time":"2018-04-03T09:12:03Z","timestamp":1522746723000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11416-017-0299-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,5,15]]},"references-count":20,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,5]]}},"alternative-id":["299"],"URL":"https:\/\/doi.org\/10.1007\/s11416-017-0299-1","relation":{},"ISSN":["2263-8733"],"issn-type":[{"value":"2263-8733","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,5,15]]}}}