Text strings & Code caves?

Cracking/Engineering Discuss, Text strings & Code caves? at Programmers Lounge forum; When you search "all referenced text strings" in ollyDBG, it gives you addresses and commands beside the strings. I can ...


Go Back   Gamerz Needs - For All Your Gaming Needs! > Technology Zone > Programmers Lounge > Cracking/Engineering
Forgot Password? | Sign Up!

Notices

Advertisement
   

Reply
 
Bookmark this Thread Tools Display Modes
  #1  
Old 08-03-2008, 05:14 AM
RobotGymnast's Avatar
Gold Double Sided Axe+
 
Last Online: Yesterday 04:40 PM
Join Date: Oct 2006
Location: As far away from you as possible
Posts: 276
Donation Award 
Thanks: 20
Thanked 42 Times in 23 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Latest Blog:
Rep Power: 5
RobotGymnast is on a distinguished road
Points: 3,500.97
Bank: 0.00
Total Points: 3,500.97
Send a message via MSN to RobotGymnast
Text strings & Code caves?

When you search "all referenced text strings" in ollyDBG, it gives you addresses and commands beside the strings. I can understand how the address could be the address in memory, but what about the command? Is it the command that wrote that string or what?

Also, I want to insert my own code into some games or whatever, but if I code cave a line, even without inserting my own code, it crashes. Why is this? Also, I want to do something like if eax == [some address] then mov [eax],0x3E7 (like set HP to 0x3E7/999), how do I do that?
__________________
Programmer in C++ and webpage stuff.. some C# and Java applets, and some DirectX & OpenGL.

My display pic is from http://www.homestarrunner.com
  #2  
Old 08-03-2008, 10:32 AM
wassssup34579's Avatar
Diamond Hole
 
Last Online: Today 05:32 PM
Join Date: Jan 2007
Location: California
Posts: 755
Blog Entries: 1
Thanks: 144
Thanked 99 Times in 50 Posts
Nominated 6 Times in 3 Posts
TOTW/F/M Award(s): 0
Latest Blog: blahh!!!
Rep Power: 6
wassssup34579 will become famous soon enough
Points: 1,569.10
Bank: 95,353.27
Total Points: 96,922.37
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Send a message via AIM to wassssup34579 Send a message via MSN to wassssup34579
the command is what it would be it the variable type wasnt a string.

your not supposed to "cave a line". code caves are already created when the program was compiled, unless the .CODE section was manually increased.

in ollydbg, your code would be like this:
Code:
0046FFC7     3D F8324500    CMP EAX,asdf.004532F8
0046FFCC     75 06          JNZ SHORT asdf.0046FFD4
0046FFCE     C700 E7030000  MOV DWORD PTR DS:[EAX],3E7
0046FFD4     90             NOP
whereas 004532F8 is the address. also, JNE = JNZ. its automatically changed in ollydbg when you use jne.
  #3  
Old 08-03-2008, 10:39 AM
RobotGymnast's Avatar
Gold Double Sided Axe+
 
Last Online: Yesterday 04:40 PM
Join Date: Oct 2006
Location: As far away from you as possible
Posts: 276
Thanks: 20
Thanked 42 Times in 23 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Latest Blog:
Rep Power: 5
RobotGymnast is on a distinguished road
Points: 3,500.97
Bank: 0.00
Total Points: 3,500.97
Send a message via MSN to RobotGymnast
ohh I get it.

err I just mean say in say Cheat Engine when you want to insert your own code, it allocates memory and jumps to it, then jumps back, but if I do that without changing any code (aside from the automatic jumps it puts in) it crashes.
__________________
Programmer in C++ and webpage stuff.. some C# and Java applets, and some DirectX & OpenGL.

My display pic is from http://www.homestarrunner.com
  #4  
Old 08-03-2008, 11:02 AM
wassssup34579's Avatar
Diamond Hole
 
Last Online: Today 05:32 PM
Join Date: Jan 2007
Location: California
Posts: 755
Blog Entries: 1
Thanks: 144
Thanked 99 Times in 50 Posts
Nominated 6 Times in 3 Posts
TOTW/F/M Award(s): 0
Latest Blog: blahh!!!
Rep Power: 6
wassssup34579 will become famous soon enough
Points: 1,569.10
Bank: 95,353.27
Total Points: 96,922.37
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Send a message via AIM to wassssup34579 Send a message via MSN to wassssup34579
cheat engine doesnt do that. it just overwrites the existing code.
  #5  
Old 08-03-2008, 11:04 AM
RobotGymnast's Avatar
Gold Double Sided Axe+
 
Last Online: Yesterday 04:40 PM
Join Date: Oct 2006
Location: As far away from you as possible
Posts: 276
Thanks: 20
Thanked 42 Times in 23 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Latest Blog:
Rep Power: 5
RobotGymnast is on a distinguished road
Points: 3,500.97
Bank: 0.00
Total Points: 3,500.97
Send a message via MSN to RobotGymnast
no it doesn't. if you do "code injection* it allocates memory, puts the code in there, jumps to it, and jumps back

when you're in the memory window it's like ctrl+A, template>code injection
__________________
Programmer in C++ and webpage stuff.. some C# and Java applets, and some DirectX & OpenGL.

My display pic is from http://www.homestarrunner.com
  #6  
Old 08-03-2008, 11:12 AM
wassssup34579's Avatar
Diamond Hole
 
Last Online: Today 05:32 PM
Join Date: Jan 2007
Location: California
Posts: 755
Blog Entries: 1
Thanks: 144
Thanked 99 Times in 50 Posts
Nominated 6 Times in 3 Posts
TOTW/F/M Award(s): 0
Latest Blog: blahh!!!
Rep Power: 6
wassssup34579 will become famous soon enough
Points: 1,569.10
Bank: 95,353.27
Total Points: 96,922.37
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Send a message via AIM to wassssup34579 Send a message via MSN to wassssup34579
ohh, i thought you meant like to go memory viewer>right click>Assemble.
  #7  
Old 08-03-2008, 11:43 AM
RobotGymnast's Avatar
Gold Double Sided Axe+
 
Last Online: Yesterday 04:40 PM
Join Date: Oct 2006
Location: As far away from you as possible
Posts: 276
Thanks: 20
Thanked 42 Times in 23 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Latest Blog:
Rep Power: 5
RobotGymnast is on a distinguished road
Points: 3,500.97
Bank: 0.00
Total Points: 3,500.97
Send a message via MSN to RobotGymnast
ohh no. I wanna insert my own code sometimes, but it always crashes even if I don't (like if I say inject code, but then don't add any).. any idea why?
__________________
Programmer in C++ and webpage stuff.. some C# and Java applets, and some DirectX & OpenGL.

My display pic is from http://www.homestarrunner.com
  #8  
Old 08-03-2008, 12:38 PM
wassssup34579's Avatar
Diamond Hole
 
Last Online: Today 05:32 PM
Join Date: Jan 2007
Location: California
Posts: 755
Blog Entries: 1
Thanks: 144
Thanked 99 Times in 50 Posts
Nominated 6 Times in 3 Posts
TOTW/F/M Award(s): 0
Latest Blog: blahh!!!
Rep Power: 6
wassssup34579 will become famous soon enough
Points: 1,569.10
Bank: 95,353.27
Total Points: 96,922.37
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 No Message - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 Black - wassssup34579 
Send a message via AIM to wassssup34579 Send a message via MSN to wassssup34579
you also have to make sure that all the registers and the stack is exactly the same when you jump back to the original program. any slight change can lead to that.
  #9  
Old 08-03-2008, 12:45 PM
RobotGymnast's Avatar
Gold Double Sided Axe+
 
Last Online: Yesterday 04:40 PM
Join Date: Oct 2006
Location: As far away from you as possible
Posts: 276
Thanks: 20
Thanked 42 Times in 23 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Latest Blog:
Rep Power: 5
RobotGymnast is on a distinguished road
Points: 3,500.97
Bank: 0.00
Total Points: 3,500.97
Send a message via MSN to RobotGymnast
well I don't change anything! I just jump out, run the instruction, jump back in. The instruction(s) run are the ones where the jump out statement currently is. I don't add any code.

it's like

Code:
00000000:
mov [eax],4523
becomes

Code:
00000000:
jump 12345678
....
12345678:
mov [eax],4523
jump 00000000
no changes, I just click code injection, it creates the jump statements, but then I inject without changing any code, and it just puts the original code there.
__________________
Programmer in C++ and webpage stuff.. some C# and Java applets, and some DirectX & OpenGL.

My display pic is from http://www.homestarrunner.com
  #10  
Old 08-03-2008, 12:53 PM
wassssup34579's Avatar