1

Тема: Як дізнатися змінну з програми.

От припустимо є програма в коді якої є змінна

int a = 0;

ця зміна може дорівнювати чому небудь і змінюється при роботі програми.
Питання: Як на C# дізнатися чому вона дорівнює ?
Зарание дакую.

2

Re: Як дізнатися змінну з програми.

Мається на увазі, як порівняти значення змінної з якоюсь величиною?
Порівняння в С# (та ряді інших мов) робиться так: a==0
Його можна використати в умові if(...), while(...) та ін., або присвоїти булевій змінній, повернути як результат булевої функції, і т.п.

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊

3

Re: Як дізнатися змінну з програми.

P.Y. написав:

Мається на увазі, як порівняти значення змінної з якоюсь величиною?
Порівняння в С# (та ряді інших мов) робиться так: a==0
Його можна використати в умові if(...), while(...) та ін., або присвоїти булевій змінній, повернути як результат булевої функції, і т.п.

Ні!
Є програма наприклад Skype там є змінні...
Є програма Cheat Engine там можна дізнатися значення всіх зміних в будь якій програмі...
От як на C# дізнатися значення зміной в програмі по адресі типу: 00030880
PS: Роблю програму яка буде показувати статистику в грі.

4

Re: Як дізнатися змінну з програми.

Ще один Дмитро-Чебурашка.
Я пишу програма про Місяць. Там є змінна

bool є_вода = false;

Як дізнатися, чи є життя на Марсі?

Подякували: Mr.Burns1

5

Re: Як дізнатися змінну з програми.

mich_retten написав:

Ще один Дмитро-Чебурашка.
Я пишу програма про Місяць. Там є змінна

bool є_вода = false;

Як дізнатися, чи є життя на Марсі?

Якщо я правельно вас зрозумів то це неможливо ?
Але хіба не можливо дістати дані з оперативної памяті ?
От тільки як ?

6

Re: Як дізнатися змінну з програми.

По-моєму, простіше буде декомпілювати дотнетівський екзешник, дописати в отриманий код передачу змінних туди, куди нам треба, і скомпілювати.

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊

7 Востаннє редагувалося raxp (26.07.2015 13:00:59)

Re: Як дізнатися змінну з програми.

простіше буде декомпілювати дотнетівський екзешник

дотнетівський простіше, так. Але з цього:

припустимо є програма в коді якої є змінна

Як на C#

не випливає, що екзешник дотнетівський.

яка буде показувати статистику в грі

гадаю доречно буде пригадати, що в 5-му номері "ПРОграммист"-а була стаття з читання та редагуванню параметрів в чужому додатку на прикладі гри GTA (читати зі стор. 73) за допомогою ArtMoney. Звичайно для більш серйозного підходу OllyDbg в руки, але це вже не до мене.

p.s.: до речі про статистику, часто ігри мають API для зовнішнього доступу по мережі з сервера, той же CS цілком собі офіційно представлений повним протоколом. Так що злом зовсім не панацея.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог

8

Re: Як дізнатися змінну з програми.

P.Y. написав:

По-моєму, простіше буде декомпілювати дотнетівський екзешник, дописати в отриманий код передачу змінних туди, куди нам треба, і скомпілювати.

Є проблема...
Гра не EXE а запускаєтся через Flash Player исходного як такого немає.

9 Востаннє редагувалося raxp (26.07.2015 13:03:24)

Re: Як дізнатися змінну з програми.

Flash Player

c флеш-іграми або розпізнавання з екрану (якщо рахунок взагалі виводиться постійно на екран), або реверсінг протоколу обміну, якщо гра мережева.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог

10

Re: Як дізнатися змінну з програми.

Якщо гра на флеші, то до чого тут сішарп?

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊

11 Востаннє редагувалося Fox (26.07.2015 13:29:09)

Re: Як дізнатися змінну з програми.

P.Y. написав:

Якщо гра на флеші, то до чого тут сішарп?

Гра не моя...
Просто для себе хочу зробити програму яка показуватипе статистику.
Програма Cheat Engine якось достає значення зміних з програм...
А як таке на C# зробити незнаю :(

12

Re: Як дізнатися змінну з програми.

P.Y. написав:

Якщо гра на флеші, то до чого тут сішарп?

От є трейнери на C# C++ и т.д.
Вони добавляють гроші, телепортують игроків... Кородше кажучи чити.
Роблять це вони за допомогою зміни даних в програмі за адресою яку можна взяти в Cheat Engine.
А от як за цією адресою не змінити дані а дізнатися їх значення ?

13

Re: Як дізнатися змінну з програми.

Ніхто не заважає написати свій трейнер з виводом значення за адресою куди-небудь ще, до себе наприклад. Мої ремарки ви судячи по всьому ігноруєте.

Білоруський журнал «Радиолюбитель»
Lead Radar systems engineer & Software developer of industrial automation
Мої розробки та відеоблог

14

Re: Як дізнатися змінну з програми.

ReadProcessMemory в поміч. От приклад
На рахунок адреси: впевніться що все вірно знайшли (перезапустіть гру і подивіться чи значення досі там) бо для такого фокусу зазвичай треба знайти вказівник і зміщення а не просто адресу (про це вже здається була тема на форумі)

Maybe a = Just a | Nothing
Подякували: /KIT\1