![]() |
eXeL@B —› Вопросы новичков —› Вопрос по IDA |
Посл.ответ | Сообщение |
|
Создано: 31 января 2013 22:30 · Личное сообщение · #1 Добрый день. Вопрос такой. Как правильно указать ссылку на функцию Call в адрес .text:082D9C4C, а то прыгает в другое место call sub_859BC8D E8 2D 9C 4C 00 попадает суда: .text:0859BC8D sub_859BC8D proc near ; CODE XREF: gnpc_imp::DispatchExp(XID &,int &,int &,int &,XID &,int &,int &)+51p .text:0859BC8D .text:0859BC8D var_C = dword ptr -0Ch .text:0859BC8D .text:0859BC8D sub esp, 8 .text:0859BC90 mov eax, 45FA0000h .text:0859BC95 push eax ; float .text:0859BC96 push dword ptr [ebp+0Ch] а нужно чтоб суда прыгало на эту функцию: .text:082D9C4C ; ONET::Conf::dump(_IO_FILE *) .text:082D9C4C public _ZN4ONET4Conf4dumpEP8_IO_FILE .text:082D9C4C _ZN4ONET4Conf4dumpEP8_IO_FILE proc near .text:082D9C4C .text:082D9C4C var_8 = word ptr -8 .text:082D9C4C var_6 = word ptr -6 .text:082D9C4C var_4 = dword ptr -4 .text:082D9C4C arg_0 = dword ptr 8 .text:082D9C4C arg_4 = dword ptr 0Ch .text:082D9C4C .text:082D9C4C push ebp .text:082D9C4D mov ebp, esp .text:082D9C4F sub esp, 8 .text:082D9C52 mov eax, offset _ZN15player_template9_instanceE ; player_template::_instance .text:082D9C57 mov [ebp+var_4], eax .text:082D9C5A mov edx, [ebp+arg_0] .text:082D9C5D mov eax, [ebp+arg_0] .text:082D9C60 fild dword ptr [eax] .text:082D9C62 mov eax, [ebp+var_4] .text:082D9C65 fld dword ptr [eax+18ACh] .text:082D9C6B fld1 .text:082D9C6D faddp st(1), st .text:082D9C6F fmulp st(1), st .text:082D9C71 fnstcw [ebp+var_6] .text:082D9C74 mov ax, [ebp+var_6] .text:082D9C78 mov ah, 0Ch .text:082D9C7A mov [ebp+var_8], ax .text:082D9C7E fldcw [ebp+var_8] .text:082D9C81 fistp dword ptr [edx] .text:082D9C83 fldcw [ebp+var_6] .text:082D9C86 mov edx, [ebp+arg_4] .text:082D9C89 mov eax, [ebp+arg_4] .text:082D9C8C fild dword ptr [eax] .text:082D9C8E mov eax, [ebp+var_4] .text:082D9C91 fld dword ptr [eax+18B0h] .text:082D9C97 fld1 .text:082D9C99 faddp st(1), st .text:082D9C9B fmulp st(1), st .text:082D9C9D fldcw [ebp+var_8] .text:082D9CA0 fistp dword ptr [edx] .text:082D9CA2 fldcw [ebp+var_6] .text:082D9CA5 leave .text:082D9CA6 retn .text:082D9CA6 _ZN4ONET4Conf4dumpEP8_IO_FILE endp Все перепробовал попадает в другие места но не на эту функцию, помогите решить проблему, заранее спасибо. ![]() |
|
Создано: 31 января 2013 22:34 · Поправил: reversecode · Личное сообщение · #2 обзавестись мануалом по ассемблеру и прочитать главу посвященную комманде call http://faydoc.tripod.com/cpu/call.htm к IDA не имеет никакого отношения ![]() |
|
Создано: 31 января 2013 22:37 · Личное сообщение · #3 |
|
Создано: 31 января 2013 22:58 · Личное сообщение · #4 |
|
Создано: 01 февраля 2013 00:41 · Личное сообщение · #5 Арчер спасибо за ответ, но вы направляете на мануал вовсе не для новичков. Реверскоде прочел статью которую вы мне дали ссылку узнал про типы call, но так и не понял на что ссылаться и чем руководствоваться при изменении call чтоб она ссылалась на другую функцию, от куда берутся эти байты E8 2D 9C 4C 00? ![]() |
|
Создано: 01 февраля 2013 00:47 · Личное сообщение · #6 на каком языке прочли? The target operand specifies either an absolute offset in the code segment (that is an offset from the base of the code segment) or a relative offset (a signed displacement relative to the current value of the instruction pointer in the EIP register, which points to the instruction following the CALL instruction) ![]() |
|
Создано: 01 февраля 2013 00:51 · Личное сообщение · #7 |
|
Создано: 01 февраля 2013 01:02 · Поправил: c7111981 · Личное сообщение · #8 |
|
Создано: 01 февраля 2013 01:23 · Личное сообщение · #9 |
|
Создано: 01 февраля 2013 01:34 · Личное сообщение · #10 |
|
Создано: 01 февраля 2013 01:57 · Личное сообщение · #11 |
|
Создано: 01 февраля 2013 08:49 · Личное сообщение · #12 |
![]() |
eXeL@B —› Вопросы новичков —› Вопрос по IDA |