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

Chucky

Пользователи
  • Постов

    83
  • Зарегистрирован

  • Посещение

Весь контент Chucky

  1. NullAlex, спасибо. На мой взгляд так удобнее и практичнее!
  2. garik66, а так же все остальные, кто принимал участие в диалоге, большое спасибо!
  3. Первый скрипт точно работает!!! Число - #1120403456 = (float)100
  4. Не работает тоже. Попробовал поработать с другой инструкцией. Все работает. Вот скрипт:
  5. garik66, проверил твой скрипт. Так же как и у меня, масло в фонаре равно 0.
  6. Посмотри внимательно мой второй скрипт. exit: Ошибка не в этом.
  7. Привет всем! Подскажите, как в примере, который выложил keng (https://github.com/remizovm/keng_trn_asm). Вместо бегущих звезд сделать фон из картинки формата *.jpg и кнопку из двух картинок (обычное состояние и, когда она нажата).
  8. Выскочила такая же ошибка, как в 159 (http://forum.gamehacklab.ru/topic/121-bagi-foruma-i-sajta/?p=23870) сообщении у RockHamer'a.
  9. Блин, парни, я под словом исходник имел ввиду этот код. Код на чистом WinApI. Компилируется без проблем.
  10. Я еще могу понять, когда делают чит "Антиотдача" и тому подобные.. Но какой интерес становится у игры, с использованием подобных LOL читов?? P.S.: Уберите, пожалуйста, ваши видео под спойлер. К тому же "битые" можно удалить...
  11. gmz, сделай свою версию трейнера в GTS. И мы посмотрим как он схож с трейнером от CuBiC'a! Посмотрим на дизайн, функционал и тогда, может быть, будем рассуждать! А так, порочить некогда существовавшую команду Team-X, не в твоей компетенции!!!
  12. Может кому пригодится.. В свое время наткнулся на данный исходник. Название Code Cave Finder (2CFinder). Автор: NC22. Программа ищет пустые области памяти конкретного приложения и проверяет их на доступность для записи. Приложение задается по названию окна. Команды для патчера памяти (Кнопка "Инъекция") [WriteTest|0] - выключить проверку , доступна ли память для записи ( не рекомендуется выключать ) [Path|00401433|90FF90D0D0D0FF] - второй параметр - оффсет памяти от которого запишется 90FF90D0D0D0FF (т.е. 00401433 - 90 00401434 - FF и т.д.) [About] - связь с автором program finder;uses windows, messages, commctrl, SysUtils; //Используемые модули// Иконка//{$R 'icon.res'}var WinClass : TWndClass; //переменная класса TWndClass для создания главного окна hInst : HWND; //хандлер приложения Handle : HWND; //локальный хандлер Msg : TMSG; //сообщение hFont : HWND; //хандлер шрифта game : HWND; //TEdit buff : array[0.. 127] of Char; List : HWND; //TListBox Button1 : HWND; //TButton Button2 : HWND; //TButton Edit1 : HWND; //TEdit Edit2 : HWND; //TEdit Syze : HWND; //TEdit//форма инжектора Inj : HWND; SMenu:HWND; Label2 : HWND; //TLabel code : HWND; //TMemo inject : HWND; //TButton WriteMemTest : byte;// adress : HWND; //TEdit function GetLen(source: String): integer; begin result:=Length(source); end; (*function StrToHex(source: String): String;var i:integer; c:Char; s:String;begin s := ''; for i:=1 to Length(source) do begin c := source[i]; s := s + IntToHex(Integer(c),2)+' '; end; result := s;end;function StrToInt(const S: string): Integer;var E: Integer;begin Val(S, Result, E);end; *)function Err(msg: PChar): byte;begin MessageBox(Handle,msg,'Error',MB_OK or MB_ICONINFORMATION); result := 1;end;procedure ShutDown; //процедура завершения программыbegin DeleteObject(hFont); //удаление шрифта UnRegisterClass('TAPIxForm', hInst); //удаление окна ExitProcess(hInst); //закрытие программыend;procedure injector; //процедура завершения программыvar//adres:cardinal;content: string;WindowName : integer;i : integer;b : integer;skip:bool;adr: byte;writedbite : cardinal;write : cardinal;ProcessId : integer;HandleWindow : HWND;parsstate: byte;(*1 - считывание типа операции2 - Операция Path получение 1 параметра3 - Операция Path получение 2 параметра9 - обработка операции*)parspreget: string;parsget : array of array of string;{--------------parsget-----------[адрес операции]-----------[0] - название-----------[1] - параметр 1-----------[2] - параметр 2}//debug : cardinal;len: integer;lens: integer;begin//GetWindowText(adress,buff,255);//content:=buff;//if Length(content)=0 then begin Err('Задайте адрес'); Exit; end;//adres:=StrToInt('$'+buff);GetWindowText(code,buff,255);content:=buff;if Length(content)=0 then begin Err('Код инъекции не набран'); Exit; end;//небольшой парсер кода / возможно получит развитиеparspreget:='';parsstate:=0;//setlength(parsget,1,1);len:=0; For i := 1 to Length(content) do begin if content[i]='[' then begin if parsstate=0 then begin parsstate:=1; CONTINUE; end else begin Err('Неожиданное начало операции'); Exit; end; end; if (parsstate=1) or (parsstate=2) or (parsstate=3) then begin if content[i]='|' then begin if parsstate = 1 then parsstate:=9 else if parsstate = 2 then begin if parsget[len][0]='Path' then begin if parspreget = '' then begin Err('Поле параметра 1 пустое'); Exit; end; parsget[len][1]:=parspreget; parsstate:=3; end; parspreget:=''; end; end else if content[i]=']' then begin if parsstate=3 then begin if parspreget = '' then begin Err('Поле параметра 2 пустое'); Exit; end; parsget[len][2]:=parspreget; parsstate:=0; len:=0; parspreget:=''; CONTINUE; end; if parsstate=2 then begin if parsget[len][0]='WriteTest' then begin WriteMemTest:=StrToInt(parspreget); parsstate:=0; parspreget:=''; end else if parsget[len][0]='Path' then begin Err('Недостаточно параметров для операции Path. Используйте [Path|Адресс_Памяти|Данные]'); Exit; end; end else if (parspreget='About') then begin Err('Автор NC22 (mail torrenttvi@gmail.com) v1.0 beta'); Exit; end else begin Err(PChar('Неожиданный конец операции (код : '+IntToStr(parsstate)+')')); Exit; end; end else parspreget:=parspreget+content[i]; end; if parsstate=9 then begin if (parspreget='Path') or (parspreget='WriteTest') then begin parsstate:=2; len:=Length(parsget); setlength(parsget,len+1); setlength(parsget[len],3); parsget[len][0]:=parspreget; end else begin Err(PChar('Неизвестная операция '+parspreget)); Exit; end; parspreget:=''; end; end;GetWindowText(game,buff,255);WindowName := FindWindow(nil,buff);If WindowName = 0 then begin Err('Процесс не найден'); Exit; end; GetWindowThreadProcessId(WindowName,@ProcessId); HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);len:=Length(parsget);SuspendThread(HandleWindow); For i:= 0 to len do begin if parsget[i][0]='Path' then begin lens:=Length(parsget[i][2]); adr:=0; skip:=false; For b:= 1 to lens do begin //[Path|00401433|90FF90D0] Otherside if skip then begin skip:=false; CONTINUE; end else skip:=true; writedbite:=StrToInt('$'+parsget[i][2][b]+parsget[i][2][b+1]); WriteProcessMemory(HandleWindow, ptr(StrToInt('$'+parsget[i][1])+adr), @writedbite,sizeof(writedbite), write); adr:=adr+1; end; end; end;Err(PChar(string('ok'))); /// после цикла не двигается дальшеResumeThread(HandleWindow);CloseHandle(HandleWindow);//ShutDown;end;procedure Find;varstart:cardinal;fin:cardinal;m:cardinal;total: cardinal;WindowName : integer;ProcessId : integer;HandleWindow : HWND;write : cardinal;output : cardinal;prevm : cardinal;word: PChar;testmem:byte;begintestmem:=$00;GetWindowText(game,buff,255);WindowName := FindWindow(nil,buff); If WindowName = 0 then begin Err('Процесс не найден'); Exit; end;GetWindowThreadProcessId(WindowName,@ProcessId);HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);SendMessage(List,lb_ResetContent,0,0);GetWindowText(Syze,buff,255); total:=StrToInt(buff); GetWindowText(Edit1,buff,255); start:=StrToInt('$'+buff);GetWindowText(Edit2,buff,255); fin:=StrToInt('$'+buff); m:=start; prevm:=0; while m <= fin do begin ReadProcessMemory(HandleWindow,ptr(m),@output,1, write); //SendMessage(List,lb_addstring,0,lParam(IntToHex(output, 1)+'|'+IntToHex(m, 8)+'|'+IntToStr(total)+'|'+IntToHex(write, 8))); if (output=0) then begin if prevm=0 then prevm:=m; // m:=m+total; end else if prevm<>0 then begin word:=PChar(IntToHex(prevm, 8)+'-'+IntToHex(m-1, 8)+'('+IntToStr(m-prevm)+'б)'); if m-prevm>=total then if WriteMemTest=1 then begin if WriteProcessMemory(HandleWindow, ptr(prevm), @testmem,1, write) then SendMessage(List,lb_addstring,0,lParam(word)); end else SendMessage(List,lb_addstring,0,lParam(word)); prevm:=0; end; m:=m+1; end; word:=PChar(IntToHex(prevm, 8)+'-'+IntToHex(m-1, 8)+'('+IntToStr(m-prevm)+'б)'); if prevm>0 then if m-prevm>=total then SendMessage(List,lb_addstring,0,lParam(word)); CloseHandle(HandleWindow);end;function WindowProc(hwnd, msg, wparam, lparam: longint): longint; stdcall; //обработчик сообщенийbegin case Msg of WM_COMMAND: case LoWord(wParam) of 3: if HiWord(wParam) = bn_Clicked then Injector; 1: if HiWord(wParam) = bn_Clicked then Find; 2: if HiWord(wParam) = bn_Clicked then begin if Inj<>0 then Exit; Inj := CreateWindowEx(0, 'TAPIxForm', '2CFinder - Injector',WS_OVERLAPPEDWINDOW or WS_VISIBLE or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU,715, 117, 315, 244, 0, 0, Inj, nil); ShowWindow(Inj, SW_SHOW);SMenu := GetSystemMenu(Inj, FALSE);if (SMenu <> 0) thenDeleteMenu(SMenu, SC_CLOSE, MF_BYCOMMAND);Label2 := CreateWindow( 'Static','Синтаксис: [Path|Адресс|Данные]' ,WS_CHILD or SS_NOTIFY or SS_LEFT or WS_VISIBLE, 8, 8, 300, 13, Inj, 0, 0, nil);SendMessage(Label2, WM_SETFONT, hFont, 0); // adress := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','' ,WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE,48, 8, 241, 21, Inj, 0, 0, nil);SendMessage(adress, WM_SETFONT, hFont, 0);code := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','' ,WS_CHILD or ES_MULTILINE or ES_WANTRETURN or ES_AUTOVSCROLL or WS_VISIBLE,8, 40, 281, 121, Inj, 5, 0, nil); SendMessage(code, WM_SETFONT, hFont, 0);inject := CreateWindow('Button','Инъекция',WS_CHILD or BS_TEXT or WS_VISIBLE,8, 168, 281, 33, Inj, 3, 0, nil);SendMessage(inject, WM_SETFONT, hFont, 0); end; end; WM_DESTROY: ShutDown; end; Result := DefWindowProc(hwnd, msg, wparam, lparam);end;beginWriteMemTest:=1;hInst := GetModuleHandle(nil); with WinClass do begin Style := CS_PARENTDC; //стиль класса главного окна hIcon := LoadIcon(hInst, MAKEINTRESOURCE('APIXICON')); //иконка программы lpfnWndProc := @WindowProc; //назначение обработчика сообщений hInstance := hInst; hbrBackground := COLOR_BTNFACE + 1; //цвет окна lpszClassName := 'TAPIxForm'; //класс окна hCursor := LoadCursor(0, IDC_ARROW); //активный курсор end;InitCommonControls;RegisterClass(WinClass); //регистрация класса в системе// Создание главного окна программыHandle := CreateWindowEx(0, 'TAPIxForm', '2CFinder',WS_OVERLAPPEDWINDOW orWS_VISIBLE or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU,503, 117, 212, 352,0, 0,hInst, nil);SMenu := GetSystemMenu(Handle, FALSE);if (SMenu <> 0) thenDeleteMenu(SMenu, SC_MAXIMIZE, MF_BYCOMMAND);DeleteMenu(SMenu, SC_SIZE, MF_BYCOMMAND);// Создание шрифтаhFont := CreateFont(-11, 0, 0, 0, 0, 0, 0, 0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH or FF_DONTCARE, 'MS Sans Serif');game := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','Название окна' ,WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE,8, 16, 177, 21, Handle, 0, hInst, nil);SendMessage(game, WM_SETFONT, hFont, 0);List := CreateWindowEx(WS_EX_CLIENTEDGE,'listbox','',WS_CHILD or WS_VISIBLE or LBS_EXTENDEDSEL or WS_VSCROLL,8, 88, 177, 185, Handle, 0, hInst, nil);SendMessage(List, WM_SETFONT, hFont, 0);Button1 := CreateWindow('Button','Искать',WS_CHILD or BS_TEXT or WS_VISIBLE,8, 280, 81, 25, Handle, 1, hInst, nil);SendMessage(Button1, WM_SETFONT, hFont, 0);Syze := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','8' ,WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE,95, 280, 25, 25, Handle, 0, hInst, nil);SendMessage(Syze, WM_SETFONT, hFont, 0);Button2 := CreateWindow('Button','Инъекция',WS_CHILD or BS_TEXT or WS_VISIBLE,125, 280, 60, 25, Handle, 2, hInst, nil);SendMessage(Button2, WM_SETFONT, hFont, 0);Edit1 := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','00400000' ,WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE,8, 40, 177, 21, Handle, 0, hInst, nil);SendMessage(Edit1, WM_SETFONT, hFont, 0);Edit2 := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','004FFFFF' ,WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE,8, 64, 177, 21, Handle, 0, hInst, nil);SendMessage(Edit2, WM_SETFONT, hFont, 0); // Цикл сбора сообщений while(GetMessage(Msg, 0, 0, 0)) do begin TranslateMessage(Msg); //прием сообщений DispatchMessage(Msg); //удаление сообщений из очереди end; end.
  13. Да уж, создал дебатную дискуссию.. :-) keng, спасибо, еще раз!
  14. Можешь в ЛС номер аськи скинуть?
  15. У кого есть пример реализации на ассемблере?
  16. Которые в системе - меня не устраивают.. В интернете - не могу найти! Дайте ссылку, пожалуйста....
  17. Помню эту команду. Отличное оформление трейнера.
  18. var mStream: TStringStream; URL : string; begin mStream := TStringStream.Create; URL := Edit1.Text; idHttp1 := TIdHTTP.Create(nil); idHttp1.Get(URL, mStream); Memo1.Clear; Memo1.Text := mStream.DataString; // вариант1, кодировка charset=windows-1251 //или Memo1.Text := UTF8Decode (mStream.DataString); // вариант2, кодировка charset=UTF-8 end;
×
×
  • Создать...

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

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