首页
社区
课程
招聘
[求助]主要逻辑和注册状态都在SO库里判断的,如何破解?
发表于: 2013-5-10 12:40 16050

[求助]主要逻辑和注册状态都在SO库里判断的,如何破解?

2013-5-10 12:40
16050
http://www.anzhi.com/soft_588224.html

例如上面的这个APK,需要导入注册文件才可以注册。

没有注册的用户只可以使用5分钟。主要执行的逻辑在SO库当中,如何进行破解?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (28)
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
同求呢。我也在研究这个。java文件的只是个外表。。SO里面才做真正的处理。里面的
lse_valid为主要验证
使用RSA解码
但是怎么破。不懂。。。求解啊。。
2013-5-12 04:53
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
3
爆破的话直接修改so文件,然后重新打包就行了
写注册机要看算法
2013-5-13 08:43
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE='火翼[CCG];1176720']爆破的话直接修改so文件,然后重新打包就行了
写注册机要看算法[/QUOTE]

如何修改SO文件 重新打包,是否可以提供一些文章参考??谢谢
2013-5-13 15:45
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我需要一些 入门的知识啊,各位告诉我门在哪里就可以了。。。
2013-5-13 18:27
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这是公钥:
00e33741e366d4f209e5e24f702a0fa644e51a99ee6d4b156c801e1789f70aed0c9b1f40dd232300897a44bd28b60560ff3e84d1fa493aa00fdcdcc69be7753e8975765a9a6472eade77373677769fb95e7d7f89208d1af67a210bd75ce2487564c53779602b38f73d272f5763985866744edb644dcde4d5ec0223ec6bd0c0f5df

KEY的位置/data/data/net.aisence.Touchelper/license/key.dat,
与getDeviceId,getSubscriberId,getMacAddress的Java_net_aisence_Touchelper_TouchelperLicense_valid来验证,应该是能用公钥解密,但没有LIC样本,不太好分析,得尝试,所以还是爆破好弄点!安装完破解版的运行程序后随便导入一个文件做LIC就成了,可以试试看,我也没仔细验证!
上传的附件:
2013-5-13 18:50
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
求方法啊 大神。。。授人鱼不如授人以鱼啊。。。
2013-5-13 21:18
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
您大致给讲解下 过程 用到的工具就行。。我自己去学习学习啊。。
2013-5-13 21:20
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
so库用IDA来分析就成了!
2013-5-13 21:21
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
大神。。有没有推荐的入门文章或者书籍什么的。。。
2013-5-13 21:24
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
能给讲解下这个软件分析的过程就更好了  大神。。
2013-5-13 21:26
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
JAVA这边的代码。感觉是可以直接无视的。在播放。停止。录象。等都会通过一个核心的CALL。没有注册 。只有播放五分钟。。对ARM汇编不清楚。也不知道哪里传全局变量什么的。。返回值什么的也不大确定。应该是R0。但好像又不完全是....
doplay的
.text:00029674                 MOVS    R0, R7
.text:00029676                 ADD     R1, SP, #0x2C
.text:00029678                 MOVS    R2, #1
.text:0002967A                 BL      sub_28764


dostop的
.text:000297FC                 MOVS    R0, R7
.text:000297FE                 ADD     R1, SP, #0x34
.text:00029800                 MOVS    R2, #1
.text:00029802                 BL      sub_28764


主要执行的函数
.text:00028764 ; =============== S U B R O U T I N E =======================================
.text:00028764
.text:00028764
.text:00028764 sub_28764                               ; CODE XREF: Java_com_soso_rabbitguy_TouchelperBin_init+Ap
.text:00028764                                         ; .text:00029278p ...
.text:00028764
.text:00028764 var_60          = -0x60
.text:00028764 stat_loc        = -0x58
.text:00028764 th              = -0x54
.text:00028764 var_50          = -0x50
.text:00028764 fd              = -0x48
.text:00028764 var_44          = -0x44
.text:00028764 arg             = -0x40
.text:00028764 var_3C          = -0x3C
.text:00028764 attr            = -0x38
.text:00028764
.text:00028764                 PUSH    {R4-R7,LR}
.text:00028766                 MOV     R7, R9
.text:00028768                 MOV     R6, R8
.text:0002876A                 PUSH    {R6,R7}
.text:0002876C                 LDR     R3, =0x74697865
.text:0002876E                 SUB     SP, SP, #0x44
.text:00028770                 MOV     R9, R0
.text:00028772                 STR     R3, [SP,#0x60+var_50]
.text:00028774                 ADD     R5, SP, #0x60+var_50
.text:00028776                 MOVS    R3, #0xA
.text:00028778                 ADD     R0, SP, #0x60+fd ; pipedes
.text:0002877A                 MOVS    R7, R1
.text:0002877C                 MOV     R8, R2
.text:0002877E                 STRH    R3, [R5,#4]
.text:00028780                 BLX     pipe
.text:00028784                 SUBS    R6, R0, #0
.text:00028786                 BEQ     loc_2879A
.text:00028788                 BLX     __errno
.text:0002878C                 LDR     R4, [R0]
.text:0002878E
.text:0002878E loc_2878E                               ; CODE XREF: sub_28764+90j
.text:0002878E                 ADD     SP, SP, #0x44
.text:00028790                 MOVS    R0, R4
.text:00028792                 POP     {R2,R3}
.text:00028794                 MOV     R8, R2
.text:00028796                 MOV     R9, R3
.text:00028798                 POP     {R4-R7,PC}
.text:0002879A ; ---------------------------------------------------------------------------
.text:0002879A
.text:0002879A loc_2879A                               ; CODE XREF: sub_28764+22j
.text:0002879A                 BLX     fork
.text:0002879E                 SUBS    R4, R0, #0
.text:000287A0                 BLT     loc_287E2
.text:000287A2                 LDR     R0, [SP,#0x60+fd] ; fd
.text:000287A4                 BEQ     loc_2884C
.text:000287A6                 BLX     close
.text:000287AA                 MOV     R3, R8
.text:000287AC                 CMP     R3, #0
.text:000287AE                 BNE     loc_287F6
.text:000287B0
.text:000287B0 loc_287B0                               ; CODE XREF: sub_28764+B4j
.text:000287B0                 MOVS    R0, R7          ; s
.text:000287B2                 BLX     strlen
.text:000287B6                 MOVS    R1, R7          ; buf
.text:000287B8                 MOVS    R2, R0          ; n
.text:000287BA                 LDR     R0, [SP,#0x60+var_44] ; fd
.text:000287BC                 BLX     write
.text:000287C0                 LDR     R0, [SP,#0x60+var_44] ; fd
.text:000287C2                 MOVS    R1, R5          ; buf
.text:000287C4                 MOVS    R2, #5          ; n
.text:000287C6                 BLX     write
.text:000287CA
.text:000287CA loc_287CA                               ; CODE XREF: sub_28764+7Cj
.text:000287CA                 MOVS    R0, R4          ; pid
.text:000287CC                 ADD     R1, SP, #0x60+stat_loc ; stat_loc
.text:000287CE                 MOVS    R2, #0          ; options
.text:000287D0                 BLX     waitpid
.text:000287D4                 CMP     R0, #0
.text:000287D6                 BGE     loc_2881A
.text:000287D8                 BLX     __errno
.text:000287DC                 LDR     R3, [R0]
.text:000287DE                 CMP     R3, #4
.text:000287E0                 BEQ     loc_287CA
.text:000287E2
.text:000287E2 loc_287E2                               ; CODE XREF: sub_28764+3Cj
.text:000287E2                 BLX     __errno
.text:000287E6                 LDR     R4, [R0]
.text:000287E8
.text:000287E8 loc_287E8                               ; CODE XREF: sub_28764+C6j
.text:000287E8                                         ; sub_28764+D4j
.text:000287E8                 LDR     R0, [SP,#0x60+fd] ; fd
.text:000287EA                 BLX     close
.text:000287EE                 LDR     R0, [SP,#0x60+var_44] ; fd
.text:000287F0                 BLX     close
.text:000287F4                 B       loc_2878E
.text:000287F6 ; ---------------------------------------------------------------------------
.text:000287F6
.text:000287F6 loc_287F6                               ; CODE XREF: sub_28764+4Aj
.text:000287F6                 MOV     R3, R9
.text:000287F8                 ADD     R0, SP, #0x60+attr ; attr
.text:000287FA                 STR     R3, [SP,#0x60+arg]
.text:000287FC                 STR     R6, [SP,#0x60+var_3C]
.text:000287FE                 BLX     pthread_attr_init
.text:00028802                 ADD     R0, SP, #0x60+attr ; attr
.text:00028804                 MOVS    R1, #0          ; detachstate
.text:00028806                 BLX     pthread_attr_setdetachstate
.text:0002880A                 LDR     R2, =(sub_28D5C+1 - 0x28814)
.text:0002880C                 ADD     R0, SP, #0x60+th ; newthread
.text:0002880E                 ADD     R1, SP, #0x60+attr ; attr
.text:00028810                 ADD     R2, PC          ; start_routine
.text:00028812                 ADD     R3, SP, #0x60+arg ; arg
.text:00028814                 BLX     pthread_create
.text:00028818                 B       loc_287B0
.text:0002881A ; ---------------------------------------------------------------------------
.text:0002881A
.text:0002881A loc_2881A                               ; CODE XREF: sub_28764+72j
.text:0002881A                 LDR     R4, [SP,#0x60+stat_loc]
.text:0002881C                 MOVS    R3, #0x7F
.text:0002881E                 TST     R3, R4
.text:00028820                 BNE     loc_2883A
.text:00028822                 LSLS    R4, R4, #0x10
.text:00028824                 LSRS    R4, R4, #0x18
.text:00028826
.text:00028826 loc_28826                               ; CODE XREF: sub_28764+E6j
.text:00028826                 MOV     R3, R8
.text:00028828                 CMP     R3, #0
.text:0002882A                 BEQ     loc_287E8
.text:0002882C                 MOVS    R3, #1
.text:0002882E                 LDR     R0, [SP,#0x60+th] ; th
.text:00028830                 MOVS    R1, #0          ; thread_return
.text:00028832                 STR     R3, [SP,#0x60+var_3C]
.text:00028834                 BLX     pthread_join
.text:00028838                 B       loc_287E8
.text:0002883A ; ---------------------------------------------------------------------------
.text:0002883A
.text:0002883A loc_2883A                               ; CODE XREF: sub_28764+BCj
.text:0002883A                 ADDS    R4, #1
.text:0002883C                 ANDS    R3, R4
.text:0002883E                 LSRS    R4, R3, #0x1F
.text:00028840                 MOVS    R1, #0
.text:00028842                 MOVS    R2, #1
.text:00028844                 CMP     R2, R3
.text:00028846                 ADCS    R4, R1
.text:00028848                 SUBS    R4, #2
.text:0002884A                 B       loc_28826
.text:0002884C ; ---------------------------------------------------------------------------
.text:0002884C
.text:0002884C loc_2884C                               ; CODE XREF: sub_28764+40j
.text:0002884C                 MOVS    R1, #0          ; fd2
.text:0002884E                 BLX     dup2
.text:00028852                 LDR     R0, [SP,#0x60+fd] ; fd
.text:00028854                 BLX     close
.text:00028858                 LDR     R0, [SP,#0x60+var_44] ; fd
.text:0002885A                 BLX     close
.text:0002885E                 LDR     R0, =(aSystemBinSh - 0x2886A)
.text:00028860                 LDR     R1, =(aSh - 0x2886C)
.text:00028862                 LDR     R2, =(aC - 0x2886E)
.text:00028864                 LDR     R3, =(aSu - 0x28870)
.text:00028866                 ADD     R0, PC          ; "/system/bin/sh"
.text:00028868                 ADD     R1, PC          ; "sh"
.text:0002886A                 ADD     R2, PC          ; "-c"
.text:0002886C                 ADD     R3, PC          ; "su"
.text:0002886E                 STR     R4, [SP,#0x60+var_60]
.text:00028870                 BLX     execl
.text:00028874                 MOVS    R0, #0x7F       ; status
.text:00028876                 BLX     exit
.text:00028876 ; End of function sub_28764

创建线程使用到的函数
5C ; =============== S U B R O U T I N E =======================================
.text:00028D5C
.text:00028D5C
.text:00028D5C sub_28D5C                               ; DATA XREF: sub_28764+ACo
.text:00028D5C                                         ; .text:off_28880o
.text:00028D5C
.text:00028D5C timeout         = -0x4D8
.text:00028D5C var_4D4         = -0x4D4
.text:00028D5C fd              = -0x4CC
.text:00028D5C var_4C8         = -0x4C8
.text:00028D5C var_4C4         = -0x4C4
.text:00028D5C var_4C0         = -0x4C0
.text:00028D5C var_4BC         = -0x4BC
.text:00028D5C var_4B8         = -0x4B8
.text:00028D5C var_4B4         = -0x4B4
.text:00028D5C var_4B0         = -0x4B0
.text:00028D5C s               = -0x4AC
.text:00028D5C buf             = -0x42C
.text:00028D5C var_DC          = -0xDC
.text:00028D5C var_14          = -0x14
.text:00028D5C
.text:00028D5C                 PUSH    {R4-R7,LR}
.text:00028D5E                 MOV     R7, R11
.text:00028D60                 MOV     R6, R10
.text:00028D62                 MOV     R5, R9
.text:00028D64                 MOV     R4, R8
.text:00028D66                 PUSH    {R4-R7}
.text:00028D68                 LDR     R4, =0xFFFFFB4C
.text:00028D6A                 LDR     R6, =(_GLOBAL_OFFSET_TABLE_ - 0x28D76)
.text:00028D6C                 LDR     R3, =(__stack_chk_guard_ptr - 0xBADC8)
.text:00028D6E                 ADD     SP, R4          ; timeout
.text:00028D70                 STR     R0, [SP,#0x4D8+var_4C8]
.text:00028D72                 ADD     R6, PC
.text:00028D74                 LDR     R3, [R6,R3]
.text:00028D76                 ADD     R1, SP, #0x4D8+var_DC
.text:00028D78                 ADDS    R1, #0xB0
.text:00028D7A                 STR     R3, [SP,#0x4D8+var_4BC]
.text:00028D7C                 LDR     R3, [R3]
.text:00028D7E                 MOVS    R2, #0
.text:00028D80                 STR     R3, [R1]
.text:00028D82                 MOVS    R3, #0
.text:00028D84                 STR     R3, [SP,#0x4D8+var_4B8]
.text:00028D86                 LDR     R3, =(unk_BBDF8 - 0x28D8E)
.text:00028D88                 ADD     R1, SP, #0x4D8+var_4B8
.text:00028D8A                 ADD     R3, PC
.text:00028D8C                 LDR     R0, [R3]
.text:00028D8E                 LDR     R3, [R0]
.text:00028D90                 LDR     R3, [R3,#0x10]
.text:00028D92                 BLX     R3
.text:00028D94                 LDR     R3, [SP,#0x4D8+var_4B8]
.text:00028D96                 CMP     R3, #0
.text:00028D98                 BEQ     loc_28E6A
.text:00028D9A                 LDR     R4, =(aDataDataCom_so - 0x28DA0)
.text:00028D9C                 ADD     R4, PC          ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028D9E                 MOVS    R0, R4          ; name
.text:00028DA0                 BLX     unlink
.text:00028DA4                 MOVS    R0, R4          ; path
.text:00028DA6                 LDR     R1, =0x11A4     ; mode
.text:00028DA8                 MOVS    R2, #0          ; dev
.text:00028DAA                 BLX     mknod
.text:00028DAE                 CMP     R0, #0
.text:00028DB0                 BNE     loc_28E58
.text:00028DB2                 MOVS    R1, #0x80
.text:00028DB4                 MOVS    R0, R4          ; file
.text:00028DB6                 LSLS    R1, R1, #4
.text:00028DB8                 BLX     open
.text:00028DBC                 STR     R0, [SP,#0x4D8+fd]
.text:00028DBE                 CMP     R0, #0
.text:00028DC0                 BGE     loc_28DC4
.text:00028DC2                 B       loc_28F4C
.text:00028DC4 ; ---------------------------------------------------------------------------
.text:00028DC4
.text:00028DC4 loc_28DC4                               ; CODE XREF: sub_28D5C+64j
.text:00028DC4                 MOVS    R2, #0x1F
.text:00028DC6                 ANDS    R2, R0
.text:00028DC8                 ASRS    R3, R0, #5
.text:00028DCA                 MOVS    R1, #1
.text:00028DCC                 LSLS    R1, R2
.text:00028DCE                 LSLS    R3, R3, #2
.text:00028DD0                 ADD     R2, SP, #0x4D8+s
.text:00028DD2                 STR     R1, [SP,#0x4D8+var_4C4]
.text:00028DD4                 MOV     R10, R2
.text:00028DD6                 STR     R3, [SP,#0x4D8+var_4C0]
.text:00028DD8
.text:00028DD8 loc_28DD8                               ; CODE XREF: sub_28D5C+B6j
.text:00028DD8                                         ; sub_28D5C+EAj ...
.text:00028DD8                 LDR     R3, [SP,#0x4D8+var_4C8]
.text:00028DDA                 LDR     R4, [R3,#4]
.text:00028DDC                 CMP     R4, #0
.text:00028DDE                 BEQ     loc_28DE2
.text:00028DE0                 B       loc_28EC0
.text:00028DE2 ; ---------------------------------------------------------------------------
.text:00028DE2
.text:00028DE2 loc_28DE2                               ; CODE XREF: sub_28D5C+82j
.text:00028DE2                                         ; sub_28D5C+162j
.text:00028DE2                 MOVS    R1, #0          ; c
.text:00028DE4                 MOVS    R2, #0x80       ; n
.text:00028DE6                 MOV     R0, R10         ; s
.text:00028DE8                 BLX     memset
.text:00028DEC                 LDR     R2, [SP,#0x4D8+var_4C4]
.text:00028DEE                 LDR     R3, [SP,#0x4D8+var_4C0]
.text:00028DF0                 LDR     R0, [SP,#0x4D8+fd]
.text:00028DF2                 MOV     R1, R10         ; readfds
.text:00028DF4                 STR     R2, [R3,R1]
.text:00028DF6                 ADD     R3, SP, #0x4D8+var_4B4
.text:00028DF8                 MOVS    R2, #1
.text:00028DFA                 STR     R2, [SP,#0x4D8+var_4B4]
.text:00028DFC                 STR     R3, [SP,#0x4D8+timeout] ; timeout
.text:00028DFE                 ADDS    R0, #1          ; nfds
.text:00028E00                 MOVS    R3, #0          ; exceptfds
.text:00028E02                 MOVS    R2, #0          ; writefds
.text:00028E04                 STR     R4, [SP,#0x4D8+var_4B0]
.text:00028E06                 BLX     select
.text:00028E0A                 ADDS    R3, R0, #1
.text:00028E0C                 BNE     loc_28E10
.text:00028E0E                 B       loc_28F26
.text:00028E10 ; ---------------------------------------------------------------------------
.text:00028E10
.text:00028E10 loc_28E10                               ; CODE XREF: sub_28D5C+B0j
.text:00028E10                 CMP     R0, #0
.text:00028E12                 BEQ     loc_28DD8
.text:00028E14                 MOVS    R2, #0x80
.text:00028E16                 LDR     R0, [SP,#0x4D8+fd] ; fd
.text:00028E18                 ADD     R1, SP, #0x4D8+buf ; buf
.text:00028E1A                 LSLS    R2, R2, #3
.text:00028E1C                 BLX     read
.text:00028E20                 SUBS    R7, R0, #0
.text:00028E22                 BGE     loc_28E26
.text:00028E24                 B       loc_28F34
.text:00028E26 ; ---------------------------------------------------------------------------
.text:00028E26
.text:00028E26 loc_28E26                               ; CODE XREF: sub_28D5C+C6j
.text:00028E26                 BEQ     loc_28EC0
.text:00028E28                 LDR     R1, [SP,#0x4D8+var_4B8]
.text:00028E2A                 LDR     R3, [SP,#0x4D8+var_4C8]
.text:00028E2C                 MOVS    R5, #0
.text:00028E2E                 MOV     R8, R1
.text:00028E30                 LDR     R2, [R3]
.text:00028E32                 LDR     R1, =0x7365726E
.text:00028E34                 MOV     R3, R8
.text:00028E36                 MOV     R11, R2
.text:00028E38                 MOV     R8, R7
.text:00028E3A                 MOV     R9, R1
.text:00028E3C                 ADDS    R7, R3, #0
.text:00028E3E
.text:00028E3E loc_28E3E                               ; CODE XREF: sub_28D5C+158j
.text:00028E3E                 ADD     R2, SP, #0x4D8+buf
.text:00028E40                 ADDS    R4, R2, R5
.text:00028E42                 LDR     R3, [R4]
.text:00028E44                 CMP     R3, R9
.text:00028E46                 BNE     loc_28DD8
.text:00028E48                 LDR     R0, [R4,#4]
.text:00028E4A                 SUBS    R0, #0x64
.text:00028E4C                 CMP     R0, #3
.text:00028E4E                 BHI     loc_28EAC
.text:00028E50                 BL      __gnu_thumb1_case_uqi
.text:00028E54                 ADCS    R0, R2
.text:00028E56                 LDRH    R4, [R3,R0]
.text:00028E58
.text:00028E58 loc_28E58                               ; CODE XREF: sub_28D5C+54j
.text:00028E58                 BLX     __errno
.text:00028E5C                 LDR     R3, [R0]
.text:00028E5E
.text:00028E5E loc_28E5E                               ; CODE XREF: sub_28D5C+1FEj
.text:00028E5E                 LDR     R3, =(unk_BBDF8 - 0x28E64)
.text:00028E60                 ADD     R3, PC
.text:00028E62                 LDR     R0, [R3]
.text:00028E64                 LDR     R3, [R0]
.text:00028E66                 LDR     R3, [R3,#0x14]
.text:00028E68                 BLX     R3
.text:00028E6A
.text:00028E6A loc_28E6A                               ; CODE XREF: sub_28D5C+3Cj
.text:00028E6A                                         ; sub_28D5C+178j
.text:00028E6A                 ADD     R1, SP, #0x4D8+var_DC
.text:00028E6C                 ADDS    R1, #0xB0
.text:00028E6E                 LDR     R2, [R1]
.text:00028E70                 LDR     R1, [SP,#0x4D8+var_4BC]
.text:00028E72                 MOVS    R0, #0
.text:00028E74                 LDR     R3, [R1]
.text:00028E76                 CMP     R2, R3
.text:00028E78                 BEQ     loc_28E7C
.text:00028E7A                 B       loc_28F5C
.text:00028E7C ; ---------------------------------------------------------------------------
.text:00028E7C
.text:00028E7C loc_28E7C                               ; CODE XREF: sub_28D5C+11Cj
.text:00028E7C                 LDR     R3, =0x4B4
.text:00028E7E                 ADD     SP, R3
.text:00028E80                 POP     {R2-R5}
.text:00028E82                 MOV     R8, R2
.text:00028E84                 MOV     R9, R3
.text:00028E86                 MOV     R10, R4
.text:00028E88                 MOV     R11, R5
.text:00028E8A                 POP     {R4-R7,PC}
.text:00028E8C ; ---------------------------------------------------------------------------
.text:00028E8C                 MOVS    R1, R4
.text:00028E8E                 ADDS    R1, #0xC
.text:00028E90                 MOVS    R0, R7
.text:00028E92                 BL      _Z12char2jstringP7_JNIEnvPKc ; char2jstring(_JNIEnv *,char  const*)
.text:00028E96                 LDR     R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028E98                 LDR     R3, [R6,R3]
.text:00028E9A                 LDR     R1, [R3]
.text:00028E9C                 LDR     R3, =(mid_doNotifyVoiceJNI_ptr - 0xBADC8)
.text:00028E9E
.text:00028E9E loc_28E9E                               ; CODE XREF: sub_28D5C+1AAj
.text:00028E9E                 LDR     R3, [R6,R3]
.text:00028EA0                 LDR     R2, [R3]
.text:00028EA2                 STR     R0, [SP,#0x14+var_14]
.text:00028EA4                 MOV     R3, R11
.text:00028EA6                 MOVS    R0, R7
.text:00028EA8                 BL      _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028EAC
.text:00028EAC loc_28EAC                               ; CODE XREF: sub_28D5C+F2j
.text:00028EAC                                         ; sub_28D5C+196j ...
.text:00028EAC                 LDR     R3, [R4,#8]
.text:00028EAE                 ADDS    R3, #0xC
.text:00028EB0                 ADDS    R5, R5, R3
.text:00028EB2                 CMP     R8, R5
.text:00028EB4                 BHI     loc_28E3E
.text:00028EB6                 LDR     R3, [SP,#0x4D8+var_4C8]
.text:00028EB8                 LDR     R4, [R3,#4]
.text:00028EBA                 CMP     R4, #0
.text:00028EBC                 BNE     loc_28EC0
.text:00028EBE                 B       loc_28DE2
.text:00028EC0 ; ---------------------------------------------------------------------------
.text:00028EC0
.text:00028EC0 loc_28EC0                               ; CODE XREF: sub_28D5C+84j
.text:00028EC0                                         ; sub_28D5C:loc_28E26j ...
.text:00028EC0                 LDR     R0, =(aDataDataCom_so - 0x28EC6)
.text:00028EC2                 ADD     R0, PC          ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028EC4                 BLX     unlink
.text:00028EC8                 LDR     R3, =(unk_BBDF8 - 0x28ECE)
.text:00028ECA                 ADD     R3, PC
.text:00028ECC                 LDR     R0, [R3]
.text:00028ECE                 LDR     R3, [R0]
.text:00028ED0                 LDR     R3, [R3,#0x14]
.text:00028ED2                 BLX     R3
.text:00028ED4                 B       loc_28E6A
.text:00028ED6 ; ---------------------------------------------------------------------------
.text:00028ED6                 LDR     R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028ED8                 MOVS    R0, R7
.text:00028EDA                 LDR     R3, [R6,R3]
.text:00028EDC                 LDR     R1, [R3]
.text:00028EDE                 LDR     R3, =(mid_doNotifyVibrateJNI_ptr - 0xBADC8)
.text:00028EE0                 LDR     R3, [R6,R3]
.text:00028EE2                 LDR     R2, [R3]
.text:00028EE4                 LDR     R3, [R4,#0xC]
.text:00028EE6                 STR     R3, [SP,#0x4D8+timeout]
.text:00028EE8                 ASRS    R3, R3, #0x1F
.text:00028EEA                 STR     R3, [SP,#0x4D8+var_4D4]
.text:00028EEC                 MOV     R3, R11
.text:00028EEE                 BL      _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028EF2                 B       loc_28EAC
.text:00028EF4 ; ---------------------------------------------------------------------------
.text:00028EF4                 MOVS    R1, R4
.text:00028EF6                 ADDS    R1, #0xC
.text:00028EF8                 MOVS    R0, R7
.text:00028EFA                 BL      _Z12char2jstringP7_JNIEnvPKc ; char2jstring(_JNIEnv *,char  const*)
.text:00028EFE                 LDR     R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028F00                 LDR     R3, [R6,R3]
.text:00028F02                 LDR     R1, [R3]
.text:00028F04                 LDR     R3, =0xFFFFFCB4
.text:00028F06                 B       loc_28E9E
.text:00028F08 ; ---------------------------------------------------------------------------
.text:00028F08                 LDR     R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028F0A                 LDR     R3, [R6,R3]
.text:00028F0C                 LDR     R1, [R3]
.text:00028F0E                 LDR     R3, =(mid_doAirplaneModeJNI_ptr - 0xBADC8)
.text:00028F10                 LDR     R3, [R6,R3]
.text:00028F12                 LDR     R2, [R3]
.text:00028F14                 LDR     R3, [R4,#0xC]
.text:00028F16                 SUBS    R0, R3, #1
.text:00028F18                 SBCS    R3, R0
.text:00028F1A                 STR     R3, [SP,#0x4D8+timeout]
.text:00028F1C                 MOVS    R0, R7
.text:00028F1E                 MOV     R3, R11
.text:00028F20                 BL      _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028F24                 B       loc_28EAC
.text:00028F26 ; ---------------------------------------------------------------------------
.text:00028F26
.text:00028F26 loc_28F26                               ; CODE XREF: sub_28D5C+B2j
.text:00028F26                 BLX     __errno
.text:00028F2A                 LDR     R3, [R0]
.text:00028F2C                 CMP     R3, #4
.text:00028F2E                 BNE     loc_28F32
.text:00028F30                 B       loc_28DD8
.text:00028F32 ; ---------------------------------------------------------------------------
.text:00028F32
.text:00028F32 loc_28F32                               ; CODE XREF: sub_28D5C+1D2j
.text:00028F32                 B       loc_28F52
.text:00028F34 ; ---------------------------------------------------------------------------
.text:00028F34
.text:00028F34 loc_28F34                               ; CODE XREF: sub_28D5C+C8j
.text:00028F34                 BLX     __errno
.text:00028F38                 LDR     R3, [R0]
.text:00028F3A                 CMP     R3, #4
.text:00028F3C                 BNE     loc_28F40
.text:00028F3E                 B       loc_28DD8
.text:00028F40 ; ---------------------------------------------------------------------------
.text:00028F40
.text:00028F40 loc_28F40                               ; CODE XREF: sub_28D5C+1E0j
.text:00028F40                 BLX     __errno
.text:00028F44                 LDR     R3, [R0]
.text:00028F46                 CMP     R3, #0xB
.text:00028F48                 BNE     loc_28F4C
.text:00028F4A                 B       loc_28DD8
.text:00028F4C ; ---------------------------------------------------------------------------
.text:00028F4C
.text:00028F4C loc_28F4C                               ; CODE XREF: sub_28D5C+66j
.text:00028F4C                                         ; sub_28D5C+1ECj
.text:00028F4C                 BLX     __errno
.text:00028F50                 LDR     R3, [R0]
.text:00028F52
.text:00028F52 loc_28F52                               ; CODE XREF: sub_28D5C:loc_28F32j
.text:00028F52                 LDR     R0, =(aDataDataCom_so - 0x28F58)
.text:00028F54                 ADD     R0, PC          ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028F56                 BLX     unlink
.text:00028F5A                 B       loc_28E5E
.text:00028F5C ; ---------------------------------------------------------------------------
.text:00028F5C
.text:00028F5C loc_28F5C                               ; CODE XREF: sub_28D5C+11Ej
.text:00028F5C                 BLX     __stack_chk_fail
.text:00028F5C ; End of function sub_28D5C
.text:00028F5C
.text:00028F5C ; ---------------------------------------------------------------------------
2013-5-13 21:29
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
虽然没看懂  但是好复杂的样子。。
2013-5-13 21:30
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
如果我改。在getMacAddress里面的函数。返回一个指定的字符怎么写呢?
WIN32的汇编 。我知道。
定义字符
mov eax,字符首地址
retn一下就OK了
2013-5-13 21:31
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我也不懂。我只是贴里面的代码一下。我想修改一下。把那个取得MacAddress的函数。返回一个始终我们自己指定的字符。也可以达到破解的。
2013-5-13 21:32
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最牛B的写法是改公钥,然后做出自己的算号器来了!
2013-5-13 21:33
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
当然可以改getDeviceId,getSubscriberId,getMacAddress的返回值,前提是你有正版的LIC才行!
2013-5-13 21:35
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
嗯。我有的。我也有正版的LIC。请问。怎么写呢?
2013-5-13 21:37
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
破解和非破解的区别就是 有个5分钟的限制,也许您可以从这里下手。。。

希望您破解成功了 能够发一个教程,现在论坛全是JAVA的破解。。。

期待您的教程。。。

另外这个软件的最新版本是2.1.4
http://touchelf.com/forum.php?mod=attachment&aid=MTUyfDNmNzgzMDFkfDEzNjg0NTIyMTV8MTM4OXwyNzY%3D
2013-5-13 21:38
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我和你一样。开始学习。只是用IDA分析了。知道一些东西在哪里。但是怎么修改。还是不知道啊。对ARM不熟。。
2013-5-13 21:40
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
经测试。你发布的破解版本。也是五分钟后就不行的了
2013-5-13 21:47
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
可我装在我的手机里不会退出呀?你导入LIC了吗?弄个假的就成!
2013-5-13 22:06
0
雪    币: 551
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
已经导入了LIC。但是。。还是五分钟。。。
2013-5-13 22:30
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
软件有一个5分钟的限制,你循环播放一个脚本,看看5分钟后会不会自动停止
2013-5-14 09:18
0
雪    币: 335
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
要修改so,就要懂得arm汇编。还有转换成对应的opcode机器码。转换可以用本论坛提供一个转换工具实现。如果要看教程,有米就购买本子区版主书籍...
2013-5-15 17:11
0
游客
登录 | 注册 方可回帖
返回
//