Перейти к содержанию

Изменения Кода Ассемблера Через Программу


Рекомендуемые сообщения

Вот есть код.

Можно ли сделать так допустим на c++ или на дельфи или на си шарп?

То как?


[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mov esi,ebx
lea edi,[ebp-34]
exit:
jmp returnhere


"sauerbraten.exe"+C9B82:
jmp newmem
nop
nop
returnhere:


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"sauerbraten.exe"+C9B82:
dec [ecx]
mov esi,ebx
lea edi,[ebp-34]
//Alt: db FF 09 8B F3 8D 7D CC

Изменено пользователем Andrey
Код добавлен в тег [CODE]
Ссылка на комментарий
Поделиться на другие сайты

Знал бы ты кое-что в языках программирование, не задавал бы глупый вопрос...

Как меня бесят такие люди как ты.

Языки программирования я знаю.

php и начал изучать дельфи.

Я только начал по взлому программ.

Осёл.

[Держи], посмотри первый урок, если что-то не поймёшь - задавай вопросы.

Я прекрасно понимаю что и как изменить через программу , но там только значение.

А мне нужно занопить некоторый код как это сделать?

Ссылка на комментарий
Поделиться на другие сайты

Как меня бесят такие люди как ты.

Языки программирования я знаю.

php и начал изучать дельфи.

Я только начал по взлому программ.

Осёл.

Привет, тебя в школе чмырят? :closeyes:Как надо изучать язык, чтобы не знать элементарного. И надо иметь уважение к старшим. Он всё правильно написал.

[невероятная сложность]google.ru/delphi работа с памятью[/невероятная сложность]

Ссылка на комментарий
Поделиться на другие сайты

Опять эта школота.... Это элементарные вещи которые нужно знать такому "хацкеру" как ты и еще читай это.

И надо иметь уважение к старшим.
Ссылка на комментарий
Поделиться на другие сайты

Ты что читать не умеешь?

Я написал что я знаю как изменить число в памяти.

Я не имею понятия как удалить вот это mov esi,ebx

Сперва подумай что я спросил, а потом уже начинай нести чушь.

Ссылка на комментарий
Поделиться на другие сайты

Любой код игры, по сути, представляет собой сочетание чисел в определенной области памяти, помеченной как исполняемая. Следовательно, изменить код игры можно абсолютно теми же алгоритмами, что и изменением памяти, только, естественно, адреса патчей будут другими.

ЗЫ. Всем участникам форума - замечу еще препирательства и взаимные оскорбления - каждому влеплю по два преда сразу, и разбираться не буду, кто из вас прав, а кто - нет. Будьте друг с другом взаимно вежливы, невзирая на уровни знаний.

Ссылка на комментарий
Поделиться на другие сайты

Ты что читать не умеешь?

Я написал что я знаю как изменить число в памяти.

Я не имею понятия как удалить вот это mov esi,ebx

Сперва подумай что я спросил, а потом уже начинай нести чушь.

Он тебе чушь не писал, да ты и не писал про то что умеешь O-=

Используй функцию WriteProcessMemory, memcpy. etc.

И будь спокойнее и вежливее, тогда тебе всегда будут помогать.

Ссылка на комментарий
Поделиться на другие сайты

Напишите хотя бы что нужно сделать

.

WindowName := FindWindow(nil,WindowTitle); // это чтоб найти окно

ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId); // найти хендл

HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId); // с игрой

ReadProcessMemory(HandleWindow,ptr(address),@b,4,readwrite); // читаем

b:=b+368; // оффсет

thesss:=5; // на что сменить

WriteProcessMemory(HandleWindow, ptr(B), @thesss, 4, readwrite); // изменяем

Как изменить этот код чтоб он удалил dec [ecx] ?

Понятия я ваще не имею.

Ссылка на комментарий
Поделиться на другие сайты

Как меня бесят такие люди как ты.

Языки программирования я знаю.

php и начал изучать дельфи.

Я только начал по взлому программ.

Осёл.

Я прекрасно понимаю что и как изменить через программу , но там только значение.

А мне нужно занопить некоторый код как это сделать?

В видео как раз это наглядно показано. 0_о

Т.е. например у тебя есть вот такой код:

0x004321 | AA BB CC DD | MOV EAX,EBX

Хочется получить вот такой результат:

0x004321 | 90 90 90 90 | NOP NOP NOP NOP

Что для этого нужно сделать? Псевдокод:


addr = 0x004321;
valueOn = {0x90, 0x90, 0x90, 0x90};
valueOff = {0xAA, 0xBB, 0xCC, 0xDD};

handle = OpenProcess(P_A_A, 0, pID);
WriteProcessMemory(handle, addr, valueOn, 4, 0);
CloseHandle(handle);

Ссылка на комментарий
Поделиться на другие сайты

Так, Revi, персонально тебе замечание делаю. Оставь свой язвительный тон за пределами форума. Это раз. И, наконец, потрудись почитать и обдумать статьи, которые есть на нашем форуме. Это два. Никто не станет делать все ЗА тебя, что ты, очевидно, понимаешь под помощью. Мы помогаем, даем советы, подталкиваем в нужном направлении, потому что только так можно научиться что-либо взламывать. Мы НЕ будем делать за тебя взлом целиком, потому что в этом случае ты ничему не научишься, и это не будет твой взлом, это будет наш взлом и твоя копипаста. Это три. Делай выводы.

Ссылка на комментарий
Поделиться на другие сайты

Ну я не спросил вас писать все за меня.

А просто написать как это сделать без какого либо кода.

И на форуме я не видел статьи создании такого.(Не нужно пихать статьи где написано как изменить значение это совсем другое)

Ссылка на комментарий
Поделиться на другие сайты

Ну я не спросил вас писать все за меня.

А просто написать как это сделать без какого либо кода.

И на форуме я не видел статьи создании такого.(Не нужно пихать статьи где написано как изменить значение это совсем другое)

В том-то вся и штука, что это одно и то же. Почитай про формат РЕ-файлов - там есть секции, код и данные по сути хранятся в этих секциях, так что одними и теми же функциями можно менять и то и другое.

Ссылка на комментарий
Поделиться на другие сайты

Ну я не спросил вас писать все за меня.

А просто написать как это сделать без какого либо кода.

Это можно сделать написав программу. Это ответ на твой вопрос без "какого-либо кода". Ты же сам понимаешь, что это ответ ни о чём. И все кто читал твой первый пост восприняли его как помочь и рассказать словами, то что нужно писать на языке программирования. В твоём случае тебе нужно публиковать исходный код всей программы (которую ты пишешь) "от и до" и писать, что у тебя не получается.

Ссылка на комментарий
Поделиться на другие сайты

Вот есть код.

Можно ли сделать так допустим на c++ или на дельфи или на си шарп?

То как?


[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mov esi,ebx
lea edi,[ebp-34]
exit:
jmp returnhere


"sauerbraten.exe"+C9B82:
jmp newmem
nop
nop
returnhere:


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"sauerbraten.exe"+C9B82:
dec [ecx]
mov esi,ebx
lea edi,[ebp-34]
//Alt: db FF 09 8B F3 8D 7D CC

Привет. вот статья http://forum.gamehacklab.ru/topic/1019-иньекция-своего-кода-на-vc/ на C# там в конце исходники лежат, будут вопросы пиши..

На днях перевели на VB скоро буду загружать на форум.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.