suggestion for debugger

Find a Bug? Have a Problem? Like to Suggest a Feature? Do it Here

Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo

suggestion for debugger

Postby high6 » Mon Oct 09, 2006 4:10 am

well when u get the debugger working here is my suggestion.

in olly u can set a breakpoint and c everything that happens inside a function. but its annoying when u got really long functions to find a difference when 2 different things are done by the same function. so i was thinking that u should make it so that u can compare u 2 function breaks. so its much easyer to find the difference. like it shows the difference between 2 calls of the function.
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby L. Spiro » Mon Oct 09, 2006 11:11 am

That feature was actually already in the old version, as you will notice the “Logging” features in the Disassembler window.

These mysterious options were eventually abandoned and the logger window hidden away (though fully functional, and it sits under the main Disassembler window but with a 0 height so as to not be seen/used).


This feature is definitely planned to actually be shown/usable in the next real release, and will add power unknown to IDA and OllyDbg.



With logging, you can set a starting point and an ending point.
The code between those two points is logged entirely and you can then go over the log to see what happened.

This is step 1 and it allows you to debug games that can not be minimized.
The log happens in real-time in the background without stopping the game, so you can play, make a log, then stop the game manually and review the log.

Logs are displayed graphically and allow you to click on any instruction, view all registers at that time, and step forward and backwards.



Step 2 allows you to make multiple logs and compare them to see what was different between the logs.
This is the feature you requested.

This mainly helps find code otherwise impossible to locate.
For example, in Half-Life 2 I can log a single frame of the game once.
Then I can start a new log, but this time set the log to begin after 3 seconds (there are multiple ways to begin logs).
After telling the log to begin in 3 seconds, I go back to my game, hold down the trigger, and sit until the log begins.
When the log begins, the trigger will be held down this time.

That means when I compare the first log to the second log, the code that will be different is the code related to holding the trigger/firing my weapon.


This would then allow me to inject code to fire my weapon for me, and by now you can see the beginnings of a full AI bot that can play my entire game for me.
Using scripts with “extern” functions would allow me to call the fire-weapon function easily (once I finish implementing external functions), and I could make full bot to play my entire game for me, aiming and dodging very well, all using scripts.



Look for it in the next full release.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan


Return to Bugs/Problems/Suggestions

Who is online

Users browsing this forum: No registered users and 0 guests