Keystone: the last missing framework of Reverse Engineering

Video in TIB AV-Portal: Keystone: the last missing framework of Reverse Engineering

Formal Metadata

Keystone: the last missing framework of Reverse Engineering
Title of Series
Part Number
Number of Parts
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Assembler framework is a final missing piece of the reverse engineering (RE) community. This talk introduces a new framework named Keystone, which fills this gap and offers unrivalled features: Multi-architecture: Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86 (16/32/64 bits) Multi-platform with native compiled for Windows, Linux, Mac OS X, *BSD, Solars, etc Clean/simple/lightweight/intuitive architecture-neutral API. Implemented in C/C++ languages, with bindings for Python available. Thread-safe by design. Open source. We are going to present the motivation, design & implementation of Keystone. The focus will be on technical decisions we made, and the challenges we had to overcome to realise the ideas behind our engine. We expect Keystone will turn a new page and open ways for many next generation RE tools in the future. Some cool tools built on top of Keystone will be shown to demonstrate its power.
Computer animation Ontology Multiplication sign Binary code Set (mathematics) Software framework Condition number
Injektivität Assembly language Multiplication sign Projective plane Virtual machine Bit Category of being Befehlsprozessor Computer animation Term (mathematics) Different (Kate Ryan album) Order (biology) Charge carrier output Amenable group Partition (number theory)
Dynamical system Web crawler Group action View (database) Multiplication sign 1 (number) Water vapor Mereology Disk read-and-write head Semiconductor memory Cuboid Software framework Damping Extension (kinesiology) Descriptive statistics Position operator Physical system Injektivität Area Binary code Keyboard shortcut Coordinate system Bit Lattice (order) Flow separation Degree (graph theory) Category of being Data management Process (computing) Befehlsprozessor Phase transition output Species Freeware Spacetime Slide rule Functional (mathematics) Game controller Service (economics) Model-driven engineering Open source Computer file Real number Connectivity (graph theory) Similarity (geometry) Event horizon Rule of inference Theory Field (computer science) Frequency Operator (mathematics) Traffic reporting Form (programming) Computer architecture Default (computer science) Multiplication Standard deviation Focus (optics) Assembly language Expert system Line (geometry) Cartesian coordinate system Limit (category theory) System call Compiler Word Maize Computer animation Personal digital assistant Universe (mathematics) Statement (computer science) Einbettung <Mathematik> Object (grammar) Table (information) Window Library (computing) Disassembler
State observer Machine code Connectivity (graph theory) Multiplication sign Core dump output Software testing Quicksort System call Social class Cognition
Logical constant Ocean current Slide rule Dataflow Group action Context awareness Dynamical system Machine code Link (knot theory) View (database) Connectivity (graph theory) Multiplication sign 1 (number) Water vapor Branch (computer science) Function (mathematics) Distance Mereology Rule of inference Logic synthesis Number Propagator Selectivity (electronic) Arrow of time Software framework Position operator Computer architecture Injektivität User interface Software developer Surface Expression Expert system Shared memory Line (geometry) System call Relative risk Category of being Subject indexing Uniform resource locator Sparse matrix Computer animation Statement (computer science) output Arithmetic progression Window Library (computing)
Revision control Goodness of fit Functional (mathematics) Computer animation View (database) Operator (mathematics) Traffic reporting
Point (geometry) Computer animation Demo (music) Right angle
Context awareness Statistics INTEGRAL Cellular automaton Binary code Similarity (geometry) Heat transfer Sequence Force Befehlsprozessor Computer animation Charge carrier Cuboid Pressure
Computer animation Shared memory Similarity (geometry) Distance Software bug Physical system
Data management Functional (mathematics) Lecture/Conference Order (biology) Keyboard shortcut Set (mathematics) Complete metric space Disassembler
Goodness of fit Computer animation Multiplication sign
the talk the bed and in the end there's a
uh in the uh and and
will that have the next time this 1 is on the eastern similar framework a good book is a work on them I don't isn't about keystone of last missing framework for opposing the actually that but that is thus wall catches your attention so don't know picture must into that and a keystone was already usually is really is on those shows goal on binary but and the conditions are a set of keys stolen on edge and ontology a is a from for the Russia the
OK so my names are really going on as some Mumbai Growling and my main who chose to focus on property exist on virtual machine the users and there was also an order and stuff and I happen to be the founder of few most constant is a similar in the economy at the end kissed honest and so that's a patient in you wouldn't use any of any of those from 1 the well thank you OK so and I just thought I'd in introduce a bit on the the by growled similar from Wilson's a issues and like size introduce the motivation behind keystone projects and how orchestra was designed and implemented the and if you do most have enough time the OK so although the those
imposed of Abbas on some fundamental of partitions 1 of them is is this and the 2nd 1 is a city right the so what is what is missing here so you look at the picture going to see that this is a lot different as the input as a binary the term Zo Egyptian in assembly give it the same amenities to everything around the of injection and carriers how CPU is of the so the question here is where is the binary coming for and so essentially that mostly that's the semantic comes from the some nutrition and you need to come by that that amended so the missing this is the is this picture is a decimal so you can see that the reader with an assembler you can come by assembly ejection it might a binary and you can fit binary the is this a similar or superior to the minute so
the as shown below something her appreciable it combines and simulation Egyptian for you and the tone that including the subsequent of bias 1st of all on axis this it come by yes the the new 1 by which is 40 and the you can understand of this by faulty years something that increases the extra stuff by 1 and here we focus on framework not just a similar to suffer was something that the the library which you can't even better your toes and view your oppression auto observe from so a similar has been here has some where they put an operation and the most important 1 is a dynamic dynamic motion coordination so you can come by on time because of this rejection and can exert when and values of you there is a similar fall something like binary riot managers to the so on that are similar engine function In the same way inside so basically you keep the a similar 1 of the rejection it in the past so important Daw many statements and for each assignment when doesn't blow in I handed differently it can be understand as label on the rules dictate and so on for the rejection of a similar thing as it into a minimal and operands and after that it meets Machine call accordingly do the 2 examples from the last phase and here you need but to understand the the the see you know Egyptian to but was assigned to indeed motion copal property so now what you do you want to view 1 similar from scratch so the just as in the usual of walks in the door have understanding on to you and coding you need to understand on the injection in in in the literature sentences you and lastly you need to keep up with the bit from the city event because the severe under the frequently introduced maybe edition the and so it's not easy work so what is it would have a similar framework the you so here's my definition for would have a similar work 1st of this must mutual framework which means it allow you to them but the of into real to resent having to walk on them extended possessed is to support multiple architectures to support axis sick and entity fall reuse of species but but also on the most important and popular beaches is supreme undergrad problems which minutes will call omega always Windows Linux Mark Van Gogh II words and so on so we have at the issue support that this projection on on those if you and finally we should have bindings because the people on do you those using invited height an egregious slide by Don will be role just a little the unfortunately so far even in trendy try this again says nothing Abdul my since fuel frameworks light yes no which is 40 support executed and nothing else it's no longer addicted this something former Indelman in in Intelsat which has a service's theories Support ACS that is again nothing else it comes when you tablet set actually miss many and its kosher so you can effects but inside you can understand what happened inside and and finally there's no framework for all the as the but then at the just and after default use of specie spot had nothing fossils and sit so is that all proposed framework the and shock on for years and Floyd the and because there's no free the need to the real cost by excuse executing 1 expert and processed voted 1 NASA mology new RESTful you and the way they they do is that they fit the assembly court OK is visor as an according to 1 5 and if you a find 2 was a I spent post that event after that they get so subsequent and again the need to call a gold goal object court do look fine and fast n lastly the need to somewhat would need to need the box there the 1st of the year 5 to red hours of injections insight so this is a this is all a lot of water and is ugly and it's if efficient the reason is that you need to call on exponent process so because of memory a of 1 is that and is not always look for sure what if we want to do a similar form cytokine is not awarded corn back those is a spider follows at your talk Paul process is there is a space that nice into and because you need the cornerstone of process heavily than control under extendable shows held up what people know what happened he said and cost therefore supports report on source all most line as an of universe Judas doesn't warfare on Windows just have to combine to be that only those so I wanna would this is supplement to put up the chose Monday
but perform always a bit that and independent so can you get it using a the system work so because there is in that on it by this sit down directed for somebody to do this for me so it can be flavor so because I have so much fun at a constant and you got I decided to step up and do that again so that's how you call how a key field was born so as that the rule contained focused on in a much and ties to committee of a lot of people who contributed and is a bit of a court to some me that as the at the end of April as of time had ordered by Python by the by the and at the end about my head is the 1st for them to the public and me that that's the contributed a lot they help to you few more items so we have but for knows yes 4 will be full for us and Haskell recently so the period have CIKM items for keystone OK so expert but is there ideas the height is going how is designed and implemented the the OK so we on something not about teachers Monday from of it the and the course in C or C + + but API should be in POC support multiple embeddings of the issue is that the usual you want to do this from scratch because it's too many of the just too many instruction in del has led 1400 rejection there's a lot this has very limited creatures because as position as a portion of a and I and is for fun finally so my ideas that I do not want to spend a lot of problems is who desire to be here and to maintain it I want to have on features in months not years because Iran everything want if thing from shattered that we alive so is always tool stand on the shoulders as as a innocent face and after that it is a show scope to mediate so people can help to around concha during the winter intended so the idea that keystone on LVM the the area is on operations Poseican compiler the here which communities and very active the the and is backed by many the companies but severe vendors the MDE up on locally down IBM as you like an idiot 1 common so every and support on capitalist on the input and and answer is Monday performance on on on campus from on catalyst 1st what so here's a the all free water remark which focus on the company so the most it but the part inside your friends of something corn motion court 4 and see which of of an inside the yellow box here and something that is a call to event which hitting as in the ordinary compiler assembler disassembler deeper little just couple of things be well and see and the sentences is the pick water description In Table gender such described on the motion instruction and here to in every empty ones and to standard of the group to try for all every forms over the turbojet from so that is an I choose LVM to view of keystone because every m is as and free will social support the inline assembly for competitors which means it already has a similar in size M. C. component but keep in mind that M sees only the you and usable on file and nothing else is close close these II even that only the not focused and process before it's induced and MC is very highly active maintain Abbott by committee by all those big big city vendors every every score debut in C + + so it's easy to to be keystone on of that and keystone as us focus on those on those has uh and those architectures has a similar and it also support it up they just far so the evidence of using every and there will be stories that the goal has very high quality done by really or profession most and this is a similar in size every a is actively maintained by on the Cervantes laxity sick a similar is maybe inviting down was better than that mn answer to what you and maintain that admin apple I said on Monday but want this meeting badge degrees vendor what we consider CPU systems even been by 4 so that the event a assistance the obviously is back written by committee that's every active on that so new injection is frequently it and but fixed as lots of a fixed really because of quickly so because the view keystone not of the box can be easily but it was all people to to every emulsion so we can you can body but at the the so the thing is the do off because you can just folk the is not
because it is a lot of a lot of books so the 1st Chinese to be wrote the stories that the it's and she couldn't of every immersive not a similar but the improvement maintaining the side the it has this is blow it test we call it has instruction we basically go inside as a ghost fusion next class but at the so what I did is that I keep only as similar caught observer of MC and moved a fee for everything else as noted that and I the know some companies they tried to keep that in the back so the core make those and and the assembly can impact because I want to synchronized we have Wednesday update those components sort of a child to keep them and just as asleep in this approach 1 and this on the input of this isn't I keep on the go is see past past but I did not realize and to see different for customer so in Castile decisively I read 0 on the C + + code Dorsey see and it took 1 out of can but this time I tried to keep it in the past so did not have to spend time to tourism and it's also easier to maintain an updated when FEM yeah so I had to decide to make the cup for MC because Everson has many different components so at like but that sort that out only what I need so that which is why it was at that because got to them you at my it dawned on inside you got too much you will end up choosing some call or not of go inside keystone in that make it fit happens larger firms a future so it took a lot of time to what it shows go every time and I think finally you have autumn 1 desire for kids like the the got thus enough and payment or just to go and see so is a careful but you
still had actually and so in the future so Egyptian prejudice and to call him it does comic during it's a cold and finally this summer's something Ireland go to lean on so Apple from cognitive and Canada has a couple of the 2nd
Chinese Dubuque as keystone is that deviance come by is binary 201 born libraries so he has separate libraries for but the components every 4 parts so I be faulty Borgen and so on but what is that we need only a single library that include everything in sight so what I did is I need to modify the link is set up where we have those in at a library so the leap capstone and also ordered by the fall dynamic sharing of constant euro for Windows the Augusta that a false that the guy really focused on only for Windows selection is is in goes is that by M sees only for linking modify good that you want so the of the location article n to go straight that for the next phrase In November for go so 1st of all to come by in as that age should do it does something like at F 0 floor to define something unknown here we either after that because does it doesn't really know what to put their he doesn't know where they have 1 is so what is the the goal of the next expression of that but there is no need to know because because want to come back to get the final output so what i that has uh I make some for I think something so I can do they can be both emission she was so we vow 1 is not of it was missing the about transitions missing and the of the inputs is not is not correct selection is is every m is that is a similar inside C is not aware community branch progress forcible on on em you come by the US and so again as needed that something is that the of every the but actually see some strong because since the injection the best on where you are why you so position this actress to depend on the data and so on the distance between your place in the packet so what I did to fix it is installed have the so I d I create ks rule heavier allowed to specify the rest of the Egyptian and achieves a call for to and so he did the rest for every statement and a fire and all really the pension injection in on architectures and fix all of them so that could this property of according to the current that at rest the another Chinese Dubuque Estonia's that every n is the key that it cannot handle and so the input so 1st of all 0 that injection is a something wrong because the last 1 should be some constant some that number so it if it was erected injection to well then it terrorism at this not only did it ended exactly so this is a huge problem because the stories will should not exist so great that it cannot handle on those of the input so she's is usually is a lot of water and you to find fix all index exercise of an appropriate propagate arrows back to the huddle before they get so so exist can be happening interfaces in flow can be in part so can be the column at the you can be If onions only go find 1st surfaces is not developer a Sears every and does a support 9 every obscene that's it only support and ramps that's but he ones as a synthesis line usmle must emotions and so on every and has no binding at all the and that would so that she could those are vis-à-vis we are dependent the on it that the court relative risk risk bring so give opposition for River is a lot of water so what I did is that I need to extend it need to extend every I'm an expert is it but so so we could support on news that I view by biting mentioned before the be the phase and after that I pretty they help to you more ideas for the chief from those years for a beer origin has the any a small 1 as you need to keep sinking summarize you every friends have it but an update it with about so distant then at all until sparse which and on to the end of input gist the so you can say that because stories view on a very it is the same thing but actually it's not that the so I would say that every amount of keystone this view on every VME it can do a lot more Sony's is an independent from eschew framework not lie via mission which which moral to and from work is a of current goal of position so keystone can property and court of the known branch the stories much smaller size and much smaller in Maori culture slide 10 times smaller than every and because keystone people everything that it doesn't it stresses this profitable it's about some but and committed Egyptian for i it and as amended by just OK so I have a few slides for to introduce how to apply the efficient inside size of keystone which through the glottis lies his fish the should Bush upon in the by don't he defines quarter you set up the engine this allows for x the thing but it should be after that you comprise according to their pairs and coding and how many Egyptian solution for so here's into the so that size is a quote from
on the right side the grounds of course the as
examples the true rejection has to buy
OK and if you do most
of its surrealist you have written towns well organizers on good among so of the views of the but on them body back using keystone so the idea that money back the has been things but here it is this 1 function but allow you to use your so we you you can describes a height of 1 0 version of this report and you can't chance that but it's it only the body and put it back chance called operation into a lot of what in and is keystone to due to support for you and because disposable visible old they just show court you don't support that a pictures that the pistols
upon so is demo no
OK so the all in by the both point and then you specify that he won the support right for I am then the you come by the shovel should watch a court and if you done and support if you do the same thing but you initialise you're not I'm sure but the oxidation you can buy the same check what again and you get by the
access chocolate so this is about history support 1 character just so the searchable can be combined to the what I want yeah under the
fund transfer Somoza on publishers emitted there this is my favorite 1 because it is my all of my from most become by capstone in you call on then keystone so what it looks what it does is because is the pressure you enter the has to be chosen in the in the box and you press 1 button here you can count on the glottal even every sequence them what and at every step you get back to the CPU context regret like the rewarding you see how the Egyptians so how it looks good here the the and those are simply in in through that box similar wind come by cells assembly using keystone and it had like as a binary by and it fit binary tools of Yukon and as a matter can planning those binary and carrier you how's the use of at every step so it's very nice to to add these will don't fall integration so you know how ejection from own so fuels and I could see that because induced the keystone and unicorn so should on all the performance so this 1 is by you run on a statistic but you can still immunity and Egyptian absentee farmers and so on so what's next now on this about natural this morning if so Sabrido apart around there is some attraction toward the bottom and come
by the hidden bugs and zip entrepreneur
goes the keystone now can you could see that from the workshop distance so close it all the different things go edition grow budget and so so conclusion this story is that next dition a similar for what support on so if you wanted the farms the ship on a clean API easy to use is to be at once puppet shows and Future of this is accounted because is used on every so whenever November it's something of this something body but keystone support and you say that real shares the committed to system was again room to make it the best a similar engine for committee the OK so here
the full picture of the final picture so here comes to as uh assembler disassembler that you call and return distant assembly and orders of abortions mn underperform might get the chosen but many bindings n zeta function independently but as a company managers of the to make a complete set of remorse so recorded in the 1st using chosen yeah OK so I've been bunch of us to goes
to Click on but uh officially to have a have refused to collect so it anybody here once because come to see the estimate of
OK good time for questions the