

In addition to these options, Ghidra also has forward and backward ‘Inst Slice’ options. The only highlighted variable in this case is index, and it includes the initialization of index prior to entering the loop. In the above example, a backward slice was requested for index on line 31. Highlight Backward Slice will highlight variables whose values contributed to the value of the variable under the cursor. Note that on line 31, the usage of surface_area would not be affected by index until after the loop restarts. In the above example, a forward slice was requested for index on line 31. The Highlight Forward Slice action will highlight variables whose values are affected by the value of the variable under the cursor. Slice highlighting is not available in the context menu if the cursor is at a variable declaration or a program point where the address of operator (&) is being used. It is important to note that the slice highlighting options are only available when the cursor is at a variable whose value is being used or set. The easiest way to access slice highlighting within Ghidra is to right-click on a variable in the Decompiler: The Ghidra Decompiler exposes functionality to quickly apply highlighting to visualize these program slices. Slices are formed by following how a particular variable’s value affects or is affected by the values of other variables.
#SLICE IT FORWARD SOFTWARE#
In terms of software reverse engineering, program slicing is a way of abstracting code into smaller groups of statements known as slices.

#SLICE IT FORWARD HOW TO#
Before we can discuss how to use slice highlighting in Ghidra, I’d like to take a moment to introduce the concept of program slicing. In this post, I will be discussing what slice highlighting is and how it helps us visualize relationships between variables to better understand a program. Ghidra is an incredibly powerful tool, but much of this power comes from knowing how to use it effectively. Each post will look at a different feature and show how it helps you save time and be more effective in your reverse engineering workflows. Sometimes shopping is a burden, but this day turned a chore into a gift.In this blog series, I will be putting the spotlight on useful Ghidra features you may have missed. I flashed my phone and in the blink of an eye, I had passed on the holiday giving cheer. “The order for the car behind you is only $…” When I got to the overly cheerful man at the window, he announced, “The car ahead of you paid for your drink!” I took the time to check email and Instagram and such. New Iberia is barely large enough to sustain a Starbucks, but this day there was a long drive-through line. With all this shopping success (not to mention a good phone chat with my sister in the parking lot), I decided to treat myself to a pumpkin cream cold brew at Starbucks. Having saved some money at Walgreens, I splurged at this shop. I hit the jackpot on gifts for my Secret Santa gift exchange at school as well as a Christmas t-shirt for me and do-dads for the grands.

I left Walgreens with a spring in my step that helped motivate me for the next stop.Īfter buying a gift card for the name I chose on the angel tree, I found a new-to-me-boutique, right in my home town. I used my phone and the Walgreens app there was a 60% off sale, so they were also not that expensive. I started out by picking up our Christmas cards at Walgreens. Or at least that’s what I usually say, but Sunday was different. The shopping season is here, and to be honest, shopping’s not my favorite thing to do. Thank you to Two Writing Teachers for creating an amazing community of writers and a safe, welcoming space to write and share.
