Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Колисниченко Д. Н. Хакинг на 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

 

 

 

 

 

 

 

p

 

 

 

g12.2. Вскрываем АРК

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

$ adb shell pm path имя.пакета.приложения

$ adb pull путь

https://apkpure.com/-

 

 

 

 

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

 

 

 

 

Примечание. Какое именно приложение мы будем взламывать, по понятным причинам упоминаться в книге не будет во избежа­ ние всевозможных неприятных ситуаций. Скриншоты процесса также по этой же причине приводиться не будут!

cd ~/Downloads

 

unzip app.apk

 

111---·--· ·-···. ·-- ...-···--·····--··-··--·.. --··. -·····--···.........

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

 

 

 

 

 

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

 

 

 

 

 

 

 

 

Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

, АРК-файл - это всего лишь ZIР-архив. Оrличие от обычного

архиваClickв

 

 

 

 

 

o

 

w

 

 

 

 

 

 

Даo

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

.c

 

 

w

 

 

 

 

 

 

 

.c

 

 

 

.

 

 

 

 

 

 

 

 

 

.

в

 

 

 

 

 

 

 

 

p

 

 

 

 

 

том, что в АРК-файле четко задана структура файлов и каталогов. Так,

p

 

 

g

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

каталоге res находятся всевозможные ресурсы приложения вроде иконок (mipmap), строк (values), изображения (drawaЫe), разметка интерфейса (layout). Да, можно легко изменить интерфейс приложения, модифицировав ХМL-файл разметки.

В файле classes.dex находится байткод приложения. В АРК-файле может быть один или несколько таких файлов в зависимости от количества исполь­ зуемых методов. В одном dех-файле может быть не более 65535 файлов.

Файл AndroidМanifest.xml - это всем известный файл манифеста, описыва­ ющий структуру приложения - активности, службы и т.д.

Примечание. Все ХМL-файлы хранятся в бинарном виде и для их изменения их нужно разжать.

После распаковки АРК-файла запустите приложение jadx-gui и откройте в нем app.apk. Вы увидите список пакетов Java, включенных в АРК. Основной код приложения находится в пакете, имя которого совпадает с именем паке­ та приложения (с оригинальным именем АРК-файла). Остальные пакеты - вспомогательные и для нас они не представляют интереса.

На рис. 12.3 приведена программа jadx-gui с открытым АРК-файлом. Мы не будем взламывать именно это приложение, а открыли его лишь для того, чтобы продемонстрировать интерфейс jadx-gui. Как видно на рис. 12.3, мож­ но открыть любой пакет внутри АРК-файла и увидеть исходный код!

Что делать дальше? Все зависит от того, какую цель вы преследуете. Многиехотят, например, получить бесплатную версию приложения. В этом случае нужно найти кусок кода, который отвечает за проверку оплаты и перепи­ сать его так, чтобы дальнейшая часть приложения "думала", что приложение

оплачено.

Нужно произвести поиск по слову Ьilling или blll. Если ничего не нашлось, произведите поиск по названию платной версии, например, Pro или Prime - в зависимости от как называется платная версия в вашем конкретном случае. Оrкройте окно поиска и дождитесь процесса декомпиляции - приложение Jadx-gui сначала декомпилирует весь код приложения, чтобы по нему-бьm

доступен текстовый поиск (рис. 12.4).

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11а l ,i1111,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

'\at.:11111

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

- <4t iJ dfl

, 4

 

 

 

 

 

-xcha

 

 

 

 

 

tl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ер.арК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Source с008

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-,,dr"Oid.SUJ>l)Ort

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8andl"01d"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8b1t •г.jo1br1dOQ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18 001.ts

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

■c•r•Y.,,. Q<IIN!S,n&t.cerev.,;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i8cOII

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

► ■Jtivax.inJ•ct

 

 

 

 

 

 

 

 

 

 

 

 

 

 

•kot11n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• net.peako-1o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мmly·t1C&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8andro1d.1napptiill1ng

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

filЫllirsщ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8peak;ap1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• toonЬ1ast

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

■ .-..ourcv,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(J ВuildConfi9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• 80..httpЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18 okJ.o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• .. R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

■or-o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18Riilsourcvs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IJAPК •igп..ttuпt

 

 

 

 

 

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

 

 

 

 

а8Т;

.....lic •••tic fi••l с.\а1•• P4r81,88H1n {

...,1oucc st.atir. li.,.\ st..,._,... С20_ "".,.,.,:.p•.N. • t.OМIЬ\u<t.psr:m.s•i.at1.c;;o_ •;

Рис. 12.3. Приложениеjadx-gui

,;

1111

 

 

 

 

 

 

 

4, ;.::j

 

fЭn8t,p••'-t-•-t•-Ьl.i►t,N;i,tif••t ,С

"':-:

СОС'О

 

 

 

 

 

 

 

 

·

•с'-;119•

rwt...•alч;,-•.toonЬl••t;

11 a d

 

o d.5UpJ1C1"1:

 

• • android)I

 

 

 

.1

 

ult\it fin•l с;\,,1,,.11 н.t'11f.,ц {

"'

5Ьitt•r.jriibr1dQ&

 

 

8СО8

 

 

 

 

 

 

 

 

■Ьolts

 

 

 

 

 

 

W carflv11r1. .М:oa-!!i .n.t .carl!lv,11!

 

 

 

: : :

 

:вkgaaes

Sew-chfortl!xt'

 

 

 

■ J11111a)',1nfvct

m::hdef1n11юnsor

 

 

 

: = r ;.:•

1n8PPЬ

 

 

 

• ■ana\ytU-•

 

 

8 Ciмs f"@thod Q J: d

Code

 

: :ra:ь1;at

 

 

 

■rиооrси

 

 

 

 

....

 

119

 

 

 

 

:щ;,м-

 

 

 

 

 

 

• ■orv

 

 

 

 

 

 

 

 

 

tthttpЗ

 

 

 

 

 

 

 

■ok:10

 

 

 

 

 

 

 

118Resour(••

 

 

 

 

 

 

 

J/; АРК s.Lon-ture

 

 

 

 

 

 

Рис. 12.4. Окно поиска. Процесс декомпиляции запущен

 

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

 

 

 

 

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

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

 

w

 

 

 

 

 

Все-таки вы должны обладать навыками программирования на Java, хотя

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

бы минимальными - вы хотя бы должны понимать синтаксис основных

 

 

 

g

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

конструкций этого языка, иначе у вас ничего не выйдет. Допустим, вы наш­ ли метод isBill(), позволяющий проверить, была ли программа куплена. Нас не интересует, как он это делает, но, скорее всего, по результатам проверки возвращается логическое значение - true илиfаlsе. Например:

проверяем оплату

tt app.epk

 

 

 

 

 

 

• liilJSOUrc• соо.

 

 

 

 

 

8 andrn1d.suppoгt

 

 

 

 

• li roidx

 

 

 

 

 

 

• t)1tt•r.Jn1br.1.dge

 

 

 

 

• 8ЬО\t•

 

 

 

 

 

 

8<:eravan.041llk s.Mt.car.>'1'\f

: :: : о);

 

S er-cl)fo,t t

"'8COII

 

 

 

 

 

 

• 8 J.-,.x.inje<.1

 

,,.с-,-------- ------------------,

: ::: :1 !

 

 

 

 

..

 

 

 

ilJb.1.\111')9

 

S<e.-cJ<i;defWtion,-of;

 

 

: : rt

 

8 d4si f'1 l-'lt!thod П fkl{d(rcode

8 rкources

 

J.JOO:И:

-

► • Вu1\dConrig

 

 

 

Ф

 

i

<1eom.-,dl"cad. 1\\iritc 1•nt....;11 f1

е R

 

 

Gt c-.81'1dro1d,ЬiH1 ti..•ra.R

80ie.http3

 

 

8c1181....01d.b1.\.U. U...1e•..,i•.чe°""t1a•ntH1•••

tllof!.1.o

 

 

c-...tr4nd.b1\.U"9C\1..,t..,..1.A1;1<...,..\. rt. 'f!P6r-

• 81 Or'Q

 

 

fii Co1t1. o.id.1J1,\.l.i"9'll•nt."'f'1.Ac.l<.._.\qei:>ur<:"-..P•r-.Вu1\.0.r

18Rl8sourc•,

 

 

О co-.•.,,dro1d.b1\l.i1"1tc\.i•nt.ap1.<11Ck!"OW\. rch- on•et.i•t-•

,4РК •1gnature

 

: ::::: ::: it::t: :::::tt t : .8'1.\inQAll or>•IКЪd•

 

 

 

(8 co.•.andr41d.Ъ.1\\ing,,;\1wrt.,ipi.Вi\.1.1"9C\1•"t,8ui\der

 

 

 

f! c-.....dro1d.b1t\1"9Cti...t._.1.1Ьt\1"9C\iwrt..,,,.•turaTyp♦

 

 

 

4! c-..lndro1d.b1ll.1n1,11:l.1ant.-,;1..111H1.noc;l1.ent.S8,UТyp♦

 

 

 

(t.c♦м.android.b1tltn \1.♦nt.<1p1.fЬ\t1n9C\1..,tJ \

 

 

 

,! • r-9! • 1.} 1t1Qc ·ant. .!' 1. 1.en't'!it.llt♦ .at:-r

 

 

 

.с-

_,. f -ftQa10Qof10S

Рис. 12.5. Ищем методы, отвечающие за проверку оплаты

Так вот, вы должны проанализировать код и понять, как он работает. Ваша задача сделать так, чтобы метод всегда возвращал true - успешная оплата:

return true;

Код может быть написан так:

if (условие) return true;

else

return false;

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

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

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

al