Сейчас на форуме: subword, rtsgreg1989 (+9 невидимых) |
![]() |
eXeL@B —› Основной форум —› Помогите с разбором алгоритма. |
Посл.ответ | Сообщение |
|
Создано: 20 июля 2008 09:10 · Поправил: SPA · Личное сообщение · #1 securegamers.com/shadowfrench/W3XPassGrabber12201.exe Есь программа пассворд граббер для WarCraft3 (моралисты могу тоже помочь т.к. собсно мне нужно получать только имя а в пасворде нет необходимости) необходимо узнать как она собственно это делает, но появилась проблеммка та вб ( +ко всему там еще и натив код т.е. декомпиль не прокатит, ида зубы ломает об эту чушь, короче все плохо ) вот сама ф/я корая собсно чтото делает ) Первая что мне хотелось бы узнать что значит loc_004053B2: ReadProcessMemory(%x1, %x2, %x3, %x4, %x5) loc_004053B7: call edi что значит call edi после каждой api как я понял это проверки вб на то что все ок работает ) значит на всякий случай приведу листинг который надо иследовать nopaste.com/p/aaVioGXVE code.hash.su/136 paste.org.ru/?sb2xik или самивб декомпилер лайт ) ![]() |
|
Создано: 20 июля 2008 09:13 · Личное сообщение · #2 |
|
Создано: 15 августа 2008 11:08 · Личное сообщение · #3 Про EDI - не ленись пользоваться find везде... loc_004052E8: mov edi, MSVBVM60.DLL.__vbaSetSystemError Это типа анализ результата вызова системной функции. Почитай про программу artmoney и ее аналоги и все вопросы отпадут. Сначала ищем адреса нужной инфы, а уж потом пишем прогу для ее выдергивания. Одни пишут а ассемблере, другие на бейсике, но смысл не меняется. Использование ReadProcessMemory обсосано здесь до костей. Уж на что я никак из новичков не выбьюсь, но и то сумел переделать одну прогу под себя... Вот если править память, то это чуть сложнее, но ... справишься. Ищи сам, а не жди ответ... Точнее ответы уже есть здесь, поэтому никто тебе и не ответил. ![]() |
|
Создано: 15 августа 2008 11:49 · Поправил: Veliant · Личное сообщение · #4 Короче ищется окно с заголовком Warcraft III Открывает его процесс Потом по адресу 110075 читается 4 байта(слово) Если там 68437465 (в памяти в обратном порядке байты) тогда читаем логин и пароль, а если нет то читаем снова эти 4 байта логин находится тут 110474 - 110482 пароль находится тут 110494 - 1104A2 Правда реализовано тупо т.к. читается по одному байту гораздо проще было все разом прочесть ![]() |
![]() |
eXeL@B —› Основной форум —› Помогите с разбором алгоритма. |