[{"data":1,"prerenderedAt":269},["ShallowReactive",2],{"project-11786984":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":38,"post_text":39,"what":40,"said":55,"maker_in_thread":138,"shape":148,"grid":153,"attempts":230,"same_week":231,"maker_shows":36,"maker_hidden":261,"reader_version":262,"card":263},"11786984","Decompiler","Assembly to C code Decompiler","title","Show HN: Assembly to C code Decompiler","http:\u002F\u002Fwww.decompiler.org\u002F","decompiler.org","zandorg",1464365837,2016,98,34,384,2264,17,"notable","dev_tools","decompiler","desktop_app",[21,24,25,26],"assembly to c","6502 disassembler","reverse engineering","curious",-0.167,{"positive":30,"neutral":31,"mixed":30,"critical":32},0,12,3,15,{"idea":35,"execution":37},{"positive":30,"critical":36},1,{"positive":30,"critical":36},[32,30,30,30,32,36,36,32,30,32,30,30,30,30,30,30,30,36,30,32,30,32,30,32,32,30,32,32,32,30,32,30,30,30],null,{"problem":41,"audience":39,"pricing":39,"motivation":39,"time_to_build":39,"stack":48,"openness":53,"stage":54,"team_size":53},{"value":42,"source":43,"evidence":44},"Turns assembly\u002Fmachine code into readable C code","maker",[45],{"id":46,"by":11,"text":47},"11787229","I don't like to reply to my own posts, but here goes. It's closed source just at the moment. HexRays is closed too. It can run on Linux or MacOSX as CLisp runs on those…",[49],{"value":50,"source":43,"evidence":51},"Common Lisp",[52],{"id":46,"by":11,"text":47},"unknown","beta",{"praise":56,"objections":69,"requests":92,"questions":114,"alternatives":126},[57],{"value":58,"source":59,"evidence":60},"Interesting project and useful feedback welcomed","commenter",[61,65],{"id":62,"by":63,"text":64},"11789170","milcron","Oh, this is written in Common Lisp? Very interesting!",{"id":66,"by":67,"text":68},"11789195","dang","> I don't like to reply to my own posts Please do! That kind of discussion a big part of HN. (Since this is your own work, we added \"Show HN\" to the title.)",[70,77,81],{"value":71,"source":59,"evidence":72},"Closed source and Windows only at launch",[73],{"id":74,"by":75,"text":76},"11787154","zxv","Closed source, windows only, diss-assmebles 6502 only, and expires next month. No thanks.",{"value":78,"source":59,"evidence":79},"Demo expires soon",[80],{"id":74,"by":75,"text":76},{"value":82,"source":59,"evidence":83},"Decompiled C is hard to read with optimization",[84,88],{"id":85,"by":86,"text":87},"11787667","bluetomcat","And with any non-trivial amount of optimization, it would lead to horridly looking HLL code. Compilation is a very \"lossy\" process when optimizations are turned on.",{"id":89,"by":90,"text":91},"11790389","colejohnson66","Decompilers don't \"deoptimize\" programs. Compilation is a very lossy process (reused variables, moving variables to other registers, etc.). The best you'll get is some C code…",[93,104],{"value":94,"source":59,"evidence":95},"Support for SNES 65C816 and other CPUs",[96,100],{"id":97,"by":98,"text":99},"11787707","mike986","can yours be used to reverse engineering SNES games? Feed it the rom and have it split out c code?",{"id":101,"by":102,"text":103},"11787887","khedoros","How close is the SNES 65C816(-ish) code to NES 6502(-ish) code supported in the demo version of the program? I understand that they're from the same family, but I'd expect some…",{"value":105,"source":59,"evidence":106},"Handling of self-modifying code and DOS interrupts",[107,111],{"id":108,"by":109,"text":110},"11791083","ratboy666","How do you deal with self-modifying code? My old FORTRAN compiler generated that 8080 target",{"id":112,"by":102,"text":113},"11787864","I have a few technical questions, as well as a few about your intentions with the software. How does it handle interrupt calls to the OS? It's not an issue for Windows (because…",[115,122],{"value":116,"source":59,"evidence":117},"How does it compare to Hex-Rays?",[118],{"id":119,"by":120,"text":121},"11787117","umanwizard","Anyone know how this compares to the industry-standard Hex-Rays Decompiler? (Sold as an add-on to IDA Pro)",{"value":123,"source":59,"evidence":124},"How does it handle real mode and overlays?",[125],{"id":112,"by":102,"text":113},[127,131],{"value":128,"source":59,"evidence":129},"Hex-Rays Decompiler (IDA Pro add-on)",[130],{"id":119,"by":120,"text":121},{"value":132,"source":59,"evidence":133},"Snowman decompiler",[134],{"id":135,"by":136,"text":137},"11787237","emcq","Just this week I was exploring C decompilers and stumbled upon the open source Snowman[0], which worked well for my purposes and can run in a self contained mode with a…",{"comments":139,"answered":32,"key":140},4,[141,142,145],{"id":46,"text":47},{"id":143,"text":144},"11787819","Absolutely, although some 6502 code is more friendly than others. SNES code can be very optimised compared to C64 code. If you make sure the binary starts at address 0, and put…",{"id":146,"text":147},"11788380","I haven't done any work on 65C816. Just 6502 so far. It should be possible to make a 'CPU module' for the decompiler which takes into account the features of the 65C816 (such as…",{"commenters":149,"max_depth":150,"maker_replies":139,"first_comment_mins":151,"lifespan_hours":152},23,7,18,24,[154,156,160,163,166,169,173,175,177,180,182,185,187,190,192,194,197,200,202,204,205,206,207,208,210,211,213,214,215,218,222,224,227,229],[135,30,32,155,136,30],"project\u002Fneutral\u002Fnone",[157,30,30,158,159,30],"11788149","other\u002Fneutral\u002Fnone","ultramancool",[161,36,30,158,162,30],"11787220","openasocket",[164,36,30,158,165,30],"11787299","cosinetau",[167,36,32,168,86,30],"11787487","project\u002Fneutral\u002Fidea",[170,36,36,171,172,30],"11787527","project\u002Fcritical\u002Fidea","zzzcpan",[85,36,36,174,86,30],"project\u002Fcritical\u002Fexecution",[176,36,32,168,162,30],"11787695",[178,36,30,158,179,30],"11787553","T-R",[119,181,32,155,120,30],2,[183,181,30,158,184,30],"11787853","CraigJPerry",[186,181,30,158,102,30],"11787954",[188,181,30,158,189,30],"11792099","cynix",[191,181,30,158,159,30],"11788128",[193,181,30,158,120,30],"11788337",[195,181,30,158,196,30],"11788475","slrz",[198,181,30,158,199,30],"11788912","ryanlol",[74,32,36,201,75,30],"project\u002Fcritical\u002Fnone",[46,32,30,203,11,36],"maker\u002Fneutral\u002Fnone",[97,32,32,155,98,30],[143,32,30,203,11,36],[101,32,32,155,102,30],[146,32,30,203,11,36],[108,32,32,209,109,30],"project\u002Fneutral\u002Fexecution",[112,32,32,203,102,30],[212,32,30,203,11,36],"11788003",[62,32,32,155,63,30],[66,32,32,203,67,30],[216,139,32,209,217,30],"11787920","Frondo",[219,139,30,220,221,30],"11788058","commenter\u002Fneutral\u002Fnone","tptacek",[223,139,32,155,102,30],"11788084",[225,139,30,220,226,30],"11790085","kw71",[228,139,30,220,102,30],"11790527",[89,139,30,220,90,30],[],[232,237,242,247,252,256],{"id":233,"name":234,"points":235,"category":236},"11778077","Qbserve",429,"productivity",{"id":238,"name":239,"points":240,"category":241},"11777128","Dead Yet?",164,"web_saas",{"id":243,"name":244,"points":245,"category":246},"11798045","Hydra",161,"security_privacy",{"id":248,"name":249,"points":250,"category":251},"11781295","Chatbots made easy",131,"ai",{"id":253,"name":254,"points":255,"category":246},"11808332","Arc",72,{"id":257,"name":258,"points":259,"category":260},"11781891","webblocks",66,"learning_science",false,"v2",{"id":264,"name":5,"line":6,"ai":261,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":265,"top":18,"kw":266,"maker":11,"domain":10,"tier":19,"attempts":30,"strip":267,"url":9,"mix":268,"praise":58,"objection":71,"sub":21},11786984,-0.17,[21,24,25,26],"3000311303000000010303033033303000",[30,31,30,32],1794036544670]