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 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 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 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
Automatic Bot-Detection Tool Discussion - Page 4
Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 46

Thread: Automatic Bot-Detection Tool Discussion

  1. #31
    Senior Member
    Join Date
    Sep 2007
    Posts
    230

    RE: Automatic Bot-Detection Tool Discussion

    I took a small look in to that padding bytes theory almost a year ago. From my findings I determined they were using the ISAAC PRNG which was seeded from mouse co-ordinates gathered when the client started up and whenever the mouse was moved before logging in (and it was also likely seeded by other information such as current time as well). The generator was used to generate the XTEA key and each padding byte within packets, I didn't see any evidence of data hiding within the padding bytes. Like I said though it was only a small look and that was a year ago.

    I have also just taken a look at the Flash client's generator and they are actually using "their own" PRNG. The PRNG they are using is the RC4 keystream generator with a 256-byte key, they are however generating the key from Flash's random class and the current time. Their actual implementation comes from the open source as3crypto library for which you can find the source code up on Google Code (files of interest are Random.as and ARC4.as), and CIP are also in breach of not including the as3crypto library anywhere.

  2. #32
    Senior Member
    Join Date
    Jun 2007
    Posts
    247

    RE: Automatic Bot-Detection Tool Discussion

    Quote Originally Posted by Sketchy
    I took a small look in to that padding bytes theory almost a year ago. From my findings I determined they were using the ISAAC PRNG which was seeded from mouse co-ordinates gathered when the client started up and whenever the mouse was moved before logging in (and it was also likely seeded by other information such as current time as well). The generator was used to generate the XTEA key and each padding byte within packets, I didn't see any evidence of data hiding within the padding bytes. Like I said though it was only a small look and that was a year ago.

    I have also just taken a look at the Flash client's generator and they are actually using "their own" PRNG. The PRNG they are using is the RC4 keystream generator with a 256-byte key, they are however generating the key from Flash's random class and the current time. Their actual implementation comes from the open source as3crypto library for which you can find the source code up on Google Code (files of interest are Random.as and ARC4.as), and CIP are also in breach of not including the as3crypto library anywhere.
    Wow you've done a much better job than I did, thank you. I found it strange that they bothered to include their own RNG instead of using libc, so ive always been a little suspicious. Anyway, if they are transmitting the seed it would be appended to the RSA packets. I guess one only needs to watch the packet construction to determine if this is the case.

  3. #33
    Senior Member
    Join Date
    Sep 2007
    Posts
    230

    RE: Automatic Bot-Detection Tool Discussion

    Well the ISAAC algorithm uses seeds made up of 256 32-bit integers which far surpass the size of the RSA encrypted packets. Even without sending the seed there is still a chance they could be hiding a very specific pattern inside the trailing bytes which act as a boolean flag, of course the pattern would have to be at least 3-4 bytes to minimise collisions with actual random numbers and could possibly span over multiple packets to help with this. I didn't see any evidence of them doing this but I didn't dig too deep into it.

  4. #34
    Senior Member
    Join Date
    Jun 2007
    Posts
    247

    RE: Automatic Bot-Detection Tool Discussion

    Quote Originally Posted by Sketchy
    Well the ISAAC algorithm uses seeds made up of 256 32-bit integers which far surpass the size of the RSA encrypted packets. Even without sending the seed there is still a chance they could be hiding a very specific pattern inside the trailing bytes which act as a boolean flag, of course the pattern would have to be at least 3-4 bytes to minimise collisions with actual random numbers and could possibly span over multiple packets to help with this. I didn't see any evidence of them doing this but I didn't dig too deep into it.
    True that. If the entire buffer is initialised using mouse movements as you say, then this would be impossible.

  5. #35
    Senior Member
    Join Date
    Jul 2007
    Posts
    129

    RE: Automatic Bot-Detection Tool Discussion

    One thing that i've done while developing my recording program that got me banned was related to generating a game server login packet

    What i did was starting a new game connection and logging in with a character that was already logged in to get a new SelfAppear (0x0A) packet from the server

    Possible causes:
    1- The XTEA key was the same as the previous connection
    2- The RSA padding bytes was junk (tried with rand(), zeroes and later with unitialized bytes)
    3- Maybe kicking myself up from the game was detected as Multiclienting or Account sharing, but the report said: "Using unofficial software to play".. And i've done this before with the client before many ban waves without a sratch

    I'm gonna try this feature again, but using packets generated by the client to eliminate the 3rd cause

    EDIT: of course it was a testing character, this never got released

    EDIT2: can anybody check if a SelfAppear (0x0A) packet makes the client reset the attack and follow counters?

  6. #36
    Junior Member
    Join Date
    Mar 2012
    Posts
    1

    RE: Automatic Bot-Detection Tool Discussion

    Lets open up the discussions.

    It might be pretty easy for Cipsoft to use a classifier trained with botting and non botting behaviors. I doubt it would be difficult to extract certain features that are closely related to botters.

    Just to name a few:

    - Always healing with the same method at the same time
    - Doing stuff at the same time (e.g. looting and healing)
    - How often you walk on the same spots when hunting
    - Mapclick and keyboard ratio

    It is probably easier to classify if you combine botting with regular hunting with the same character. We probably have to think of ways of making our bots perform more human-like behavior.

    - Environmental and mob awareness (not going to a place when it is pretty obvious -for a human - that there is nothing there, moving strategically when facing large amount of mobs)
    - Add human like behavior (interacting with the floor, using different ways to sort your loot, changing targets, taking pauses, etc..)

    Seems to be a nice challenge

  7. #37
    Junior Member
    Join Date
    Jan 2012
    Posts
    17
    and about manual check ?

  8. #38
    Super Moderator klusbert's Avatar
    Join Date
    Dec 2007
    Posts
    1,201
    I would say manual check is the method they uses, otherwise I think it's weird that ibot redbot and xeno have about the same ban ratio/users. And I do not think the report button is for nothing.
    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

  9. #39
    Senior Member
    Join Date
    Aug 2010
    Posts
    532
    You must be kidding saying that red and xeno got the same amout of ibot users deleted, I'm sorry =D

  10. #40
    Senior Member
    Join Date
    Jan 2012
    Posts
    417
    Quote Originally Posted by maozao View Post
    You must be kidding saying that red and xeno got the same amout of ibot users deleted, I'm sorry =D
    tbh, current bots doesn't make huge server sided mistakes. Clearly, Cip has modified their system (or doing it manually, which I don't believe due the huge amount of players) and is catching users of each side. Is quite hard make some kind of "deleted comparison" when "main ban thread" of redbot/ibot is not visible for non-users (I'm not saying able to post, but able to see).

    And I let this suggestion: make some ban thread visible for non-users, this way we can compare and ppl interested in buy the "safer" will be able to do the best choice.

Posting Permissions

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