今天必将铭记史册(iPhone破解史),App Store彻底沦陷,十数款付费软件-大多数是排行榜首位的付费游戏,已被破解并发布,就在我投递此文时,仍然有产品在不断的发布中。
1 O6 D1 h& U7 O0 |* C之所以有这样的爆发性效应是,因为国外破解论坛发布了一个通用的破解方法,只需要iPhone用户购买一款付费软件,就可以用一个公式化的方法来破解其它的付费程序,然后就可以发布给其它用户-不是所有用户都需要购买一款付费软件。
5 b1 g5 F) d! C' i( ^7 t" X; L# m& p- n, n8 k) f/ v( m0 y4 Y N
已破解软件游戏列表:
0 P2 I' U5 Q: w
; Y$ T; v+ E. n3 l @Vay RPG游戏
' z$ A& g' {& w! H0 j/ R猴子球
n8 A( E# v3 @) ~( g1 h, UChopper
* @/ y. r* o$ }6 J) T5 fiGotchi
- g8 L2 a% l4 K0 `5 C! CCrash_Bandicoot_Nitro_Kart_3D 古惑狼賽车 : d0 |7 V( g/ V5 Q W0 p
Enigmo 魔法水滴
' H6 o) a$ _! Z X! A9 XiPinball 彈珠台 $ |5 `5 h, M6 g: r, M4 Y; S6 C
DizzyBee
3 ?. X8 H* T4 ^: W6 Z- W# y/ z$ u5 wMoto Racer
: j# e$ g! `# G' Q! D1 g7 dBomberman 炸彈人
5 N; @% F6 s& p; K7 LDreigit * o1 n9 S v% h; k. a$ `
Trism 俄羅斯方塊 " a* @4 ?: \' a, `/ T, @* A
FileMagnet 檔案管理,只for MAC
/ o: H+ O% @# W& R) {! j7 bTaxes Hold'em 德州樸克 - b; Y- t: _: z( y2 D+ g
5 u" o) n( J& \- p% M, c1 C) p9 r: _
: w2 ?( M" I- d- Y: J1 y
0 e; q6 n4 o5 T* ^" [. fAppStore收费软件破解法(翻译)
) x) h! q+ s. W7 d/ d国外论坛已经有好多人证实是有效的的。但破解的前提是有一份已购买的能在iPhone上运行的软件。小东,你买了这么多,现在可以出手了。
- l3 Z7 U/ I$ ^* C/ Y. W0 b. r: C5 t8 H$ J
你需要以下东西-) ]) p+ O/ l0 O% d* q
1.GNU Debugger for iPhone (GDB): P _$ B! A( O- X. E- M1 ?
2. otool for iPhone
$ N( f. Q& K6 Y* _. V7 i8 ]3. 合法购买的程序
( y5 A( ~7 F/ G6 E' j" F4.SSH
- W9 x, h- t- L
* L% F4 J- V; n0 F9 wotool 和 gdb 可以通过 cydia 安装。 gdb 是GNU Debugger,otool 位于 toolchain 中。 下载之后, 检查权限,确认设置为755。然后重启你的 iPhone。6 H _5 ?, Y( L7 |5 s
4 A$ [; R9 ]# _ W2 O$ j
首先在 iPhone 上运行 otool。- otool -l path/to/myapp.app/xyz
复制代码 这将给你很多信息,我们感兴趣的是 LC_ENCRYPTION_INFO。 它看上去就像下面这样-
7 ]$ i5 x% B* ^ k4 d' k( [% Y. {$ W# @0 I
Load command 9 |( {+ C" N8 Q, H' K! w
cmd LC_ENCRYPTION_INFO
4 t) K9 H. l# _# }) ~% W" q5 @cmdsize 20
) w& F9 }: u9 lcryptoff 4096
5 p5 c# w% g9 ~6 m/ ycryptsize 798720 0 V* l- r! q! Q8 ^( i7 ]8 q
cryptid 1 # Z+ y9 a9 w# A0 w6 X& o# ?! R
Load command 10 3 f7 k+ o$ |( f; d7 d. k7 D6 [$ T( X
" H- L# t- I: ]9 ]0 ^2 {- F
cryptid 意思是程序是加密与否标志。 1= 加密的 0= 未加密
5 C: H) z- k }9 M$ {
- A6 d" j. z* T5 T0 Tcryptsize 是加密后的字节数。 注意前面的 4096 字节是未加密的 (mach-o header)。
+ a7 N# _& v( N3 e9 f8 S! v' k$ i- Y1 }6 R
2. 现在我们用 gdb 将 iPhone 内存中已解密的程序 dump 出来。 . C% y2 Z5 \$ f# p1 k; V
. [6 D# R5 q3 k: d$ J3 o
运行程序;
7 B: i! N8 X6 D# h* T6 x
8 f) G( Y: z2 J% u运行以下命令它会列出 iphone 中正在运行的进程。
5 B; m# p: q: \, j6 ?) q2 \4 `) |5 s: g0 A( _" c
现在我们用 gdb 分析进程。 PID 是进程ID。有上面的命令查出。这需要一点时间.....
3 y% @, d/ _* D5 l6 O6 T5 i3 m1 O) l8 W- n
现在可以抓取 dump 了。在gdb 中用下面的命令 dump 内存。 我们想要的是从 0x2000 开始直到结束的一解密数据。- dump memory dump.bin 0x2000 0x20000
复制代码 我们完成了,退出gdb。
( l; b2 X, r7 o2 @; F" t9 R8 [, O1 L* c& ^
3. 现在我们用hex编辑器将它们合并。
! o9 h1 w! C8 m8 D2 z- O& j
% P. i' D/ R$ s* w. B用 dump 的数据将原版可执行程序文件中从 0x1000 开始的数据替换掉。 然后修改加密id。 它通常在 0x800 里。现在将它保存为新文件。传回iPhone。并将它重新签名: |