Всем привет! Помогите крякнуть програмку. С помощью Olly Dbg я обнаружил адрес, по которому вызывается "прявязка" программы. Код (Text): 00681131 . 50 PUSH EAX ; /Arg3 00681132 . 6A 18 PUSH 18 ; |Arg2 = 00000018 00681134 . 68 00596900 PUSH dsetup.00695900 ; |Arg1 = 00695900 ASCII "213.186.120.195" 00681139 . 880D 003F6900 MOV BYTE PTR DS:[693F00],CL ; | 0068113F . E8 66480000 CALL dsetup.006859AA ; \dsetup.006859AA вот по адресу 00681134 идет PUSH dsetup.00695900 Мне надо написать Dll-ку которая в этот адрес поместит например PUSH ТО ЧТО Я УКАЖУ как так можно сделать?)
Ээээ мало информации, лучше программу или текстов по больше) Но если это точно то что нужно... Можно лоадер написать, т.е. программа запускает процесс указывает то что нужно остановить главный поток, потом проверить что то -что надо и пропатчить
Ну сморите, для сплайсинга я юзаю Код (Text): mov ebx, eax mov edx, DrawHook add ebx, 05h sub edx, ebx ; calc (hook - (orig + 5)) mov byte [eax], 0E8h ; call mov dword [eax+1], edx ; rel32 где в EAX адрес который надо сплайсить E8 - это "call" Можно ли как то исходя из сплайсинга выехать (сделать что то подобное)....?
я не совсем понял, что Вы хотите. если Вы хотите сплайсингом все решить то перехватите CALL dsetup.006859AA и изменить аргуемент, но лучше разобраться с тем, как он формируется. но как мне кажется |Arg1 = 00695900 ASCII "213.186.120.195" это ip адрес. Вы разобрались с тем что делает CALL dsetup.006859AA, а лучше выложите программу!
Как насчет такого Код (Text): mov eax, 000681134h ; 00681134 mov ebx, eax ; mov edx, [ip] ; в едх - указатель на строку mov byte [eax], 068h ; в 00681134 записать PUSH mov dword [eax+1], edx ; в 00681135 записать указатель на строку