Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент > Копаем клиент

Важная информация

Копаем клиент Копаем клиент

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2010, 11:14   #41
Nomad
Новичок
 
Регистрация: 25.05.2010
Сообщений: 11
Сказал(а) спасибо: 1
Поблагодарили 14 раз(а) в 5 сообщениях
Nomad На верном пути
По умолчанию

Цитата:
Сообщение от Deamon Посмотреть сообщение
А почему бы патчером на лету не заменять RSA ключик в клиенте? Один фиг у вас лаунчер уже есть.
у нас как раз лаунчера нет, но будем делать.. Правда, тогда уже не ясно, нужен ли нам собственный варден или пусть сразу лаунчер выполняет нужные операции..

Цитата:
А по какому адресу в памяти надо "хукнуть" чтобы сделать замену, этот адрес статический?
я сам во внутренности не лазил, но скорее всего публичный ключ (число n) лежит где-то в памяти клиента в открытом виде - его нет смысла шифровать или прятать.
Nomad вне форума   Ответить с цитированием
Старый 29.08.2010, 21:04   #42
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Не нашел информацию, как расшифровывать пакеты после получения 0x00. Первый пакет приходит:
Код:
SMSG_WARDEN_DATA Warden opcode: 0
MD5: C128B52AD08980F95A2FCD5FF7424D1 Length: 17781
RC4: D26D1CF3975E8CD45F51F59714162BAC
Данные верны, DLL-ку извлек Warden Extractor'ом.
Следом идет:
Код:
CMSG_WARDEN_DATA Warden opcode: 158 (Unknown)
При попытке расшифровать его и все последующие получаю бред. По логике это 0x1, т.к. модуль уже был загружен.
zergtmn вне форума   Ответить с цитированием
Старый 29.08.2010, 21:45   #43
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Там до 0x05->0x04 (включительно) все одинаково шифруется, клиентский и серверный ключи разные...
Код:
Packet S->C, SMSG_WARDEN_DATA (742), len 37
0000: 00 CB 35 FD DB 9F B9 16 2C 24 39 6C AB FB 34 5F : ..5.....,$9l..4_
0010: C6 03 5C B8 F8 BB 3A 1C 18 E3 65 63 0C D5 F4 B4 : ..\...:...ec....
0020: F3 7D 4D 00 00 -- -- -- -- -- -- -- -- -- -- -- : .}M.............

S->C Warden Opcode: 00
MD5: 0xCB35FDDB9FB9162C24396CABFB345FC6
RC4: 0x035CB8F8BB3A1C18E365630CD5F4B4F3
Len: 19837

Packet C->S, CMSG_WARDEN_DATA (743), len 1
0000: 01 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- : ................

C->S Warden Opcode: 01
Module loaded successfully...

Packet S->C, SMSG_WARDEN_DATA (742), len 17
0000: 05 42 61 73 0A 19 60 7F 6A 86 40 E1 93 A1 F5 F6 : .Bas..`j.@.....
0010: F1 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- : ................

S->C Warden Opcode: 05
Seed: 0x4261730A19607F6A8640E193A1F5F6F1

Packet C->S, CMSG_WARDEN_DATA (743), len 21
0000: 04 29 33 29 B1 3B BB DB DC 50 A9 DC E6 8E 7A 8A : .)3).;...P....z.
0010: 47 AF FC 14 7B -- -- -- -- -- -- -- -- -- -- -- : G...{...........

C->S Warden Opcode: 04
SHA1: 0x293329B13BBBDBDC50A9DCE68E7A8A47AFFC147B

Packet S->C, SMSG_WARDEN_DATA (742), len 57
0000: 03 14 00 B3 EA 4F B1 01 00 02 00 80 87 31 00 E0 : .....O.......1..
0010: 4F 31 00 B0 5C 31 00 90 60 31 00 03 08 00 F1 CA : O1..\1..`1......
0020: A4 33 04 00 00 70 2A 3F 00 01 03 08 00 FB 1B EE : .3...p*?........
0030: B6 01 01 00 B0 38 44 00 01 -- -- -- -- -- -- -- : .....8D.........

S->C Warden Opcode: 03
Len: 20
Checksum: 0xB14FEAB3 is valid!
Data: 0x0100020080873100E04F3100B05C310090603100

Len: 8
Checksum: 0x33A4CAF1 is valid!
Data: 0x040000702A3F0001

Len: 8
Checksum: 0xB6EE1BFB is valid!
Data: 0x010100B038440001

Packet S->C, SMSG_WARDEN_DATA (742), len 161
0000: 02 00 F1 89 87 5D 75 56 BD 6E FC 31 02 79 AF E8 : .....]uV.n.1.y..
0010: 3E F1 E0 7B 8E FA 06 8A 49 1A 1F 71 38 0F 02 00 : >..{....I..q8...
0020: 20 95 00 36 DB 96 00 06 89 92 96 19 42 87 94 42 :  ..6........B..B
0030: E6 3B 16 FB 92 47 31 7D 99 D1 2F B4 FC 6F 51 29 : .;...G1}../..oQ)
0040: EF 64 61 00 00 10 D4 01 32 00 22 31 FD A6 FB 4D : .da.....2."1...M
0050: 18 10 30 5E 19 58 D5 C3 AE EF C4 76 4E 04 70 DC : ..0^.X.....vN.p.
0060: C5 0D 00 2A 89 07 A0 A4 43 7D CC 95 B0 5F 91 52 : ...*....C}..._.R
0070: 1F 4A 70 75 7A CD 00 93 A9 6D 30 F8 16 F8 70 00 : .Jpuz....m0...p.
0080: 00 11 89 1E 31 CE BF 7B 40 5F 05 12 48 D4 31 55 : ....1..{@_..H.1U
0090: 8E F2 BC A1 A2 86 59 EE 0D 48 12 C8 D7 06 00 30 : ......Y..H.....0
00A0: E6 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- : ................

S->C Warden Opcode: 02
====== CHEAT CHECKS START ======

====== TIMING_CHECK START ======
CheckType 17 (F1)
====== TIMING_CHECK END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0x56755D87
SHA1: 0xBD6EFC310279AFE83EF1E07B8EFA068A491A1F71
Address: 0x00020F38
Bytes to read: 32
====== PAGE_CHECK_A_B END ======

====== MEM_CHECK START ======
CheckType 73 (95)
Module: base
Offset: 0x0096DB36
Bytes to read: 6
====== MEM_CHECK END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0x42199692
SHA1: 0x879442E63B16FB9247317D99D12FB4FC6F5129EF
Address: 0x00006164
Bytes to read: 16
====== PAGE_CHECK_A_B END ======

====== PAGE_CHECK_A_B START ======
CheckType 32 (D4)
Seed: 0x22003201
SHA1: 0x31FDA6FB4D1810305E1958D5C3AEEFC4764E0470
Address: 0x000DC5DC
Bytes to read: 42
====== PAGE_CHECK_A_B END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0x43A4A007
SHA1: 0x7DCC95B05F91521F4A70757ACD0093A96D30F816
Address: 0x000070F8
Bytes to read: 17
====== PAGE_CHECK_A_B END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0xBFCE311E
SHA1: 0x7B405F051248D431558EF2BCA1A28659EE0D4812
Address: 0x0006D7C8
Bytes to read: 48
====== PAGE_CHECK_A_B END ======

====== CHEAT CHECKS END ======

Packet C->S, CMSG_WARDEN_DATA (743), len 24
0000: 02 11 00 D7 81 DD B3 01 DE 09 FC 00 E9 00 89 46 : ...............F
0010: 44 89 4E 54 E9 E9 E9 E9 -- -- -- -- -- -- -- -- : D.NT............

C->S Warden Opcode: 02
Cheat check result:
Len: 17
Checksum: 0xB3DD81D7 is valid!
====== CHEAT CHECKS RESULTS START ======

====== TIMING_CHECK result START ======
Result: 0x01
Ticks: 0x00FC09DE
====== TIMING_CHECK result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== MEM_CHECK result START ======
Result: 0x00
Bytes: 0x894644894E54
====== MEM_CHECK result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== CHEAT CHECKS RESULTS END ======

Packet S->C, SMSG_WARDEN_DATA (742), len 173
0000: 02 08 41 66 64 65 33 32 75 75 00 F1 95 00 00 FE : ..Afde32uu......
0010: 4A 00 0C 89 D5 67 0E 10 77 00 5A 8A E0 05 E6 60 : J....g..w.Z....`
0020: 20 16 9B 86 56 4F B3 17 5B F7 E8 9D 00 71 00 00 :  ...VO..[....q..
0030: 0D 89 BD CC 44 BD C1 D8 83 D4 8D 98 25 06 93 AE : ....D.......%...
0040: 43 77 07 CF 37 60 CF A6 45 34 EC 60 00 00 0F 95 : Cw..7`..E4.`....
0050: 00 36 DB 96 00 06 D4 B3 75 07 08 54 BF 86 0A EE : .6......u..T....
0060: A9 11 E9 AD CD DE 37 B9 E0 CB 58 40 1D B3 E3 97 : ......7...X@....
0070: 8E 26 00 16 F7 73 E5 2D 8D B1 75 BE 94 34 C6 AA : .&...s.-..u..4..
0080: 7E 4E C9 DF C7 8F 4C A9 74 2C DA 44 6B 01 89 8D : ~N....L.t,.Dk...
0090: CE 51 4E 9A 48 85 11 C6 E1 EE F7 8B C9 1C FC 39 : .QN.H..........9
00A0: AD 69 5D 93 0D EE 2B C8 D7 06 00 30 E6 -- -- -- : .i]...+....0....

S->C Warden Opcode: 02
====== CHEAT CHECKS START ======

====== TIMING_CHECK START ======
CheckType 17 (F1)
====== TIMING_CHECK END ======

====== MEM_CHECK START ======
CheckType 73 (95)
Module: base
Offset: 0x004AFE00
Bytes to read: 12
====== MEM_CHECK END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0x100E67D5
SHA1: 0x77005A8AE005E66020169B86564FB3175BF7E89D
Address: 0x00007100
Bytes to read: 13
====== PAGE_CHECK_A_B END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0xBD44CCBD
SHA1: 0xC1D883D48D98250693AE437707CF3760CFA64534
Address: 0x000060EC
Bytes to read: 15
====== PAGE_CHECK_A_B END ======

====== MEM_CHECK START ======
CheckType 73 (95)
Module: base
Offset: 0x0096DB36
Bytes to read: 6
====== MEM_CHECK END ======

====== PAGE_CHECK_A_B START ======
CheckType 32 (D4)
Seed: 0x080775B3
SHA1: 0x54BF860AEEA911E9ADCDDE37B9E0CB58401DB3E3
Address: 0x00268E97
Bytes to read: 22
====== PAGE_CHECK_A_B END ======

====== DRIVER_CHECK START ======
CheckType 11 (F7)
Seed: 0x8D2DE573
SHA1: 0xB175BE9434C6AA7E4EC9DFC78F4CA9742CDA446B
Driver: Afde32uu
====== DRIVER_CHECK END ======

====== PAGE_CHECK_A_B START ======
CheckType 6F (89)
Seed: 0x4E51CE8D
SHA1: 0x9A488511C6E1EEF78BC91CFC39AD695D930DEE2B
Address: 0x0006D7C8
Bytes to read: 48
====== PAGE_CHECK_A_B END ======

====== CHEAT CHECKS END ======

Packet C->S, CMSG_WARDEN_DATA (743), len 37
0000: 02 1E 00 19 7E C1 E5 01 EB 6A FC 00 00 55 8B EC : ....~....j...U..
0010: B8 C4 4D 00 00 E8 13 BD F5 E9 E9 00 89 46 44 89 : ..M..........FD.
0020: 4E 54 E9 E9 E9 -- -- -- -- -- -- -- -- -- -- -- : NT..............

C->S Warden Opcode: 02
Cheat check result:
Len: 30
Checksum: 0xE5C17E19 is valid!
====== CHEAT CHECKS RESULTS START ======

====== TIMING_CHECK result START ======
Result: 0x01
Ticks: 0x00FC6AEB
====== TIMING_CHECK result END ======

====== MEM_CHECK result START ======
Result: 0x00
Bytes: 0x558BECB8C44D0000E813BDF5
====== MEM_CHECK result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== MEM_CHECK result START ======
Result: 0x00
Bytes: 0x894644894E54
====== MEM_CHECK result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== DRIVER_CHECK result START ======
Result: 0xE9
====== DRIVER_CHECK result END ======

====== PAGE_CHECK_A_B result START ======
Result: 0xE9
====== PAGE_CHECK_A_B result END ======

====== CHEAT CHECKS RESULTS END ======

Последний раз редактировалось TOM_RUS; 29.08.2010 в 22:02.
TOM_RUS вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Ranger (12.05.2013), zergtmn (29.08.2010)
Старый 29.08.2010, 22:56   #44
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Разобрался, в rc4 не сохранялось состояние...
zergtmn вне форума   Ответить с цитированием
Старый 13.11.2010, 19:59   #45
abdula123
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
abdula123 На верном пути
По умолчанию

похоже со времен 3.3.3 у вардена поменялась таблица xored кодов проверок.


по крайней мере те пакеты, что приходят сейчас (модуль 27F52E18F0DA417A40CEB786192C7669) в нее не попадают
abdula123 вне форума   Ответить с цитированием
Старый 13.11.2010, 20:01   #46
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Насколько я помню она поменялась чуть раньше
LordJZ вне форума   Ответить с цитированием
Старый 13.11.2010, 22:06   #47
abdula123
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
abdula123 На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Насколько я помню она поменялась чуть раньше
прошлая версия снифера разбирала варден с середины марта до начала июня без всяких изменений.


нынешние проверки им разобрать не получается.
как минимум потому, что раньше первым всегда шел код TIMING_CHECK, (по которому собственно я и искал нужную таблицу) а сейчас там может идти любой код.


теперь еще и в строках не видно имен файлов для MPQ_FILE_CHECK.
abdula123 вне форума   Ответить с цитированием
Старый 13.11.2010, 22:33   #48
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

На 4.0.х не снифал, но пакеты 3.3.5.12340 неплохо дешифровались и парсились без каких-то изменений
Мб в 4.0.х что-то изменили...или я ошибаюсь оО
MaS0n вне форума   Ответить с цитированием
Старый 14.11.2010, 04:14   #49
abdula123
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
abdula123 На верном пути
По умолчанию

отбой тревоги - близы просто перестали ставить TIMING_CHECK в начало каждого пакета и мой автоматический подбор таблицы по нему оказался в пролете.

если перебирать таблицы руками - можно найти ту, которая подходит для конкретно взятого модуля. благо эти таблиц - всего 8 уникальных.

теперь похоже, придется подбирать по FIND_MEMORY_CHECK/FIND_MODULE_CHECK.



лезти в варденовские модули и разбираться, как при их SEED->HASH инциализации считается xor-байт, и как опкоды сопоставляются функциям - нет никакого желания

если кто поделиться в личку описанием - буду благодарен
Изображения
Тип файла: jpg warden.jpg (76.4 Кб, 147 просмотров)

Последний раз редактировалось abdula123; 14.11.2010 в 04:25.
abdula123 вне форума   Ответить с цитированием
Старый 23.11.2010, 15:35   #50
abdula123
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
abdula123 На верном пути
По умолчанию

сопоставление кодов проверок функциям проверок зашито в код каждого модуля.

Код:
while ( 1 )
  {
...
    check_code ^= _this->pkt_xor_byte;
    if ( check_code > (signed int)0x86u )
    {
      if ( check_code == 0xA7 )
      {
...
LABEL_33:
...
      }
      else
      {
        if ( check_code == 0xDF )
          goto LABEL_33;
        if ( check_code == 0xEA )
        {
LABEL_20:
...
          goto LABEL_21;
        }
        if ( check_code != 0xF5 )
          break;
...
      }
    }
    else
    {
      if ( check_code == 0x86 )
      {
...
LABEL_21:
...
      }
      else
      {
        if ( check_code == 0x2D )
        {
...
          goto LABEL_21;
        }
        if ( check_code == 0x38 )
          goto LABEL_33;
        if ( check_code == 0x43 )
          goto LABEL_20;
        if ( check_code != 0x7B )
          break;
      }
    }
  }
есть подозрение, что вычисление xor-байта по сиду - тоже зашито в код. копать в этом направлении даже не стал, ибо не нужно.



зато получилось автоматизировать подбор таблиц и он вроде бы работает без ошибок
abdula123 вне форума   Ответить с цитированием
Старый 26.03.2011, 20:33   #51
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Warden - The definitive anti-cheat system
TOM_RUS вне форума   Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
BloodWarrior (26.03.2011), brainreaver (27.03.2011), Gerald (26.03.2011), Ranger (11.05.2013), Sid (26.03.2011)
Старый 26.03.2011, 21:32   #52
Sid
Ученый
 
Аватар для Sid
 
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
Sid Скоро придёт к известностиSid Скоро придёт к известности
По умолчанию

Официально объявляем конец читингу?)
__________________
SpellWork Qt4
Sid вне форума   Ответить с цитированием
Старый 26.03.2011, 21:50   #53
SeT
Ученый
 
Аватар для SeT
 
Регистрация: 13.03.2010
Сообщений: 110
Сказал(а) спасибо: 55
Поблагодарили 23 раз(а) в 14 сообщениях
SeT На верном пути
По умолчанию

Цитата:
Сообщение от Sid Посмотреть сообщение
Официально объявляем конец читингу?)
Цитата:
Memory check are not validated too (so I accept anything) because what the client returns seams to differ from what I got in past.
помоему нет.
SeT вне форума   Ответить с цитированием
Старый 26.03.2011, 21:53   #54
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от SeT Посмотреть сообщение
помоему нет.
У меня MEM чеки нормально обрабатывались, а Neo говорит что у него всегда срабатывают на чистом клиенте. Возможно где-то баг...
TOM_RUS вне форума   Ответить с цитированием
Старый 26.03.2011, 21:58   #55
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Нет, та реализация не совсем полная, и она не будет работать на *nix системах по нескольким причинам.

Добавлено: Опоздал. :/
LordJZ вне форума   Ответить с цитированием
Старый 26.03.2011, 22:03   #56
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Нет, та реализация не совсем полная, и она не будет работать на *nix системах по нескольким причинам.

Добавлено: Опоздал. :/
Варден демон запускается под виндой (возможно даже под wine можно запустить, никто пока не тестировал), а mangos может быть запущен где угодно... Других вариантов реализации просто не существует (ну за исключением извлечения из всех модулей уникальной криптофункции и реализации ее на С++, что не является простой задачей...).

Последний раз редактировалось TOM_RUS; 26.03.2011 в 22:07.
TOM_RUS вне форума   Ответить с цитированием
Старый 27.03.2011, 08:56   #57
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

на 3.3.5а. увы есть много читов которые не ловит

ждем в паблике. списки читов, которым пофигу на варден


ээээ

*pkt << uint8(mWardenModuleChecks[md5][WARD_CHECK_TIMING] ^ m_seed1);

в 3.3.5а же нету TIMING проверок..

Последний раз редактировалось zhenya; 27.03.2011 в 09:09.
zhenya вне форума   Ответить с цитированием
Старый 27.03.2011, 10:00   #58
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 10:30   #59
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось MaS0n; 27.03.2011 в 10:40.
MaS0n вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
brainreaver (27.03.2011)
Старый 27.03.2011, 11:25   #60
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


может, кто-нибудь даст мануал, как добыть эти сокровенные данные?
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 11:40   #61
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
MaS0n вне форума   Ответить с цитированием
Старый 27.03.2011, 11:42   #62
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

MaS0n, мемчеки не работают, потому что, по его словам, у него данные скорее всего устарели
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 11:51   #63
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

71B810 10 8B81CC07000025000000

проверьте..
zhenya вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
brainreaver (27.03.2011), Ranger (15.05.2011)
Старый 27.03.2011, 11:54   #64
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

8B 81 CC 07 00 00 25 00 00 00

знакомая штучка, что-то связанное с движением
MaS0n вне форума   Ответить с цитированием
Старый 27.03.2011, 11:56   #65
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

wowemuhacker меняет данную вещичку.

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 50 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось TOM_RUS; 27.03.2011 в 13:08.
zhenya вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
MaS0n (27.03.2011)
Старый 27.03.2011, 12:14   #66
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

MemCheck
Offset: 7452688, Len: 10, Content 70FC0000DD1410760000
Mem Ok

включаю WEH
MemCheck
Offset: 7452688, Len: 10, Content 70FC1800DD1400760000
Mem Failed
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 12:16   #67
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

Что и требовалось доказать.
zhenya вне форума   Ответить с цитированием
Старый 27.03.2011, 12:17   #68
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

MODULE_CHECK обходится переименованием dll файла, поэтому лучше вместо него использовать PAGE_CHECK. PROC_CHECK близами не используется уже, либо используется очень редко, поэтому id проверок для всех модулей найти не удалось.
TOM_RUS вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
MaS0n (27.03.2011), Ranger (19.07.2012)
Старый 27.03.2011, 12:19   #69
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от TOM_RUS Посмотреть сообщение
MODULE_CHECK обходится переименованием dll файла, поэтому лучше вместо него использовать PAGE_CHECK. PROC_CHECK близами не используется уже, либо используется очень редко, поэтому id проверок для всех модулей найти не удалось.
PermEdit или как он там тоже обходит.. Но последние читы идут без DLL
zhenya вне форума   Ответить с цитированием
Старый 27.03.2011, 12:20   #70
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

может, поделитесь другими вкусными мемчеками? ^_^
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 12:24   #71
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

Neo2003 поделиться.
zhenya вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
brainreaver (27.03.2011)
Старый 27.03.2011, 12:29   #72
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось MaS0n; 27.03.2011 в 12:37.
MaS0n вне форума   Ответить с цитированием
Старый 27.03.2011, 13:01   #73
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Neo запостил новую версию, исправлен баг с MEM чеками.

PS zhenya чего не заходишь в irc?

Последний раз редактировалось TOM_RUS; 27.03.2011 в 13:04.
TOM_RUS вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
brainreaver (27.03.2011)
Старый 27.03.2011, 14:42   #74
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

wardend крашится, если соединение разорвалось а потом вновь появилось
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 14:51   #75
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от brainreaver Посмотреть сообщение
wardend крашится, если соединение разорвалось а потом вновь появилось
Ну реконнект там все равно не поддерживается. Так что даже если бы он не крашился после дисконнекта, то все равно ничего бы не работало.
TOM_RUS вне форума   Ответить с цитированием
Старый 27.03.2011, 15:01   #76
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

дык это нехорошо. Сервер имеет свойство падать =\
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 16:58   #77
brainreaver
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
brainreaver На верном пути
По умолчанию

сделал для wardend возможность реинициализироваться после потери соединения
осталось разобраться, как восстановить соединение в mangosd, если оно оборвется
brainreaver вне форума   Ответить с цитированием
Старый 27.03.2011, 23:02   #78
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от MaS0n Посмотреть сообщение
*** скрытый текст ***
Там юзается либо Module32First/Module32Next, либо EnumProcessModules, если не удалось загрузить kernel32.dll (как это вообще возможно?).

Код:
ApiPointers *__stdcall InitApiPointers(off_408178 **a1)
{
  ApiPointers *result; // eax@1
  ApiPointers *v2; // esi@1
  HMODULE kernel32_dll_0; // eax@3
  HMODULE kernel32_dll_1; // edi@3
  FARPROC Module32Next; // eax@6
  HMODULE psapi_0; // eax@8
  HMODULE psapi_1; // edi@8
  FARPROC GetModuleInformation; // eax@11
  FARPROC CreateToolhelp32Snapshot; // [sp+8h] [bp-Ch]@4
  FARPROC EnumProcessModules; // [sp+8h] [bp-Ch]@9
  FARPROC Module32First; // [sp+Ch] [bp-8h]@5
  FARPROC GetModuleBaseNameA; // [sp+Ch] [bp-8h]@10

  result = (ApiPointers *)((int (__stdcall *)(_DWORD))(*a1)->sub402707)(44);
  v2 = result;
  if ( result )
  {
    kernel32_dll_0 = LoadLibraryA("kernel32.dll");
    kernel32_dll_1 = kernel32_dll_0;
    if ( kernel32_dll_0 )
    {
      CreateToolhelp32Snapshot = GetProcAddress(kernel32_dll_0, "CreateToolhelp32Snapshot");
      if ( CreateToolhelp32Snapshot )
      {
        Module32First = GetProcAddress(kernel32_dll_1, "Module32First");
        if ( Module32First )
        {
          Module32Next = GetProcAddress(kernel32_dll_1, "Module32Next");
          if ( Module32Next )
          {
            v2->kernel32_dll = kernel32_dll_1;
            v2->off408178 = a1;
            v2->CreateToolhelp32Snapshot = CreateToolhelp32Snapshot;
            v2->Module32First = Module32First;
            v2->Module32Next = Module32Next;
            v2->IsKernel32 = 1;
            result = v2;
            v2->vTable = off_408338;
            return result;
          }
        }
      }
      FreeLibrary(kernel32_dll_1);
    }
    psapi_0 = LoadLibraryA("psapi.dll");
    psapi_1 = psapi_0;
    if ( psapi_0 )
    {
      EnumProcessModules = GetProcAddress(psapi_0, "EnumProcessModules");
      if ( EnumProcessModules )
      {
        GetModuleBaseNameA = GetProcAddress(psapi_1, "GetModuleBaseNameA");
        if ( GetModuleBaseNameA )
        {
          GetModuleInformation = GetProcAddress(psapi_1, "GetModuleInformation");
          if ( GetModuleInformation )
          {
            v2->psapi_dll = psapi_1;
            v2->off408178 = a1;
            v2->EnumProcessModules = EnumProcessModules;
            v2->GetModuleBaseNameA = GetModuleBaseNameA;
            v2->GetModuleInformation = GetModuleInformation;
            v2->IsKernel32 = 0;
            result = v2;
            v2->vTable = off_408338;
            return result;
          }
        }
      }
      FreeLibrary(psapi_1);
    }
    ((void (__stdcall *)(_DWORD))(*a1)->sub402916)(v2);
    result = 0;
  }
  return result;
}
MODULE_CHECK это просто HMACSHA1(random_seed).ComputeHash(GetBytes(UPPER_C ASE("some.dll")))

PROC_CHECK http://paste2.org/p/1328034

Код:
struct ProcCheckInfo
{
  _DWORD procAddress; // GetProcAddress(GetModuleHandle(DLL_NAME), FUNCTION_NAME)
  char *hash;
  _DWORD seed;
  _DWORD address;
  _DWORD length;
};
DRIVER_CHECK http://paste2.org/p/1327840

Последний раз редактировалось TOM_RUS; 28.03.2011 в 01:37.
TOM_RUS вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
MaS0n (28.03.2011)
Старый 28.03.2011, 09:40   #79
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось MaS0n; 28.03.2011 в 10:00.
MaS0n вне форума   Ответить с цитированием
Старый 28.03.2011, 11:43   #80
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от MaS0n Посмотреть сообщение
*** скрытый текст ***
PAGE_CHECK: HMACSHA1(random_seed).ComputeHash(baseAddress + address, length) для каждой загруженной DLL

LUA_CHECK: в клиенте вызывается char *FrameScript::GetText(text) и возвращается результат, например если есть аддон с таким кодом: BLAAA = "BLAAAAAAAAAAAAAAAAAA";, запрашиваете BLAAA, и в ответ должно прийти "BLAAAAAAAAAAAAAAAAAA".

Последний раз редактировалось TOM_RUS; 28.03.2011 в 12:05.
TOM_RUS вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
MaS0n (28.03.2011)
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 09:02. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot