View previous topic :: View next topic |
Author |
Message |
vasili111 Newbie cheater
Reputation: 0
Joined: 12 Jan 2016 Posts: 12
|
Posted: Tue Jan 12, 2016 4:48 am Post subject: Problem with a finding pointer of a string. |
|
|
What I need to do: I need to get current time pointer of movie in VLC player. I need it for automating purposes later with AutoHotkey.
What I did:
0. I watched nearly all video tutorials about pointer finding on first search result page on youtube and I understand concept of pointers.
1. I am searching for current time as a string value. Foe example, "1:00".
2. I found several addresses that are working good (showing correct time after time changes).
3. I am searching for address (as hex) that writes or accesses that address to find pointer to time string value. But sometimes CE does not founds any address or founds address that correctly displays time but after some time (I am not doing anything) that address is not displaying time anymore.
Question: What I am doing wrong? Maybe there are some tips and tricks for searching pointer for string value that I don't know? Can anyone please help me to find pointer of current time in VLC player and explain how exactly he found it?
I think with reading memory and after using that with AutoHotkey can help to automate many things that otherwise are hard to automate.
|
|
Back to top |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Tue Jan 12, 2016 4:53 am Post subject: |
|
|
If you have found the correct address, just use CE's pointerscanner (right click on the found string and choose "pointerscan for this address").
Do this some times, until you can be sure that all the pointers left do always point to the time string.
|
|
Back to top |
|
 |
pkedpker Master Cheater
Reputation: 1
Joined: 11 Oct 2006 Posts: 412
|
Posted: Tue Jan 12, 2016 4:54 am Post subject: |
|
|
try the
Memory View -> Tools -> Ultimap.
Keep doing Code did not get executed and Code has been executed while moving the movie slider, until you get to a few results then view the assembly and put some breakpoints to see how address is formulated from registers
In your case VLC is open source you can download the player source code and rig it up to output the time value to a special base address in a few minutes: http://www.videolan.org/vlc/download-sources.html
Okay this seems to be a overkill.. a much easier solution is present here..
http://www.howtogeek.com/195847/vlc-has-extensions-too-heres-what-you-can-do-with-them/
VLC has extension plugin support and those plugins are coded in LUA.. so you could ditch autohotkeys and code in lua to make your automation tool.. or connect your lua script to your autohotkey script.
Here is VLC's all Lua commands you can use
http://www.videolan.org/developers/vlc/share/lua/README.txt
Yes try converting your time into seconds.. like 4:50 would be 4 minutes and 50 seconds so you setup equation like this 50+(60*4)= so your search value would be 290
_________________
Last edited by pkedpker on Tue Jan 12, 2016 5:03 am; edited 4 times in total |
|
Back to top |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Tue Jan 12, 2016 4:55 am Post subject: |
|
|
You could also scan for the real time (which may be stored as 4byte in seconds, but I don't know that for sure) ...
|
|
Back to top |
|
 |
vasili111 Newbie cheater
Reputation: 0
Joined: 12 Jan 2016 Posts: 12
|
Posted: Tue Jan 12, 2016 5:48 am Post subject: |
|
|
hhhuut wrote: | If you have found the correct address, just use CE's pointerscanner (right click on the found string and choose "pointerscan for this address").
Do this some times, until you can be sure that all the pointers left do always point to the time string. |
I did that:
1. Found address that works.
2. Used pointer scanner to scan for that address and received more than 300 mil results. Results saved in 1.ptr .
3. Restarted and reattached vlc player.
4. Found working address again.
5. Opened 1.ptr in pointer scanner and rescanned memory for new address.
6. I received 0 results.
Anything that I did wrong?
hhhuut wrote: | You could also scan for the real time (which may be stored as 4byte in seconds, but I don't know that for sure) ... |
I searched google for real time scan with CC and found nothing. What you mean by that?
pkedpker wrote: | try the
Memory View -> Tools -> Ultimap.
Keep doing Code did not get executed and Code has been executed while moving the movie slider, until you get to a few results then view the assembly and put some breakpoints to see how address is formulated from registers
In your case VLC is open source you can download the player source code and rig it up to output the time value to a special base address in a few minutes: --------------------------
|
I am not that good in assembly
pkedpker wrote: |
Okay this seems to be a overkill.. a much easier solution is present here..
-------------------------------
VLC has extension plugin support and those plugins are coded in LUA.. so you could ditch autohotkeys and code in lua to make your automation tool.. or connect your lua script to your autohotkey script.
Here is VLC's all Lua commands you can use
----------------------------
Yes try converting your time into seconds.. like 4:50 would be 4 minutes and 50 seconds so you setup equation like this 50+(60*4)= so your search value would be 290 |
Thanks for finding that. But I need to also learn to how to find pointers for strings to be able to find them for other programs too.
|
|
Back to top |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Tue Jan 12, 2016 6:04 am Post subject: |
|
|
I didn't mean "real-time" but the internal time that VLC increases every second, milisecond, whatever
So if your video has already been playing for 31 seconds search for 31 in CE (type all may be best) or for value between 31000 and 32000 (when it's couted in miliseconds, I don't know how VLC counts).
If your video has already been playing for 1 minute and 12 seconds, go search for 72 (resp. value between 72000 and 73000) in CE ...
|
|
Back to top |
|
 |
vasili111 Newbie cheater
Reputation: 0
Joined: 12 Jan 2016 Posts: 12
|
Posted: Tue Jan 12, 2016 6:51 am Post subject: |
|
|
hhhuut wrote: | I didn't mean "real-time" but the internal time that VLC increases every second, milisecond, whatever
So if your video has already been playing for 31 seconds search for 31 in CE (type all may be best) or for value between 31000 and 32000 (when it's couted in miliseconds, I don't know how VLC counts).
If your video has already been playing for 1 minute and 12 seconds, go search for 72 (resp. value between 72000 and 73000) in CE ... |
Can't find anything.
|
|
Back to top |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Tue Jan 12, 2016 7:02 am Post subject: |
|
|
Then scan for increased/decreased
|
|
Back to top |
|
 |
vasili111 Newbie cheater
Reputation: 0
Joined: 12 Jan 2016 Posts: 12
|
Posted: Tue Jan 12, 2016 9:15 am Post subject: |
|
|
hhhuut wrote: | Then scan for increased/decreased |
Finding address is not problem. I need to find pointer.
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4702
|
Posted: Tue Jan 12, 2016 10:34 am Post subject: |
|
|
Just expand your search settings for the pointer scanner.
I'd be really surprised if the addresses weren't 32-bit aligned, so leave that on.
You can try including pointers with read-only nodes.
Increase max offset value and max level until you do find it.
If you're having trouble with speed, specify the end offsets yourself using the instructions that access that address.
If you still can't find it, then do a code injection on some instruction that only accesses that address and copy the address that way.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
vasili111 Newbie cheater
Reputation: 0
Joined: 12 Jan 2016 Posts: 12
|
Posted: Sat Jan 16, 2016 1:28 pm Post subject: |
|
|
ParkourPenguin
Thank you! I will try to do that
|
|
Back to top |
|
 |
|