[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"project-39665017":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":42,"post_text":45,"what":46,"said":62,"maker_in_thread":139,"shape":141,"grid":145,"attempts":219,"same_week":220,"maker_shows":39,"maker_hidden":249,"reader_version":250,"card":251},"39665017","RE3","Reversed Engineered GTA3 Source Code","title","Show HN: RE3 – Reversed Engineered GTA3 Source Code","https:\u002F\u002Fgithub.com\u002Fhalpz\u002Fre3","github.com","swatson741",1710132821,2024,129,29,657,3515,19,"notable","games","game source port","other",[24,25,26,27,28],"gta3","reverse engineering","decompilation","game source code","c++","curious",0.065,{"positive":32,"neutral":33,"mixed":34,"critical":35},4,11,0,3,18,{"idea":38,"execution":40,"docs":41},{"positive":39,"critical":35},2,{"positive":39,"critical":34},{"positive":34,"critical":34},[43,34,44,34,34,34,34,34,34,35,35,35,35,34,34,34,44,43,35,35,35,35,34,44,35,35,35,43,44],1,5,null,{"problem":45,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":47,"openness":60,"stage":61,"team_size":61},[48],{"value":49,"source":50,"evidence":51},"C++","commenter",[52,56],{"id":53,"by":54,"text":55},"39665502","Hamuko",">\"GTA 3 and Vice City were originally written in C++,\" aap explains. \"The compiled executables that are shipped are in machine code. So the general task is to go from machine…",{"id":57,"by":58,"text":59},"39665339","supriyo-biswas","The history[1] section in the README file contains a description of how they did it. In summary, it seems they debugged GTA3 and wrote their stub implementations until the game…","open_source","unknown",{"praise":63,"objections":83,"requests":109,"questions":110,"alternatives":130},[64,75],{"value":65,"source":50,"evidence":66},"Impressive effort, clean and commented code",[67,71],{"id":68,"by":69,"text":70},"39665909","ThinkBeat","This is a truly monumental creation. THe level of effort it must have taken is enormous. I peeked at the source code expecting what asm - > C reverse engineering tools usually…",{"id":72,"by":73,"text":74},"39665756","colonwqbang","\"to study or analyze (a device, as a microchip for computers) in order to learn details of design, construction, and operation, perhaps to produce a copy or an improved version\"…",{"value":76,"source":50,"evidence":77},"Useful for studying GTA3 internals",[78,82],{"id":79,"by":80,"text":81},"39665258","tety","Can you share some of the tools and methods you used to reverse such a large C++ codebase into readable code?",{"id":57,"by":58,"text":59},[84,99],{"value":85,"source":50,"evidence":86},"Seen as a copy of Rockstar's code rather than true reverse engineering",[87,91,95],{"id":88,"by":89,"text":90},"39665737","webprofusion","\"Reverse Engineered\" doesn't mean what you think it means. This is just looks like a copy of the actual code.",{"id":92,"by":93,"text":94},"39665604","landgenoot","Isn't this just a fork of the DCMA'ed repository? The links in the readme still point to https:\u002F\u002Fgithub.com\u002FGTAmodding\u002Fre3",{"id":96,"by":97,"text":98},"39666221","dawidpotocki","I wouldn't even call it a fork, it's just a mirror with a commit that replaces few links in a README.",{"value":100,"source":50,"evidence":101},"Repo was DMCA'd and mirrored; links point to original repo",[102,103,106],{"id":92,"by":93,"text":94},{"id":104,"by":54,"text":105},"39665262","RE3, meaning the project that was shut down because it was just straight up decompiled from Rockstar's binaries?",{"id":107,"by":54,"text":108},"39665598","This repository is a mirror by a completely unrelated third party. The original repo was https:\u002F\u002Fgithub.com\u002FGTAmodding\u002Fre3.",[],[111,119],{"value":112,"source":50,"evidence":113},"How were the tools and methods used to reverse the code",[114,115],{"id":79,"by":80,"text":81},{"id":116,"by":117,"text":118},"39665435","lstodd","Well you can look into how DFHack for Dwarf Fortress was redone. It involved a C++ decompiler written in clisp. Since then Ghidra was released, so the process is somewhat…",{"value":120,"source":50,"evidence":121},"How the source comments were produced",[122,126],{"id":123,"by":124,"text":125},"39665459","whatever1","Ok naive question, but how did they reverse engineer the source code comments?",{"id":127,"by":128,"text":129},"39665476","4gotunameagain","They didn't, they added them in while reverse engineering.",[131,135],{"value":132,"source":50,"evidence":133},"Ghidra",[134],{"id":116,"by":117,"text":118},{"value":136,"source":50,"evidence":137},"DFHack",[138],{"id":116,"by":117,"text":118},{"comments":34,"answered":34,"key":140},[],{"commenters":142,"max_depth":32,"maker_replies":34,"first_comment_mins":143,"lifespan_hours":144},25,66,9,[146,148,150,154,158,161,164,167,170,172,174,176,178,179,183,186,189,190,191,195,198,199,203,206,211,213,214,217,218],[92,34,43,147,93,34],"project\u002Fcritical\u002Fidea",[96,34,34,149,97,34],"commenter\u002Fcritical\u002Fnone",[151,43,44,152,153,34],"39665276","project\u002Fpositive\u002Fexecution","jumploops",[155,43,34,156,157,34],"39665415","other\u002Fneutral\u002Fnone","plaguna",[159,43,34,156,160,34],"39665784","Y_Y",[162,43,34,156,163,34],"39665810","yieldcrv",[165,43,34,156,166,34],"39665954","3abiton",[168,39,34,156,169,34],"39665570","lyu07282",[171,39,34,156,160,34],"39666418",[79,35,35,173,80,34],"maker\u002Fneutral\u002Fexecution",[57,35,35,175,58,34],"project\u002Fneutral\u002Fdocs",[116,35,35,177,117,34],"project\u002Fneutral\u002Fexecution",[53,35,35,177,54,34],[180,35,34,181,182,34],"39665827","other\u002Fneutral\u002Fidea","euazOn",[184,35,34,181,185,34],"39665968","esrauch",[187,35,34,181,188,34],"39666027","Eisenstein",[68,32,44,152,69,34],[104,44,43,147,54,34],[192,44,35,193,194,34],"39665396","project\u002Fneutral\u002Fnone","Pannoniae",[196,44,35,193,197,34],"39665566","crummy",[107,44,35,193,54,34],[200,201,35,193,202,34],"39665328",6,"iknowstuff",[204,201,34,205,163,34],"39665813","commenter\u002Fneutral\u002Fnone",[207,208,44,209,210,34],"39668388",7,"project\u002Fpositive\u002Fidea","ouraf",[123,212,35,177,124,34],8,[127,212,35,177,128,34],[215,212,35,177,216,34],"39665494","sour-taste",[88,144,43,147,89,34],[72,144,44,209,73,34],[],[221,226,231,235,240,244],{"id":222,"name":223,"points":224,"category":225},"39675807","Trangram",738,"creative",{"id":227,"name":228,"points":229,"category":230},"39643136","Hatchet",578,"dev_tools",{"id":232,"name":233,"points":234,"category":230},"39692801","Flox 1.0",382,{"id":236,"name":237,"points":238,"category":239},"39643833","Wallstreetlocal",299,"finance_crypto",{"id":241,"name":242,"points":243,"category":230},"39628285","Flyde",298,{"id":245,"name":246,"points":247,"category":248},"39666865","Teable",279,"data",false,"v2",{"id":252,"name":5,"line":6,"ai":249,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":253,"top":18,"kw":254,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":255,"url":9,"mix":256,"praise":65,"objection":85,"sub":21},39665017,0.07,[24,25,26,27,28],"10500000033330005133330533315",[32,33,34,35],1794036651073]