[{"data":1,"prerenderedAt":217},["ShallowReactive",2],{"project-18632784":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":40,"post_text":42,"what":43,"said":87,"maker_in_thread":145,"shape":148,"grid":152,"attempts":178,"same_week":179,"maker_shows":172,"maker_hidden":208,"reader_version":209,"card":210},"18632784","Eveem","Smart contract decompiler that uses symbolic execution","title","Show HN: Smart contract decompiler that uses symbolic execution",null,"kolinko",1544227020,2018,68,10,629,2155,30,"notable","dev_tools","decompiler","web_app",[23,24,25,26,27],"smart contract decompiler","evm","solidity","symbolic execution","ethereum","curious",0.211,{"positive":31,"neutral":32,"mixed":33,"critical":33},2,5,0,7,{"docs":36,"idea":37,"performance":39},{"positive":33,"critical":33},{"positive":38,"critical":33},1,{"positive":33,"critical":33},[41,33,41,41,41,32,33,33,41,32],3,"Hi All,\nI released an EVM\u002FSolidity decompiler recently, here:\n\nhttp:\u002F\u002Fwww.eveem.org\u002F\n\nSince it uses symbolic execution underneath, the results are quite awesome.\n\nThere is also an api that delivers a .json \u002F middle language representation of every contract here: http:\u002F\u002Feveem.org\u002Fcode\u002F{{address}}.json\n\nThe plan is to open-source it as soon as I clean up the code a bit. Spent the last two month crunch-time to get it delivered from scratch :)",{"problem":44,"audience":50,"pricing":9,"motivation":65,"time_to_build":70,"stack":74,"openness":85,"stage":86,"team_size":85},{"value":45,"source":46,"evidence":47},"Turns compiled EVM smart contract bytecode back into readable code.","inferred",[48],{"id":49},"post",{"value":51,"source":46,"evidence":52},"Developers and researchers working with Ethereum smart contracts.",[53,57,61],{"id":54,"by":55,"text":56},"18635205","amelius","I bet most people here (like me) don't know what EVM\u002FSolidity is all about. Do you have a link with introductory information?",{"id":58,"by":59,"text":60},"18637244","antpls","For people like me not directly working on the field of smart contracts : does a solidity decompiler solve a specific problem or was it for fun? I thought the point of smart…",{"id":62,"by":63,"text":64},"18635743","hboon","This is pretty cool. This looks like it'll be useful for my work. Is 4bytes.directory the only source of function signatures?",{"value":66,"source":67,"evidence":68},"Maker built it for the smart contract analysis work; plans to open-source it.","maker",[69],{"id":49},{"value":71,"source":67,"evidence":72},"Two months of crunch time, built from scratch.",[73],{"id":49},[75,79],{"value":76,"source":67,"evidence":77},"Symbolic execution",[78],{"id":49},{"value":80,"source":67,"evidence":81},"Python (showmewhatyougot client script)",[82],{"id":83,"by":10,"text":84},"18635997","Thanks :) I used 4bytes initially, but then built my own internal directory that is more precise (has parameter names, and a slightly larger database). I plan to open-source it,…","unknown","launched",{"praise":88,"objections":103,"requests":108,"questions":118,"alternatives":139},[89,94],{"value":90,"source":67,"evidence":91},"Results look impressive and useful for smart contract work.",[92,93],{"id":49},{"id":62,"by":63,"text":64},{"value":95,"source":96,"evidence":97},"Commenters say it would be useful for their work.","commenter",[98,99],{"id":62,"by":63,"text":64},{"id":100,"by":101,"text":102},"18646242","xbt_fan","Good stuff!! Does your API work for test-nets? Also, what do you think the future of this project is?",[104],{"value":105,"source":96,"evidence":106},"Commenter questions whether a decompiler is needed when contract source is supposed to be public.",[107],{"id":58,"by":59,"text":60},[109,114],{"value":110,"source":67,"evidence":111},"Open-source the code.",[112,113],{"id":49},{"id":83,"by":10,"text":84},{"value":115,"source":96,"evidence":116},"Support for test networks.",[117],{"id":100,"by":101,"text":102},[119,130,135],{"value":120,"source":96,"evidence":121},"Can it decompile arbitrary contracts into ABIs?",[122,126],{"id":123,"by":124,"text":125},"18636134","mewwts","Super curious to how this works - care to elaborate a bit? Any chance you could use this to decompile arbitrary contracts into ABIs?",{"id":127,"by":128,"text":129},"18637210","davesque","As in getting an interface definition file? My guess would be no. I don't believe that compiled methods are annotated with any type information for the arguments or anything…",{"value":131,"source":96,"evidence":132},"Where do function signatures come from besides 4bytes?",[133,134],{"id":62,"by":63,"text":64},{"id":83,"by":10,"text":84},{"value":136,"source":96,"evidence":137},"Does the API work for test-nets?",[138],{"id":100,"by":101,"text":102},[140],{"value":141,"source":67,"evidence":142},"4bytes.directory for function signatures.",[143,144],{"id":83,"by":10,"text":84},{"id":62,"by":63,"text":64},{"comments":38,"answered":38,"key":146},[147],{"id":83,"text":84},{"commenters":149,"max_depth":41,"maker_replies":38,"first_comment_mins":150,"lifespan_hours":151},9,840,57,[153,155,159,161,163,164,166,168,171,174],[54,33,41,154,55,33],"project\u002Fneutral\u002Fdocs",[156,33,33,157,158,33],"18635828","other\u002Fneutral\u002Fdocs","corysama",[58,38,41,160,59,33],"project\u002Fneutral\u002Fidea",[123,31,41,162,124,33],"project\u002Fneutral\u002Fperformance",[127,31,41,160,128,33],[62,41,32,165,63,33],"project\u002Fpositive\u002Fidea",[83,41,33,167,10,38],"maker\u002Fneutral\u002Fnone",[169,41,33,170,63,33],"18636121","other\u002Fneutral\u002Fnone",[100,172,41,173,101,33],4,"project\u002Fneutral\u002Fnone",[175,32,32,176,177,33],"18641037","maker\u002Fpositive\u002Fnone","zygotic12",[],[180,185,190,195,199,203],{"id":181,"name":182,"points":183,"category":184},"18640880","Visalist",565,"productivity",{"id":186,"name":187,"points":188,"category":189},"18666146","ShaderGif",144,"creative",{"id":191,"name":192,"points":193,"category":194},"18626281","Supportify",141,"consumer_social",{"id":196,"name":197,"points":198,"category":194},"18665475","Strength News",137,{"id":200,"name":201,"points":202,"category":184},"18656746","Egeria",113,{"id":204,"name":205,"points":206,"category":207},"18644560","geogee",112,"games",false,"v2",{"id":211,"name":5,"line":6,"ai":208,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":212,"top":17,"kw":213,"maker":10,"domain":214,"tier":18,"attempts":33,"strip":215,"url":-1,"mix":216,"praise":90,"objection":105,"sub":20},18632784,0.21,[23,24,25,26,27],"","3033350035",[31,32,33,33],1794036572524]