Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <blockquote> <p>"In WinDbg I can set breakpoints, but it is difficult for me to imagine at what point to set a breakpoint and at what memory location. Similarly, when I view the static code in IDA Pro, I'm not sure where to even begin to find the function or datastructure that represents the mine field."</p> </blockquote> <p>Exactly!<br><br> Well, you can look for routines like random() that will be called during the construction of the mines table. This <a href="http://rads.stackoverflow.com/amzn/click/0764574817" rel="nofollow noreferrer">book</a> helped me a lot when I was experimenting with reverse engineering. :)</p> <p>In general, good places for setting break points are calls to message boxes, calls to play a sound, timers and other win32 API routines.<br><br> BTW, I am scanning minesweeper right now with <a href="http://www.ollydbg.de/" rel="nofollow noreferrer">OllyDbg</a>. </p> <p><strong>Update:</strong> <a href="https://stackoverflow.com/questions/931257/how-can-i-find-the-data-structure-that-represents-mine-layout-of-minesweeper-in-memory#1160282">nemo</a> reminded me a great tool, <a href="http://en.wikipedia.org/wiki/Cheat_Engine" rel="nofollow noreferrer">Cheat Engine</a> by Eric "Dark Byte" Heijnen. <br><br>Cheat Engine (CE) is a great tool for watching and modifying other processes memory space. Beyond that <em>basic</em> facility, CE has more special features like viewing the disassembled memory of a process and injecting code into other processes.<br><br> (the <em>real</em> value of that project is that you can download the source code -Delphi- and see how those mechanisms were implemented - I did that many years ago :o)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload