{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,12]],"date-time":"2026-09-12T02:12:06Z","timestamp":1789179126948,"version":"build-2803163510"},"publisher-location":"Cham","reference-count":62,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031442445","type":"print"},{"value":"9783031442452","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"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":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-44245-2_8","type":"book-chapter","created":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T15:02:30Z","timestamp":1698073350000},"page":"139-163","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["BREWasm: A General Static Binary Rewriting Framework for\u00a0WebAssembly"],"prefix":"10.1007","author":[{"given":"Shangtong","family":"Cao","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ningyu","family":"He","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yao","family":"Guo","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Haoyu","family":"Wang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2023,10,24]]},"reference":[{"key":"8_CR1","unstructured":"Leb128 algorithm (2023). https:\/\/en.wikipedia.org\/wiki\/LEB128"},{"key":"8_CR2","unstructured":"Official webpage (2023). https:\/\/webassembly.org\/docs\/use-cases\/"},{"key":"8_CR3","unstructured":"Structured control flow (2023). https:\/\/tinygo.org\/docs\/guides\/webassembly\/"},{"key":"8_CR4","unstructured":"Alliance, B.: GitHub wasm-tools repository (2023). https:\/\/github.com\/bytecodealliance\/wasm-tools\/tree\/main\/crates\/wasm-mutate"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Becker, M., Baldin, D., Kuznik, C., Joy, M.M., Xie, T., Mueller, W.: XEMU: an efficient QEMU based binary mutation testing framework for embedded software. In: Proceedings of the Tenth ACM International Conference on Embedded Software, pp. 33\u201342 (2012)","DOI":"10.1145\/2380356.2380368"},{"key":"8_CR6","unstructured":"Bhattarai, S.: Github zig-wasm-dom repository (2023). https:\/\/shritesh.github.io\/zig-wasm-dom\/"},{"key":"8_CR7","doi-asserted-by":"publisher","first-page":"102745","DOI":"10.1016\/j.cose.2022.102745","volume":"118","author":"T Brito","year":"2022","unstructured":"Brito, T., Lopes, P., Santos, N., Santos, J.F.: Wasmati: an efficient static vulnerability scanner for WebAssembly. Comput. Secur. 118, 102745 (2022)","journal-title":"Comput. Secur."},{"key":"8_CR8","unstructured":"Bruening, D., Amarasinghe, S.: Efficient, transparent, and comprehensive runtime code manipulation. Ph.D. thesis, Massachusetts Institute of Technology, Department of Electrical Engineering ... (2004)"},{"key":"8_CR9","doi-asserted-by":"crossref","unstructured":"Cabrera Arteaga, J., et al.: Superoptimization of WebAssembly bytecode. In: Companion Proceedings of the 4th International Conference on Art, Science, and Engineering of Programming, pp. 36\u201340 (2020)","DOI":"10.1145\/3397537.3397567"},{"key":"8_CR10","doi-asserted-by":"crossref","unstructured":"Cabrera-Arteaga, J., Monperrus, M., Toady, T., Baudry, B.: WebAssembly diversification for malware evasion. arXiv preprint arXiv:2212.08427 (2022)","DOI":"10.1016\/j.cose.2023.103296"},{"key":"8_CR11","unstructured":"Charriere, M.: LOFIMUSIC website (2023). https:\/\/lofimusic.app\/collegemusic-lonely"},{"key":"8_CR12","doi-asserted-by":"crossref","unstructured":"Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 184\u2013196 (1998)","DOI":"10.1145\/268946.268962"},{"issue":"5","key":"8_CR13","doi-asserted-by":"publisher","first-page":"882","DOI":"10.1145\/1086642.1086645","volume":"27","author":"B De Sutter","year":"2005","unstructured":"De Sutter, B., De Bus, B., De Bosschere, K.: Link-time binary rewriting techniques for program compaction. ACM Trans. Programm. Lang. Syst. (TOPLAS) 27(5), 882\u2013945 (2005)","journal-title":"ACM Trans. Programm. Lang. Syst. (TOPLAS)"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Duck, G.J., Gao, X., Roychoudhury, A.: Binary rewriting without control flow recovery. In: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 151\u2013163 (2020)","DOI":"10.1145\/3385412.3385972"},{"key":"8_CR15","unstructured":"EOSIO: EOSIO official website (2023). https:\/\/eos.io\/"},{"key":"8_CR16","doi-asserted-by":"crossref","unstructured":"Erlingsson, U., Schneider, F.B.: SASI enforcement of security policies: a retrospective. In: Proceedings of the 1999 Workshop on New Security Paradigms, pp. 87\u201395 (1999)","DOI":"10.1145\/335169.335201"},{"key":"8_CR17","doi-asserted-by":"crossref","unstructured":"Haas, A., et al.: Bringing the web up to speed with webassembly. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 185\u2013200 (2017)","DOI":"10.1145\/3062341.3062363"},{"key":"8_CR18","doi-asserted-by":"crossref","unstructured":"Hall, A., Ramachandran, U.: An execution model for serverless functions at the edge. In: Proceedings of the International Conference on Internet of Things Design and Implementation, pp. 225\u2013236 (2019)","DOI":"10.1145\/3302505.3310084"},{"key":"8_CR19","unstructured":"He, N., et al.: EOSAFE: Security analysis of EOSIO smart contracts. In: USENIX Security Symposium, pp. 1271\u20131288 (2021)"},{"key":"8_CR20","doi-asserted-by":"crossref","unstructured":"He, N., et al.: Eunomia: enabling user-specified fine-grained search in symbolically executing WebAssembly binaries. arXiv preprint arXiv:2304.07204 (2023)","DOI":"10.1145\/3597926.3598064"},{"key":"8_CR21","doi-asserted-by":"crossref","unstructured":"Hilbig, A., Lehmann, D., Pradel, M.: An empirical study of real-world WebAssembly binaries: security, languages, use cases. In: Proceedings of the Web Conference 2021, pp. 2696\u20132708 (2021)","DOI":"10.1145\/3442381.3450138"},{"issue":"4","key":"8_CR22","doi-asserted-by":"publisher","first-page":"64","DOI":"10.1109\/4434.895108","volume":"8","author":"R Hundt","year":"2000","unstructured":"Hundt, R.: HP caliper: a framework for performance analysis tools. IEEE Concurr. 8(4), 64\u201371 (2000)","journal-title":"IEEE Concurr."},{"key":"8_CR23","doi-asserted-by":"crossref","unstructured":"Kim, T., et al.: RevARM: a platform-agnostic arm binary rewriter for security applications. In: Proceedings of the 33rd Annual Computer Security Applications Conference, pp. 412\u2013424 (2017)","DOI":"10.1145\/3134600.3134627"},{"key":"8_CR24","unstructured":"Lehmann, D., Kinder, J., Pradel, M.: Everything old is new again: binary security of WebAssembly. In: Proceedings of the 29th USENIX Conference on Security Symposium, pp. 217\u2013234 (2020)"},{"key":"8_CR25","doi-asserted-by":"crossref","unstructured":"Lehmann, D., Pradel, M.: Wasabi: a framework for dynamically analyzing WebAssembly. In: Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 1045\u20131058 (2019)","DOI":"10.1145\/3297858.3304068"},{"key":"8_CR26","doi-asserted-by":"crossref","unstructured":"Lehmann, D., Pradel, M.: Finding the dwarf: recovering precise types from WebAssembly binaries. In: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, pp. 410\u2013425 (2022)","DOI":"10.1145\/3519939.3523449"},{"key":"8_CR27","unstructured":"Lehmann, D., Torp, M.T., Pradel, M.: Fuzzm: finding memory bugs through binary-only instrumentation and fuzzing of WebAssembly (2021). https:\/\/arxiv.org\/pdf\/2110.15433.pdf"},{"issue":"6","key":"8_CR28","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1145\/1064978.1065034","volume":"40","author":"CK Luk","year":"2005","unstructured":"Luk, C.K., et al.: Pin: building customized program analysis tools with dynamic instrumentation. ACM SIGPLAN Not. 40(6), 190\u2013200 (2005)","journal-title":"ACM SIGPLAN Not."},{"key":"8_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"328","DOI":"10.1007\/978-3-030-74296-6_25","volume-title":"Web Engineering","author":"N M\u00e4kitalo","year":"2021","unstructured":"M\u00e4kitalo, N., et al.: WebAssembly modules as lightweight containers for liquid IoT applications. In: Brambilla, M., Chbeir, R., Frasincar, F., Manolescu, I. (eds.) ICWE 2021. LNCS, vol. 12706, pp. 328\u2013336. Springer, Cham (2021). https:\/\/doi.org\/10.1007\/978-3-030-74296-6_25"},{"key":"8_CR30","unstructured":"McSema: GitHub McSema repository (2023). https:\/\/github.com\/lifting-bits\/mcsema"},{"key":"8_CR31","unstructured":"MDN: MDN web docs website (2023). https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\/Rust_to_wasm"},{"key":"8_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1007\/978-3-030-22038-9_2","volume-title":"Detection of Intrusions and Malware, and Vulnerability Assessment","author":"M Musch","year":"2019","unstructured":"Musch, M., Wressnegger, C., Johns, M., Rieck, K.: New kid on the web: a study on the prevalence of WebAssembly in the wild. In: Perdisci, R., Maurice, C., Giacinto, G., Almgren, M. (eds.) DIMVA 2019. LNCS, vol. 11543, pp. 23\u201342. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-22038-9_2"},{"issue":"1","key":"8_CR33","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1002\/1097-024X(200101)31:1<67::AID-SPE357>3.0.CO;2-A","volume":"31","author":"R Muth","year":"2001","unstructured":"Muth, R., Debray, S.K., Watterson, S., De Bosschere, K.: Alto: a link-time optimizer for the Compaq alpha. Softw. Pract. Exp. 31(1), 67\u2013101 (2001)","journal-title":"Softw. Pract. Exp."},{"key":"8_CR34","unstructured":"Nagy, S., Nguyen-Tuong, A., Hiser, J.D., Davidson, J.W., Hicks, M.: Breaking through binaries: compiler-quality instrumentation for better binary-only fuzzing. In: 30th USENIX Security Symposium (2021)"},{"key":"8_CR35","doi-asserted-by":"crossref","unstructured":"Naseem, F.N., Aris, A., Babun, L., Tekiner, E., Uluagac, A.S.: MINOS: a lightweight real-time cryptojacking detection system. In: NDSS (2021)","DOI":"10.14722\/ndss.2021.24444"},{"key":"8_CR36","doi-asserted-by":"crossref","unstructured":"Nieke, M., Almstedt, L., Kapitza, R.: EdgeDancer: secure mobile WebAssembly services on the edge. In: Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking, pp. 13\u201318 (2021)","DOI":"10.1145\/3434770.3459731"},{"key":"8_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"144","DOI":"10.1007\/978-3-319-20550-2_8","volume-title":"Detection of Intrusions and Malware, and Vulnerability Assessment","author":"M Payer","year":"2015","unstructured":"Payer, M., Barresi, A., Gross, T.R.: Fine-grained control-flow integrity through binary hardening. In: Almgren, M., Gulisano, V., Maggi, F. (eds.) DIMVA 2015. LNCS, vol. 9148, pp. 144\u2013164. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-20550-2_8"},{"key":"8_CR38","unstructured":"Pilfold, L.: Rustexp website (2023). https:\/\/rustexp.lpil.uk\/"},{"key":"8_CR39","unstructured":"PyPI: PyPI cyleb128 library (2023). https:\/\/pypi.org\/project\/cyleb128\/"},{"key":"8_CR40","unstructured":"Shenton, C.: GitHub kingling repository (2023). https:\/\/github.com\/cshenton\/kindling"},{"key":"8_CR41","doi-asserted-by":"crossref","unstructured":"Srivastava, A., Eustace, A.: ATOM: a system for building customized program analysis tools. In: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language design and Implementation, pp. 196\u2013205 (1994)","DOI":"10.1145\/178243.178260"},{"key":"8_CR42","doi-asserted-by":"crossref","unstructured":"Sti\u00e9venart, Q., Binkley, D.W., De Roover, C.: Static stack-preserving intra-procedural slicing of WebAssembly binaries. In: Proceedings of the 44th International Conference on Software Engineering, pp. 2031\u20132042 (2022)","DOI":"10.1145\/3510003.3510070"},{"key":"8_CR43","doi-asserted-by":"crossref","unstructured":"Sti\u00e9venart, Q., De Roover, C., Ghafari, M.: Security risks of porting c programs to WebAssembly. In: Proceedings of the 37th ACM\/SIGAPP Symposium on Applied Computing, pp. 1713\u20131722 (2022)","DOI":"10.1145\/3477314.3507308"},{"key":"8_CR44","doi-asserted-by":"crossref","unstructured":"Strackx, R., Piessens, F.: Fides: selectively hardening software application components against kernel-level or process-level malware. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security, pp. 2\u201313 (2012)","DOI":"10.1145\/2382196.2382200"},{"key":"8_CR45","unstructured":"Suedmeier, E.: wasm-basic-triangle website (2023). https:\/\/shritesh.github.io\/zig-wasm-dom\/"},{"key":"8_CR46","unstructured":"Takahiro: NES-rust-ecsy website (2023). https:\/\/takahirox.github.io\/nes-rust-ecsy\/index.html"},{"key":"8_CR47","doi-asserted-by":"crossref","unstructured":"Tian, L., Shi, Y., Chen, L., Yang, Y., Shi, G.: Gadgets splicing: dynamic binary transformation for precise rewriting. In: 2022 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), pp. 155\u2013167. IEEE (2022)","DOI":"10.1109\/CGO53902.2022.9741259"},{"key":"8_CR48","unstructured":"TinyGo: TinyGo official docs webpage (2023). https:\/\/tinygo.org\/docs\/guides\/webassembly\/"},{"key":"8_CR49","unstructured":"Ts, J.: GitHub clockexample-go-webassembly repository (2023). https:\/\/github.com\/Yaoir\/ClockExample-Go-WebAssembly"},{"key":"8_CR50","unstructured":"Turner, A.: GitHub wasm-by-example repository (2023). https:\/\/github.com\/torch2424\/wasm-by-example\/tree\/master\/examples\/reading-and-writing-audio\/demo\/go"},{"key":"8_CR51","unstructured":"WABT: WABT tool website (2023). https:\/\/github.com\/WebAssembly\/wabt"},{"key":"8_CR52","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1007\/978-3-319-98989-1_7","volume-title":"Computer Security","author":"W Wang","year":"2018","unstructured":"Wang, W., Ferrell, B., Xu, X., Hamlen, K.W., Hao, S.: SEISMIC: SEcure in-lined script monitors for interrupting cryptojacks. In: Lopez, J., Zhou, J., Soriano, M. (eds.) ESORICS 2018, Part II. LNCS, vol. 11099, pp. 122\u2013142. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-98989-1_7"},{"key":"8_CR53","unstructured":"WAPM: base64-cli app in WAPM (2023). https:\/\/takahirox.github.io\/nes-rust-ecsy\/index.html"},{"key":"8_CR54","unstructured":"wasabi: GitHub wasabi repository (2023). https:\/\/github.com\/danleh\/wasabi"},{"key":"8_CR55","unstructured":"WAVM: GitHub WAVM repository (2023). https:\/\/github.com\/WAVM\/WAVM\/tree\/master\/Test\/wasi"},{"key":"8_CR56","unstructured":"WebAssembly: WebAssembly specification webpage (2023). https:\/\/webassembly.github.io\/spec\/core\/binary\/index.html"},{"key":"8_CR57","unstructured":"WebAssembly: WebAssembly static validation algorithm (2023). https:\/\/webassembly.github.io\/spec\/core\/appendix\/algorithm.html"},{"key":"8_CR58","unstructured":"WebAssembly: WebAssembly website (2023). https:\/\/webassembly.org\/"},{"key":"8_CR59","doi-asserted-by":"crossref","unstructured":"Williams-King, D., et al.: Egalito: layout-agnostic binary recompilation. In: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 133\u2013147 (2020)","DOI":"10.1145\/3373376.3378470"},{"key":"8_CR60","doi-asserted-by":"crossref","unstructured":"Xu, Y., Xu, Z., Chen, B., Song, F., Liu, Y., Liu, T.: Patch based vulnerability matching for binary programs. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 376\u2013387 (2020)","DOI":"10.1145\/3395363.3397361"},{"key":"8_CR61","doi-asserted-by":"crossref","unstructured":"Zakai, A.: Emscripten: an LLVM-to-Javascript compiler. In: Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, pp. 301\u2013312 (2011)","DOI":"10.1145\/2048147.2048224"},{"key":"8_CR62","doi-asserted-by":"crossref","unstructured":"Zhang, Y., et al.: Characterizing and detecting webassembly runtime bugs. arXiv preprint arXiv:2301.12102 (2023)","DOI":"10.1145\/3624743"}],"container-title":["Lecture Notes in Computer Science","Static Analysis"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-44245-2_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,31]],"date-time":"2024-10-31T17:20:58Z","timestamp":1730395258000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-44245-2_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031442445","9783031442452"],"references-count":62,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-44245-2_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"24 October 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Static Analysis Symposium","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 October 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 October 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sas2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/sas-2023","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}