Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Колисниченко Д. Н. Хакинг на linux.pdf
Скачиваний:
17
Добавлен:
19.04.2024
Размер:
29.19 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

Такm

вот, последнюю

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

"

.c

 

 

 

p

 

 

 

 

купите" программу.

 

 

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

return false

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

нужно заменить на return true и тогда wвыClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Итак, приложение jadx позволило нам найти метод, отвечающий за оплату, и вы даже уже знаете, как его изменить. Осталось внести изменения.

12.3. Вносим изменения в программу

Просто так изменить код в приложении jadx-gui не получится. Не все так просто. Нам нужно дизассемблировать код, внести в него правки и собрать АРК обратно. Здесь нам на помощь приходит apktool:

$ apktool d -r app.apk

В текущем каталоге у тебя появится каталог арр. В нем нужно открыть файл, в котором находится нужный нам метод isBill(). Пусть это будет файл app/<нaзвaниe>/com/app/fragments/ВillingFragment.smali. Открой его и най­ ди метод isBill():

.method protected isBill()Z

.locals 1

.prologue

.line 167

iget-boolean vO, рО, Lcom/app/fragments/BillingFragment;->isBill:Z return vO

.end method

Здесь можно его изменить вручную. Можно написать новый класс, пе­ реопределяющий данный метод:

puЫic class MyBill { puЫic Boolean isBill()

return true;

11111-

 

....................................................................

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

Послеm

этого нам нужно пропустить его через компилятор и дизассемблерw Click,

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

для. чего мы будем использовать программу dx, входящую в комплект

 

 

 

g

 

 

 

 

 

 

 

 

 

g

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

$ javac MyBill.java

$ ~/android-tools/android-sdk-linux/build-tools/<вepcия>/dx --dex --output=MyBill.dex MyBill.class

$ baksrnail MyBill.dex

.rnethod protected isBill()Z

.registers 1 const vO, 1 return vO

.end rnethod

Он объяWIЯет константу vO со значением 1 и возвращает ее (здесь 1 соот­ ветствует true).

Теперь этот код нам нужно вставить вместо оригинального и собрать весь пакет:

$ apktool Ь application

будет создан каталоге application/dist. Переименуем его, чтобы не запутаться:

$ rnv application/dist/app.apk app-hack.apk

После этого его нужно подписать:

$ sign app-hack.apk

 

. ·--------------------------------------- - - - - ---------------- - --- - - ---- -

----------8111-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

w Click

 

 

 

В результатеm

в текущем каталоге появится файл app-hack.s.apk. Все, что тебеw Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

остается - это скопировать его на карту памяти своего смартфона, удалить

 

 

 

g

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

исходное приложение и установить этот АРК-файл.

12.4. Установка Android Studio в Linux

Покажем, как установить Android Studio в Linux. Первым делом нужно ска­ чать архив с приложением. Сделать это можно по адресу:

https:l/deve/oper. android.comlstudio#downloads

После загрузки архив будет помещен в папку Downloads. Открой файловый менеджер и щелкни правой кнопкой мыши на архиве, выбери команду Извлечь в (рис. 12.6), после чего укажи каталог, в который нужно распако­ вать архив. Нужно отметить, что сам архив занимает почти l Гб, а после рас­ паковки каталог с Android Studio будет занимать 1.7 Гб. Архив сразу после распаковки можно удалить.

Рис. 12.6. Распаковка архива с Android Studio

 

 

 

.... . . . --- - . ··- - . . - . - - . -.- . . - . . . . .

- . . . - - . . - - . -- . . . . . . . . .

- . . .. . . . . . .

--- . . . . .

- . . - - . --- - ·

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

wClick

 

 

 

 

 

o m

i

i

 

wClick

 

 

 

 

 

o m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

Передe

запуском Andro

d Stud o проверьте, чтобы у вас были установлены

 

 

 

 

e

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

w

 

 

 

 

 

 

.c

 

p

 

 

 

 

g

 

 

 

.

 

 

 

 

g

 

df

 

 

 

 

 

 

 

 

p

df

 

 

 

 

 

 

 

 

 

n

следующие библиотеки:

 

 

 

 

n

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

sudo apt-get install libc6:i386 libncurse s5:i386 libstdc++6:i386 lib32zl libbz2-1.0:i386

Не смотря на то, что у нас 64-разрядная система, Android Studio необходимы эти 32-разрядные библиотеки.

После этого перейди в каталог, в который ты распаковал Android Studio и за­ пусти сценарий Ьin/studio.sh:

cd ~/android-studio/bin bash studio.sh

Можно также создать ярлык для более быстрого запуска скрипта. В первом окне просто нажмите Next (рис. 12.7). Далее тебе предложат выбрать тему оформления (рис. 12.8). Выбери по своему вкусу, по умолчанию использу­ ется темная тема.

Рис. 12.7. Нажми Next

Далее среда попросит установить необходимые компоненты (рис. 12.9).

Просто нажми Next, в следующем окне нажми Finish и просто дождись установки компонентов (рис. 12.1О).

. ----- --------------------------------------- -----...- ....- ...----- - .. -------------11111

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис. 12.8. Выбор темы оформления

 

Androk:l[muiм::lн'

1.04М8

aw s.ttJnp;

s2.•м11

1 .....,drold$0Kllulld•Tool.t31

1

SOIC""8tfOt"mS1

п,tма

Andt'oidSDKМ.tromt-TOOЬ 12,7""8

f

AttdroidSOK'fvoЬ

147М8

f

SOКP•khAP9UWV◄

1,74М8

t n:a-5,!0f"AndroldS1_

2MII

Далее вы увидите окно Android Studio, в котором можно создать новый про­

ект или открыть уже существующий.

 

----------------------------------------------------------------------------------

·

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

12.

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

downio.d- htц............n:J/dt OC)OgW

, ,

Рис. 12.10. Установка компонентов

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

•Jnata\.\.

AnW•J.• SDtt l"tat.f•,.. :,1;

(r-•••.s.-:

1.)-

c:8851\.ata.

-Jnata\.\

,.,.,dr-o1d SD«

l'l.8"tfon1 &1

t...vt•l9": J.)• f'1.1>11be•.

...,..•11t11

/,._Ja.,,./Atмllra.111/Sdll/ J.\ -too\1/.11.•.•t,..c:u.....

\.

Par•.1nt /n_/--,andr-eJ.8/S -'-•terf...-:,110,-.,:■t.

 

l'ersiff9 /_/..,./ANroi.a/80/.,.tNOo,-/wlo/,,_k....

-t.

 

,..,.,и., ,.,,,_,,.__,,....,..1,ua,,J,/11>\Atf'--t.-u/..-.....

-.>t.81.

,..,,...,,. ,.,,_,.,_,,.'"'...1.,s-.,. ,.,._/8nd,..i:. .s,11_..

,...._\.

.,.,... ,,._,._,...........u1"111J•-м:"/-:u-.11.J e-..

o....1.

... . , ,.. ,,_.o/ct-.l......

-ou/SA/t-1.o/.-t11....

••'-

 

 

_,...1•

1СЖ 1■ 11С1 t.o

Nto.

 

 

 

 

Рис. 12.11. Установка завершена

························-··-·-·····················-·············-············-···tlllil

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Welcome to Androld Studlo

Cre11tz-t.n-prnf«tto Artlro1Тt at<1,

Optm•,:f!.tmQpmjecttmmdt\kotwnю'1COOtltJI.

а

"

V

 

Open

Getfrom\'CS

Рис. 12.12. Android Studioустановлена

В этой главе мы проделали огромную работу:

Установили Android Studio и все дополнительные инструменты

Научились просматривать исходный код любого приложения из его АРК­ файла

Научились находить в исходном коде различные методы с помощью jdex­ gui

Узнали, как можно модифицировать и снова собрать АРК-файл

Бьшо показано, как подписать измененный АРК-файл

----------------------------------------------------------------------------------·

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Глава 13.

С:криптинr для хакера