Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842

PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
Codecave PrintText
Page 1 of 8 123 ... LastLast
Results 1 to 10 of 72

Thread: Codecave PrintText

  1. #1
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201

    Codecave PrintText

    Hiho!
    Okay I am trying to create a codecave inside tibia to print text onscreen.

    I know I know this is verry unefficient if you want to add more than 1 text, but this is only for learning purpose.

    This is what I've done so far.
    http://imgur.com/rJWJUqh

    And my code:
    http://pastebin.com/p3i7AX3C

    I alloc space in memory for my string than I add that into my codeave, as you can see it reads the string correctly in my debugger.

    The problem with this is everytime I try to execute it It will crash.

    I base my code on this:
    http://pastebin.com/B8aDhLkW


    Updated to 10.77
    Updated to 10.90
    Attached Files Attached Files
    Last edited by klusbert; 12-30-2015 at 10:35 AM.
    How to find battlelist address --> http://tpforums.org/forum/thread-8146.html
    Updating addresses --> http://tpforums.org/forum/thread-8625.html
    DataReader --> http://tpforums.org/forum/thread-10387.html

  2. #2
    Most likely the fact that you're not in sync with the main thread. Also, this would only print that text for a single frame. Also, call is just 0xE9 <offset>. Calculate the function offset by functionAddress - callAddress - 5, or do a PUSH functionAddress, POP eax, CALL eax (that's the way I do it to avoid calculating offsets)

  3. #3
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201
    Thanks Dark, but I dont think it is a sync issue. Because I Replace call printtext in the printfps function as tibiaApi did. Even than it crashes, but If I reset all registers with pop? than call it? I should try to put my function adr in eax than call eax as you said. Do you have a good site for asm code? like 0x6A = push etc.

    Thanks again!
    How to find battlelist address --> http://tpforums.org/forum/thread-8146.html
    Updating addresses --> http://tpforums.org/forum/thread-8625.html
    DataReader --> http://tpforums.org/forum/thread-10387.html

  4. #4
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201
    Thanks Darkstar now I figure it out! It is working great The problem was is in the call( as you already pointed out), now I am using 0xe8 now cuz 0xe9 was jmp But as you said offset are kinda annoying
    http://imgur.com/IgyUA27
    Last edited by klusbert; 09-23-2013 at 02:06 AM.
    How to find battlelist address --> http://tpforums.org/forum/thread-8146.html
    Updating addresses --> http://tpforums.org/forum/thread-8625.html
    DataReader --> http://tpforums.org/forum/thread-10387.html

  5. #5
    Quote Originally Posted by DarkstaR View Post
    do a PUSH functionAddress, POP eax, CALL eax
    Would you mind to explain, what does this trick do?

    EDIT:
    Nevermind, got it But, shouldn't eax value be saved somewhere? Something like:

    push eax
    push function address
    pop eax
    call eax
    pop eax
    add esp, 4
    Last edited by szulak; 09-23-2013 at 10:47 AM.

  6. #6
    Senior Member
    Join Date
    Apr 2008
    Posts
    689
    Quote Originally Posted by klusbert View Post
    Thanks Darkstar now I figure it out! It is working great The problem was is in the call( as you already pointed out), now I am using 0xe8 now cuz 0xe9 was jmp But as you said offset are kinda annoying
    http://imgur.com/IgyUA27
    wow cipsoft's artists are so bad at concepts, cringy

  7. #7
    Member Diego's Avatar
    Join Date
    Mar 2012
    Location
    México
    Posts
    79
    Quote Originally Posted by Farsa View Post
    wow cipsoft's artists are so bad at concepts, cringy

    Are you kidding me? thats the Bg img? jeeze. Good thing I retired long ago LOL
    TibiaViewer taking AFK botting to a whole different level Sign up!.

  8. #8
    Senior Member
    Join Date
    Jan 2012
    Posts
    417
    Quote Originally Posted by Farsa View Post
    wow cipsoft's artists are so bad at concepts, cringy
    Quote Originally Posted by Diego View Post
    Are you kidding me? thats the Bg img? jeeze. Good thing I retired long ago LOL
    I think they tried to give a retro look, because it's how cipsoft itself calls tibia. But yeah, I think this background image isn't looking well (looks like a 5 year old child drawing), rather than that I still prefer the image back in 2004~ with a woman in the front.

  9. #9
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201

    Working

    Okay I just want to share with you, It is working for me now. So I share a simple project I made.

    I wrote it very quickly just to prove that it works.

    You can add multiple texts and remove them as you want, you can clear all text.

    ps ( you need to recalc the addresses since I am not using aslr.
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by klusbert; 10-04-2013 at 12:47 AM.
    How to find battlelist address --> http://tpforums.org/forum/thread-8146.html
    Updating addresses --> http://tpforums.org/forum/thread-8625.html
    DataReader --> http://tpforums.org/forum/thread-10387.html

  10. #10
    How to update this addresses ? :

    private int PrintFps = 0x46e846; //10.20
    private int PrintName = 0x4d4d00;
    private int ShowFps = 0x96B55A;

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •