|
|
|
[讨论]想招个软件加壳的
是要编程写的吧。 |
|
[招聘]深圳软牛科技有限公司
为啥坑爹呀 |
|
绕过WiFi验证:四招教你免费使用WiFi
我怎么感觉没啥用处 |
|
[原创]MSC解题报告
第二题 Java层没做什么,直接把输入放到底层的libcrackme.so里做了判断。发现JNI_Onload里做了些处理,接着securityCheck里面最后有判断,将输入和一个wojiushidaan做比较。输入后发现密码错误,因此可以猜测前面一大段逻辑的作用就是会把这个最终的字符串改掉。其实只需要知道最终判断时候那个地址上的值就行了,先尝试了调试,发现一旦attach就退出,做了反调试。注意到比较之前有个android_log_print函数,因此可以直接利用这个函数做打印。我选择patch方法是直接把这个函数往下移,因为在0x12A4地址处正好有需要的数据给了R2,所以我把从0x1284到0x129C的地方都NOP了,在0x12AC的地方调用log函数。把patch好的so直接放回去,随便输入就能看到最终比较的密码了。 原版的汇编 .text:00001284 92 FF FF EB BL __android_log_print .text:00001288 00 00 95 E5 LDR R0, [R5] .text:0000128C 04 10 A0 E1 MOV R1, R4 .text:00001290 00 20 A0 E3 MOV R2, #0 .text:00001294 A4 32 90 E5 LDR R3, [R0,#JNINativeInterface.GetStringUTFChars] .text:00001298 05 00 A0 E1 MOV R0, R5 .text:0000129C 33 FF 2F E1 BLX R3 .text:000012A0 60 10 9F E5 LDR R1, =(CheckPassword - 0x5FBC) .text:000012A4 07 20 91 E7 LDR R2, [R1,R7] ; CheckPassword .text:000012A8 .text:000012A8 loc_12A8 ; CODE XREF: Java_com_yaotong_crackme_MainActivity_securityCheck+120j .text:000012A8 00 30 D2 E5 LDRB R3, [R2] .text:000012AC 00 10 D0 E5 LDRB R1, [R0] .text:000012B0 01 00 53 E1 CMP R3, R1 我改之后的汇编 .text:00001284 00 00 A0 E1 NOP .text:00001288 00 00 95 E5 LDR R0, [R5] .text:0000128C 00 00 A0 E1 NOP .text:00001290 00 00 A0 E1 NOP .text:00001294 00 00 A0 E1 NOP .text:00001298 00 00 A0 E1 NOP .text:0000129C 00 00 A0 E1 NOP .text:000012A0 60 10 9F E5 LDR R1, =(off_628C - 0x5FBC) .text:000012A4 07 20 91 E7 LDR R2, [R1,R7] ; off_628C .text:000012A8 .text:000012A8 loc_12A8 ; CODE XREF: Java_com_yaotong_crackme_MainActivity_securityCheck+120j .text:000012A8 04 00 A0 E3 MOV R0, #4 .text:000012AC 02 10 A0 E1 MOV R1, R2 .text:000012B0 87 FF FF EB BL __android_log_print .text:000012B4 05 00 00 1A BNE loc_12D0 在修改当中,发现.text:00001288 00 00 95 E5 LDR R0, [R5] 改为00 00 A0 E1,程序在没进入函数前,程序就会崩溃。 DDMS的提示为: 02-05 06:39:32.430: A/libc(2490): Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 2490 (yaotong.crackme) 为什么会崩溃呢? |
|
[原创]第二题,AliCrackme_2.apk破解思路
02-05 01:56:51.350: E/Trace(877): error opening trace file: No such file or directory (2) 02-05 01:56:51.470: W/ActivityThread(877): Application com.yaotong.crackme is waiting for the debugger on port 8100... 02-05 01:56:51.520: I/System.out(877): Sending WAIT chunk |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值