ASSERT-KTH / slumps

Cool code analysis research for WebAssembly
https://kth.github.io/slumps/
66 stars 11 forks source link

Reddit WASM topics #38

Closed monperrus closed 4 years ago

anonymous042 commented 4 years ago

test

monperrus commented 4 years ago

WASM open source disassembler

Hi, I had an interest in WASM because I work on the blockchain industry and it is becoming quite popular and there are plans to include it in Ethereum (the blockchain I like). I did an Ethereum debugger a while ago, but now I'm adding WASM support. So, the use case is: you have a WASM binary and you want to reverse engineer it because you don't have the source. It can be useful for security researchers or anyone who wants to analyze a WASM binary. So far, it is a bit of work in progress but I can show you this README page with some examples of its capabilities: ​ https://github.com/fergarrui/ethereum-graph-debugger/blob/features-ewasm/WASM.md ​ What it does: - Analyzes a wasm binary file (or smart contract address, but that is out of scope of this subreddit). - Identifies bi nary sections - Grabs the code section and disassembles it - Identifies functions defined in that module - Creates a callgraph to understand what function calls what (including imported modules) - Creates a Control Flow Graph of every function defined in the module - Does a bit of post processing to resolve some symbols if possible (like CALL targets, some function names - if they are defined in the Export section), etc. ​ ​ As I said it is still in an early stage, but would be cool to hear some feedback thoughts, or if you think it can be useful. ​ Thanks!! submitted by /u/fergarrui [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

Wasm3 engine is now available for iOS, showing really good performance

    submitted by    /u/vshymanskyy   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Golang wrapper for WASM3 (WIP)

    submitted by    /u/matiasbaruch   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Wasmex is an Elixir library for executing WebAssembly binaries, based on Wasmer

    submitted by    /u/Hywan   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Building Graphical Applications with Wasmer and WASI

    submitted by    /u/torch2424   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

How are WASM modules shared? And Where can I find WASM modules

As the subject says: How are WASM modules shared? And where can I find WASM modules? NPM? or somewhere else? I am currently leaning about WASM and I understand it can allow you to take code written in languages like C++, compile it to WASM that can then be ran in the browser. I also see people making the point that it is not supposed to replace Javascript, but to supplement it: hence you can import your WASM module and use it via JavaScript. ​ The question now is, what are the currently available WASM modules out there? Is there some kind of repository that hosts WASM modules? I have not been able to find anything like this. submitted by /u/finlaydotweber [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

Whats the smallest most self-contained online demo of wasm such as a bookmarklet or data-url?

A https://en.wikipedia.org/wiki/Bookmarklet is javascript code that executes on whatever page you're on when you click it. A data-url https://en.wikipedia.org/wiki/Data_URI_scheme can be pasted into url bar of browser and is the page content itself. Is the wasm included in new browsers disconnectable from specific urls etc enough to put in a bookmarklet or data-url? submitted by /u/BenRayfield [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

Can wasm limit the number of compute cycles or time that a given function call is allowed to run?

The halting problem says you cant reliably know in advance if a program will do a certain thing or not if its possible to do that thing. If you prevent it from accessing files outside the sandbox, thats reliable, but if you ask will it end within a million cycles, it might take a million cycles to find out. What if you only wanted to allow it max of 100k cycles and certain memory limit? If a counter starts at 100k and each op subtracts from it whatever that op costs and ends early if counter would become negative (so it never does), then you could guarantee any function call ends within the given number of cycles. If each function call also took a parameter of how much computing power to leave remaining, such as 90k then when the counter would become less than 90k it would end early, leaving the at least 90k for calls lower on the stack which gave such a limit. If each thread had such a counter and extra parameter, then not every call would be turingComplete but every call would halt within given limits and could each reduce the limit further or leave it as it is to any depth for the whole system only being constant times slower. That could of course be coded at user level in wasm by making a wasm-like emulator in wasm which had that feature, or it might make a good standard option which could prevent things from "locking up". submitted by /u/BenRayfield [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

wasm game dev

New to wasm and was planning to study and noticed that some information is hard to find. Webgl games, there is already game engines that goes well with wasm? Which language should one use if target is to make a game? Based on what I googled it seems like Rust has more mature tools? but C/C++ is still the way to go for games? some comments I read were old and development around wasm seems to be rapid so was hoping if someone here would no better. submitted by /u/raokster [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

BrawlBots - A 3D FPS game built for WASM/WebGL

Hey fellow wasm folks! So earlier I noticed a post asking about WebAssembly in regards to games, and so I thought I'd post a link to a project my team and I have been working on - a sci-fi, FPS game built in Unreal Engine 4 and exported to the web via WASM/WebGL. Funny enough, Epic just recently discontinued support for HTML5 in one of their latest engine releases, however it is migrating over to Github as an unofficial community extension. Regarding our game, we'd love to get some feedback from the community on what we've made so far, and if you're interested in joining our team, please feel free to reach out. Ultimately, our vision is to bring an Unreal Tournament/Halo inspired FPS game to the web, for anyone to instantly play. Gaming on the web has a bright future, thanks to WebAssembly. I'll provide a link to our Discord server in addition to the game link. Happy gaming :) Game link: https://digiplay-gaming.itch.io/brawlbots Discord link: https://discord.gg/zUSZ3T8 submitted by /u/astlouis44 [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

TinyGo <> Arduino-based Wasm runtime interoperability

    submitted by    /u/vshymanskyy   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Cookie less tracking with WASM

    submitted by    /u/drbh_   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Emscripten and WebAssembly

    submitted by    /u/rosineygp   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

A Future Thing: The Global App (or how decentralized apps will be like - a paradigm shift in open source)

    submitted by    /u/ctzurcanu   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

WebAssembly accessing native file system from a browser

    submitted by    /u/RReverser   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

WebAssembly for Absolute Beginners

    submitted by    /u/Asadali33   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Fuzzing npm/nodejs WebAssembly parsing library with jsfuzz

    submitted by    /u/pat_ventuzelo   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

WebAssembly vs Vanilla JS for webapp

I've just started exploring WebAssembly, so forgive me if this is a silly question. From blogs that I have read, most WASM applications write to a canvas. This seems fine if you are trying to write a game or other similar graphical application, or one that is compute heavy. Can WASM be used to write more "traditional" webapps that simply manipulate the DOM and communicate with a back-end server? As I understand it, WASM must connect to JS for DOM manipulation as there is no support for direct-to-DOM from WebAssembly. Is there an alternative for GUI programming from WASM that does not involve the DOM? Is there any advantage to using WASM over plain JS for these cases, when the app is not compute intensive? submitted by /u/grkuntzmd [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

DIY Animated RGB Lamp, runs WebAssembly

    submitted by    /u/vshymanskyy   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

CheerpJ 2.0: Run any Java application or library in the browser - introducing support for WebAssembly

submitted by /u/smm11 [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

WebAssembly vs CGI (Common Gateway Interface)

Hey guys, just trying to get my head around WA conceptually. So i understand that WA will give us the ability to write programs in low level languages and have an interface between the program and JS to display in browser. My question is hasn't this functionality already been available with the use of CGI (Common Gateway Interface). I never worked on CGI projects during my career but when i did start out i do remember learning about it. What makes them different and what makes WA an innovating considering CGI has existed for this time? submitted by /u/olscool90 [link] [comments]

Visit URL RSS feed

monperrus commented 4 years ago

[Video] Lucet: Safe WebAssembly Outside the Browser - Tyler McMullen, CTO @ Fastly

    submitted by    /u/AaCodeSync   [link]   [comments] 

Visit URL RSS feed

monperrus commented 4 years ago

Strings in WebAssembly (Wasm)

    submitted by    /u/SecondStateinc   [link]   [comments] 

Visit URL RSS feed