Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Другие игры / Other games (https://forum.zone-game.info/forumdisplay.php?f=24)
-   -   L2 PTS (https://forum.zone-game.info/showthread.php?t=41215)

Zubastic 23.08.2016 14:33

Re: L2 PTS
 
Окей, вот такая штука:
http://klikr.org/b3681a10f4268d699e2421aa4fbc.png
Это и есть пролог. Вообще рекомендую прочитать про calling convention. Многое станет ясно.
Вот ты это заменяешь на jmp addr.В конце выполнения ты можешь сделать jmp в то место откуда пришел и программа продолжит выполнение. Или же сделать ret и она вернет значение.

Sojang 23.08.2016 14:53

Re: L2 PTS
 
Цитата:

Сообщение от Zubastic (Сообщение 417585)
Окей, вот такая штука:
http://klikr.org/b3681a10f4268d699e2421aa4fbc.png
Это и есть пролог. Вообще рекомендую прочитать про calling convention. Многое станет ясно.
Вот ты это заменяешь на jmp addr.В конце выполнения ты можешь сделать jmp в то место откуда пришел и программа продолжит выполнение. Или же сделать ret и она вернет значение.

спасибо, про пролог теперь все ясно:)
однако остались вопросы про
Цитата:

Сообщение от Zubastic (Сообщение 417585)
В конце выполнения ты можешь сделать jmp в то место откуда пришел и программа продолжит выполнение. Или же сделать ret и она вернет значение.

вот тут можете разъяснить по подробнее?:redlol:

Emperor 23.08.2016 15:04

Re: L2 PTS
 
Я думаю стоит начать с литературы, а то кол-во вопросов так и будет увеличиваться.

Sojang 23.08.2016 15:14

Re: L2 PTS
 
Цитата:

Сообщение от Emperor (Сообщение 417589)
Я думаю стоит начать с литературы, а то кол-во вопросов так и будет увеличиваться.

ну вот если вопросы у меня так и будут расти то обязательно займусь литературой:)
что нибудь посоветовать можете из книг?

Emperor 23.08.2016 15:33

Re: L2 PTS
 
Sojang, Крупника\Юрова можно почитать. У них там вроде и учебники есть для вышек и простые книги для масс.
С забугорными не знаком.

Zubastic 23.08.2016 15:36

Re: L2 PTS
 
Цитата:

Сообщение от Sojang (Сообщение 417588)
спасибо, про пролог теперь все ясно:)
однако остались вопросы про
вот тут можете разъяснить по подробнее?:redlol:

Допустим ты увеличиваешь функционал.
Ты берешь 5 байт и копируешь их к себе. Затем вместо 5 байт пишешь jmp в свою функцию. Там делаешь все, что нужно, после этого вызываешь 5 байт, которые перенес после чего делаешь jmp обратно (на тот же адрес который ты заменил +5 байт).
http://coderx.ru/showthread.php?t=3609

Вот почитай. Вообще зря ты на х64 полез, не разобравшись с х32.
Я могу ошибаться, более опытные форумчане думаю поправят.

Sojang 23.08.2016 16:13

Re: L2 PTS
 
Цитата:

Сообщение от Zubastic (Сообщение 417592)
Допустим ты увеличиваешь функционал.
Ты берешь 5 байт и копируешь их к себе. Затем вместо 5 байт пишешь jmp в свою функцию. Там делаешь все, что нужно, после этого вызываешь 5 байт, которые перенес после чего делаешь jmp обратно (на тот же адрес который ты заменил +5 байт).
http://coderx.ru/showthread.php?t=3609

Вот почитай. Вообще зря ты на х64 полез, не разобравшись с х32.
Я могу ошибаться, более опытные форумчане думаю поправят.

Так в 64 же нету __asm вставок. Как тогда сделать jmp обратно то?:(

Zubastic 23.08.2016 17:33

Re: L2 PTS
 
Ну я уверен, что есть более легальные способы, вот мои идеи:
делаешь dummy функцию, например с мессадж боксом и вместо ее пишешь jump

Sojang 23.08.2016 17:41

Re: L2 PTS
 
Цитата:

Сообщение от Zubastic (Сообщение 417595)
Ну я уверен, что есть более легальные способы, вот мои идеи:
делаешь dummy функцию, например с мессадж боксом и вместо ее пишешь jump

да я уже разобрался.
спасибо в любом случае:)

Sojang 23.08.2016 19:14

Re: L2 PTS
 
появилась новая проблема :D
Меняю начало функции на свой код(mov rax, адрес jmp rax) и все окей функция из моей длл вызывается, но как только я пытаюсь выполнить свой asm код(нужен что бы продолжить работу программы) приложение зависает и закрывается..
Из за чего это происходит?(




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

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot