Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Inject code без dll injection 
V
    Опции темы
kb64
Дата 16.8.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 2.2.2008

Репутация: нет
Всего: нет



Код

#include "stdafx.h"

#define process L"game.exe"

void SetDebugPriv();
DWORD GetProcessPID(wchar_t* processName);
void wr_func();

int _stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){

    SetDebugPriv();
    //GetProcessPID(process);

    HANDLE hOP = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, FALSE, GetProcessPID(process));
    void* alloc = 0;
    unsigned int start_adr = 0x0097EED9;
    SIZE_T allocsize = 2000;

    alloc = VirtualAllocEx(hOP, (void*)start_adr, allocsize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    WriteProcessMemory(hOP, (void*)start_adr, (void*)&wr_func, 500, 0);
    CloseHandle(hOP);
    return 0;

}

void SetDebugPriv(){
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    {
        LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
        tkp.PrivilegeCount = 1;
        tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
        AdjustTokenPrivileges(hToken, 0, &tkp, sizeof(tkp), NULL, NULL);
    }
}

DWORD GetProcessPID(wchar_t* processName){

    DWORD pid = 0;
    HANDLE hSnap;
    ::PROCESSENTRY32 pe32;

    if((hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) == INVALID_HANDLE_VALUE){
        cout << "FAILED" << endl;
        ExitProcess(0);
    }
    pe32.dwSize = sizeof(PROCESSENTRY32);
    Process32First(hSnap, &pe32);
    do{
        if(StrCmpNI(processName, pe32.szExeFile, sizeof(processName)) == 0){
            pid = pe32.th32ProcessID;
            break;
        }
    }while(::Process32Next(hSnap, &pe32));
    CloseHandle(hSnap);
    return pid;
}

void wr_func(){

    __asm{
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
    }

}


Суть в том, что мне нужно просто начиная с unsigned int start_adr = 0x0097EED9 вписать в процесс асм код функции wr_func(), вписывается фигня, цикл на перебор адресов ну типа start_adr++ делать неохото, подскажите как дальше реализовать и где косяк. спс. 

Это сообщение отредактировал(а) kb64 - 16.8.2009, 18:49
PM MAIL   Вверх
kb64
Дата 16.8.2009, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 2.2.2008

Репутация: нет
Всего: нет



ха! чёрт... и как я до этого не дошел... спасибо, то что надо
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 5
Всего: 17



не за что)


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
furang
Дата 8.10.2009, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.10.2009

Репутация: нет
Всего: нет



А как потом выполнить все это? Типа как-то так?
Код

    HANDLE rThread=CreateRemoteThread(hOP,NULL,0,(PTHREAD_START_ROUTINE)start_adr,NULL,0,NULL);
    WaitForSingleObject(rThread, 10000);
    CloseHandle(rThread);


И еще меня интересует можно ли как-то вставить не шеллкод, а именно инлайн асм вставку? Т.е. вставить реально 
Код

void wr_func(){

    __asm{
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
        mov eax, ebx
    }

}

и чтоб при компиляции все это дело само было преобразовано в шеллкод.
Может через какое-то ухищрение типа в начале функции сбросить в стек ее адресс и достать когда нужно будет.

Это сообщение отредактировал(а) furang - 8.10.2009, 13:14
PM MAIL   Вверх
GoldFinch
Дата 8.10.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



furang, если код базонезависимый - это и есть шеллкод.
пиши свою асм вставку так чтобы она была базонезависима
PM MAIL ICQ   Вверх
GremlinProg
Дата 8.10.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106




M
GremlinProg
furang
kb64
огласите причины инжекта



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 8.10.2009, 19:24 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



GremlinProg, в правилах не написано, что участники должны докладывать модераторам причины побудившие их задать вопросы на форуме. Либо ты превышаешь свои полномочия, либо убери иконку [М], и интересуйся как рядовой участник форума.

алсо обращай внимание на даты постов, kb64 написал свой последний пост в этой теме 2 месяца назад.

Добавлено @ 19:26
ссылка на правила, если кто забыл что в них написано : http://forum.vingrad.ru/act-boardrules.html


Это сообщение отредактировал(а) GoldFinch - 8.10.2009, 19:26
PM MAIL ICQ   Вверх
GremlinProg
Дата 8.10.2009, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



GoldFinch, я могу в принципе этого не спрашивать,
а за нарушение правил форума просто блокировать обоих

вот чтобы не было недоразумений и задаю вопрос,
а за провокационные действия с твоей стороны,
которые тебе были уже оглашены не раз, ты можешь сам получить очередное предупреждение,
не нужно испытывать судьбу,
Цитата(GoldFinch @  8.10.2009,  21:24 Найти цитируемый пост)
обращай внимание на даты постов, kb64 написал свой последний пост в этой теме 2 месяца назад.

это было сделано не в этом подфоруме, тема была перемещена сегодня, откуда - не знаю

повторяю вопрос:

M
GremlinProg
furangkb64, огласите причины инжекта

либо причины будут удовлетворять правилам форума,
либо тема будет просто перемещена с глаз долой


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 8.10.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



Цитата(GremlinProg @  8.10.2009,  20:38 Найти цитируемый пост)
тема была перемещена сегодня, откуда - не знаю

у этой темы не написано что она была перемещена,
более того, я помню что она была создана в этом разделе

Цитата(GremlinProg @  8.10.2009,  20:38 Найти цитируемый пост)
за нарушение правил форума

я несколько раз перечитал правила. 
я не понимаю, как тема про инжект может нарушать правила форума. она нарушает пункт 2?
"Запрещается размещать материал, который является  (...) нарушающем какой-либо закон."
какой закон, и какой страны, может нарушать эта тема?

надеюсь обсуждение законности темы и ее соответствия правилам форума, это не нарушение правил форума?

Цитата(GremlinProg @  8.10.2009,  20:38 Найти цитируемый пост)
а за провокационные действия с твоей стороны,
которые тебе были уже оглашены не раз, ты можешь сам получить очередное предупреждение,
не нужно испытывать судьбу,

а вот это - 100% оффтоп и угрозы в мой адрес

Это сообщение отредактировал(а) GoldFinch - 8.10.2009, 20:09
PM MAIL ICQ   Вверх
furang
Дата 8.10.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.10.2009

Репутация: нет
Всего: нет



Перечитал правила форума и не нашел правило которое я нарушаю. Да мне надо внедрить свой код в чужой процесс. Естественно тот процесс об этом не заподозрит и нет это не вредоносное ПО.
Есть в том процессе функция, которую мне надо выполнить в том процессе со своими параметрами.

Я отковырял ее оттуда. Со своего процесса инжекшу/инжектю код с ссылкой на параметр.... Вобщем покажу код лучше.
Код

int ololol(char *olo)
{
        int res;
        void* strmem;
        DWORD codemem;
        char shellcode[]=
        "\x8B\x15\xB0\x05\x27\x01\x8B\x92\x94\x2D\x00\x00"//MOV EDX,DWORD PTR DS:[12705B0], MOV EDX,DWORD PTR DS:[EDX+2D94]
        "\xA1\x2C\x00\x00\x00\x8B\x00\x83\xC0\x08"//MOV EAX,DWORD PTR DS:[2C],MOV EAX,DWORD PTR DS:[EAX],ADD EAX,8
        "\x89\x10\x6A\x00\xB8\x78\x56\x34\x12"//MOV DWORD PTR DS:[EAX],EDX,PUSH 0,MOV EAX,12345678 адресс строки
        "\x50\x50\xFF\x15\xB0\xF6\x7C\x00\x83\xC4\x0C"//PUSH EAX,PUSH EAX,CALL 007CF6B0,ADD ESP,0C
        "\xC3";//retn
        
        ReadProcessMemory( hProc, (LPVOID)(0x0133D5B0), (LPVOID)&res, sizeof(res), NULL );
        while (res!=0)
        {
        ReadProcessMemory( hProc, (LPVOID)(0x0133D5B0), (LPVOID)&res, sizeof(res), NULL );
        Sleep(0);
        }
        SuspendThread(mThread);
        strmem=VirtualAllocEx(hProc,NULL,1024,MEM_COMMIT,PAGE_READWRITE);
        if (strmem==NULL)
        ShowMessage("Не удалось выделить память");
        WriteProcessMemory(hProc, strmem,&olo[0],100,NULL);
            
        codemem=(DWORD)VirtualAllocEx(hProc,NULL,1024,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
        if (codemem==NULL)
        ShowMessage("Не удалось выделить память");

        WriteProcessMemory(hProc, (LPVOID)codemem,&shellcode[0],sizeof(shellcode),NULL);
        WriteProcessMemory(hProc, (LPVOID)(codemem+27),&strmem,sizeof(codemem),NULL);
        
        
        HANDLE rThread=CreateRemoteThread(hProc,NULL,0,(PTHREAD_START_ROUTINE)codemem,NULL,0,NULL);
        WaitForSingleObject(rThread, 10000);
        CloseHandle(rThread);
        
        ResumeThread(mThread);
        if(!VirtualFreeEx(hProc,(LPVOID)strmem,NULL,MEM_RELEASE)) ShowMessage ("Не удалось освободить память");
        if(!VirtualFreeEx(hProc,(LPVOID)codemem,NULL,MEM_RELEASE)) ShowMessage ("Не удалось освободить память");
        return 0;
}

И все это дело вешает чужой процесс по непонятной мне причине.
Я здесь проездом. Просто увидел похожую проблему и зарегался.
UPD:Кажется понял...
Надо обрамить
pushad
pushfd
......
popfd
popad

Это сообщение отредактировал(а) furang - 8.10.2009, 21:51
PM MAIL   Вверх
furang
Дата 8.10.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.10.2009

Репутация: нет
Всего: нет



Странно. ПРосто он потом рассматривается как код. Разве на него ядовитый ноль действует? А WriteProcessMemory() не смотрит на признак окончания строки а тупо пишет столько байт, сколько скажешь. Я даже дебагером залазил в чужой процесс и проверял. Записался ВЕСЬ шеллкод несмотря на нули.
В любом случае как избавится от него то?

Это сообщение отредактировал(а) furang - 8.10.2009, 22:11
PM MAIL   Вверх
GremlinProg
Дата 8.10.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



GoldFinch, еще раз попробуешь спровоцировать новичка,
ставлю вопрос о твоем пожизненном бане перед администрацией,
то, что ты делаешь называется троллинг, к тому же осознанный, который в проф. разделах вообще запрещен

Цитата(furang @  8.10.2009,  23:43 Найти цитируемый пост)
Перечитал правила форума и не нашел правило которое я нарушаю

furang, перечитай правила еще раз, 
и не смотри на GoldFinch, он прекрасно знает, что необоснованный инжект - нарушение гражданского кодекса РФ,
я с ним персонально разговаривал на эту тему, разжевал каждый пункт, он все понял

а второй пункт наших правил очень конкретно учитывает любого рода нарушения законов,
просто GoldFinch сильно нужна поддержка, т.к. свой экзамен он однажды не прошел
и теперь любой мой выпад в защиту правил расценивает как свое личное оскорбление

этот номер у него больше не пройдет, факт провокации я докажу, это вообще не вопрос,
т.к. разговаривали мы с ним на аналогичную тему и при таких же обстоятельствах,
амнезией тут даже не пахнет

Цитата(furang @  8.10.2009,  23:43 Найти цитируемый пост)
 и нет это не вредоносное ПО

дело не только в вирусах
Цитата(furang @  8.10.2009,  23:43 Найти цитируемый пост)
Есть в том процессе функция, которую мне надо выполнить в том процессе со своими параметрами.

я все понимаю, но я не спрашиваю что ты хочешь сделать, это-то как раз понятно, я спрашиваю в каких целях?


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
furang
Дата 8.10.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.10.2009

Репутация: нет
Всего: нет



Расширяю возможности созданного не мной программного продукта. Фриварного продукта.
Создаю под заказ, для узкого круга пользователей, посему больше рассказать ничего не могу.
PM MAIL   Вверх
GremlinProg
Дата 8.10.2009, 22:46 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



вообще-то название ни какого, и уж тем более фриварного продукта не является коммекческой тайной,
и уж тем более функционал этого продукта

объясняю: у участников не должно быть вообще ни каких сомнений в легальности дискусси на подобные темы,
поэтому выкладывай конкретно проблему и причину, не надо этих ненужных тайн,
ты от этого ничего не потеряешь, может даже получишь более простое и верное решение


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 8.10.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



Цитата(GremlinProg @  8.10.2009,  23:20 Найти цитируемый пост)
GoldFinch, он прекрасно знает, что необоснованный инжект - нарушение гражданского кодекса РФ,
я с ним персонально разговаривал на эту тему, разжевал каждый пункт, он все понял

цитату!!!
давай цитату статьи кодекса ГК РФ, запрещающую инжект!

алсо, говори за себя, если говоришь за других - приводи доказательства.

Добавлено через 1 минуту и 57 секунд
Цитата(GremlinProg @  8.10.2009,  23:20 Найти цитируемый пост)
факт провокации я докажу

докажи
PM MAIL ICQ   Вверх
GremlinProg
Дата 9.10.2009, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(GoldFinch @  9.10.2009,  01:50 Найти цитируемый пост)
если говоришь за других - приводи доказательства.

ну, раз говорю, значит можешь на них расчитывать, ты согласен на то, что я публично выложу твой ответ из личной переписки?
если нет - не буду, но могу тебе просто в личку выслать, это твое право

молчание будет ответом нет, публично я это решать не собирался
Цитата(GoldFinch @  9.10.2009,  01:50 Найти цитируемый пост)
цитату!!!давай цитату статьи кодекса ГК РФ, запрещающую инжект!

я думал, ты сам ее приведешь, ведь ее ты и оспаривал изначально
Цитата(Раздел VII ПРАВА НА РЕЗУЛЬТАТЫ ИНТЕЛЛЕКТУАЛЬНОЙ ДЕЯТЕЛЬНОСТИ И СРЕДСТВА ИНДИВИДУАЛИЗАЦИИ Глава 70 АВТОРСКОЕ ПРАВО)

Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ

1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:

1) внести в программу для ЭВМ или базу данных изменения исключительно в целях их функционирования на технических средствах пользователя и осуществлять действия, необходимые для функционирования таких программы или базы данных в соответствии с их назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также осуществить исправление явных ошибок, если иное не предусмотрено договором с правообладателем;

2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра, в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным.

2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.

3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:

1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;

2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;

3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.

4. Применение положений, предусмотренных настоящей статьей, не должно наносить неоправданный ущерб нормальному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.

смотри внимательно на все подчеркнутое и осознай, насколь широкий круг злодеяний распространяется эта глава
инжект со стороны кодекса - это:
1. декомпиляция - абсолютно точно
2. модификация - если внедряется хоть одна команда, меняющая поведение программы - да

уже 2 пункта требуют выполнения как минимум условия: "для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами", как ни крути


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 9.10.2009, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



GremlinProg, в тот раз речь шла именно о декомпиляции и модификации программы, тогда эта статья была уместна.
Сейчас же речь идет об инжекте, которой никоим образом не относится к статье 1280 ГК РФ.

Цитата(GremlinProg @  9.10.2009,  01:24 Найти цитируемый пост)
инжект со стороны кодекса - это:
1. декомпиляция - абсолютно точно
2. модификация - если внедряется хоть одна команда, меняющая поведение программы - да


1. Инжект не требует декомпиляции программы, и в общем случае, вообще не требует каких либо знаний о программе.
Инжект может быть произведен на 100% автоматически, без каких-либо действий лица запустившего инжект, если он был кем-то запущен.

Тривиальный пример инжекта - toolhelp, системная библиотека windows, собирает информацию о процессе, осуществляя инжект своего кода в адресное пространство процесса.
Все длл в списке appinit_dll автоматически инжектятся в любую программу использующую user32.dll .

Итак, для инжекта как такового, декомпиляция программы не нужна вообще. Для написания кода или данных которые инжектятся, декомпиляция программы может потребоваться, но это тема об инжекте, а не о коде который инжектится.

2. Программой, или копией программы, являются объектные файлы, а также файлы данных. 
Образ в памяти не является оригиналом, и не является копией программы, т.к. побитово не соответствует ей. Возможно это утверждение спорно.

Однако, в любом случае адресное пространство не принадлежит программе. Инжект производится в свободное адресное пространство, и не модифицирует программу.
PM MAIL ICQ   Вверх
GoldFinch
Дата 9.10.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



Я думаю также следует разъяснить следующие вопросы:

1. Являются ли законными, действия по декомпиляции и модификации программы, совершенные автоматическими программными средствами, без участия человека?
Пример - системный загрузчик (непосредственно работает с программой), системный отладчик (крешдампы), антивирусы (прямой анализ кода программы).

2. Эквивалентны ли понятия
Цитата(статья 1280 ГК РФ)
преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ)

и "преобразовать объектного кода программы в двоичном (бинарном) виде в объектный код программы в текстовом виде "
(листинг дизассемблера, дамп кода и данных программы)
Т.е. вот это (слева - объектный код в двоичном виде, справа - в текстовом)
Код

7C809E3A    8A02            MOV AL,BYTE PTR [EDX]
7C809E3C    8D46 FF         LEA EAX,DWORD PTR [ESI-1]
7C809E3F    F7D0            NOT EAX
7C809E41    8BC8            MOV ECX,EAX
7C809E43    23CA            AND ECX,EDX
7C809E45    894D E4         MOV DWORD PTR [EBP-1C],ECX
7C809E48    23C7            AND EAX,EDI
7C809E4A    8945 E0         MOV DWORD PTR [EBP-20],EAX
7C809E4D    3BC8            CMP ECX,EAX
7C809E4F    0F85 CF200000   JNZ kernel32.7C80BF24
7C809E55    834D FC FF      OR DWORD PTR [EBP-4],FFFFFFFF
7C809E59    33C0            XOR EAX,EAX
7C809E5B    E8 A186FFFF     CALL kernel32.7C802501
7C809E60    C2 0800         RETN 8

и вот это
Код

7C809E3A  8A 02 8D 46 FF F7 D0 8B C8 23 CA 89 4D E4 23 C7  ЉЌFячР‹И#К‰Mд#З
7C809E4A  89 45 E0 3B C8 0F 85 CF 20 00 00 83 4D FC FF 33  ‰Eа;И…П ..ѓMья3
7C809E5A  C0 E8 A1 86 FF FF C2 08 00                       АиЎ†яяВ.


3. Действует ли на форум Конституция РФ, а также Конституции других стран, где прописана презумпция невиновности?
Это относится к вопросу, является ли участник форума создавший тему об инжекте, априори нарушившим закон, что противоречит презумпции невиновности:
Цитата(Конституция РФ)

Статья 49
1. Каждый обвиняемый в совершении преступления считается невиновным, пока его виновность не будет доказана в предусмотренном федеральным законом порядке и установлена вступившим в законную силу приговором суда.
2. Обвиняемый не обязан доказывать свою невиновность.
3. Неустранимые сомнения в виновности лица толкуются в пользу обвиняемого. 

PM MAIL ICQ   Вверх
GremlinProg
Дата 9.10.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Сейчас же речь идет об инжекте, которой никоим образом не относится к статье 1280 ГК РФ

я уже описал коим образом относится инжект к этой статье
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Инжект не требует декомпиляции программы, и в общем случае, вообще не требует каких либо знаний о программе.Инжект может быть произведен на 100% автоматически, без каких-либо действий лица запустившего инжект, если он был кем-то запущен

в том плане, в котором на форум приходят темы по инжекту, я пока ни одного не видел, где бы не требовался анализ кода,
причем даже данная тема это наглядно демонстрирует, ну не из воздуха же взялся start_adr

думаю, по этому поводу все понятно, так что про автоматизацию инжекта забудь,
я этого даже не касаюсь и не вникаю в toolhelp: какой смысл майкрософту забираться в форточку своего же дома,
когда у нее ключ в кармане от всех дверей
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Программой, или копией программы, являются объектные файлы, а также файлы данных. Образ в памяти не является оригиналом, и не является копией программы, т.к. побитово не соответствует ей. Возможно это утверждение спорно.

ты сказал примерно следующее: "ребенок - не есть сын своей матери, т.к. не является ее точной копией",
даже не знаю, спорить - нет?
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Однако, в любом случае адресное пространство не принадлежит программе.

примерно из той же оперы: "земля подо мной мне не принадлежит, можешь рыть яму прямо там, где я стою, я ведь умею летать"
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
 и не модифицирует программу.

интересно, какова же функция инжекта, ежели это не так, ей богу, странные вещи пишешь


Цитата(GoldFinch @  9.10.2009,  20:25 Найти цитируемый пост)
Являются ли законными, действия по декомпиляции и модификации программы, совершенные автоматическими программными средствами, без участия человека?

нет, киборгов мы пока не придумали, программы пока пишут люди
Цитата(GoldFinch @  9.10.2009,  20:25 Найти цитируемый пост)
Эквивалентны ли понятия

) да


M
GremlinProg
вобщем, инжект нужно как минимум обосновать, с точки зрения приведенной статьи, точка!



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1166 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.