-
-
[求助]smali反编译,再编译回去,代码是不是会和原先不一样?
-
发表于: 2016-1-21 15:20 3258
-
有一个带so的应用,重新签名,不做任何修改,可以正常使用,说明软件未对签名进行校验。
对classes.dex进行smali反编译,再不做任何修改编译回来,替换原有的classes.dex,重新签名,运行就FC, 跟踪到FC的语句是
jniCmd(9, Build.BOARD , Build.BRAND , Build.DEVICE , Build.MANUFACTURER , Build.MODEL , Build.PRODUCT , 0, 0, 0, 0, 7, 2, 5.0f);
怀疑是不是参数5.0f用工具反编译,再编译回来,和原先的值不一样导致的,但实在是不明白。
FC的logcat:
01-20 14:59:41.623 F/DEBUG ( 286): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x3e7fb380
01-20 14:59:41.641 F/DEBUG ( 286): r0 a8e38cd4 r1 00000000 r2 b079b6b0 r3 3e7fb378
01-20 14:59:41.641 F/DEBUG ( 286): r4 b378c670 r5 00000000 r6 b079b6b0 r7 b079b630
01-20 14:59:41.642 F/DEBUG ( 286): r8 74052660 r9 b4df6500 sl 740527b0 fp 740527f0
01-20 14:59:41.642 F/DEBUG ( 286): ip b377a899 sp befced40 lr b377aeff pc b377a4e0 cpsr 800b0030
01-20 14:59:41.644 F/DEBUG ( 286):
01-20 14:59:41.644 F/DEBUG ( 286): backtrace:
01-20 14:59:41.644 F/DEBUG ( 286): #00 pc 000024e0 /data/app/com.recorder-1/lib/arm/librec.so
01-20 14:59:41.644 F/DEBUG ( 286): #01 pc 00002efb /data/app/com.recorder-1/lib/arm/librec.so (Java_com_recorder_RecordService_jniCmd+1634)
01-20 14:59:41.644 F/DEBUG ( 286): #02 pc 003233fd /data/app/com.recorder-1/oat/arm/base.odex (offset 0x1e3000)
对classes.dex进行smali反编译,再不做任何修改编译回来,替换原有的classes.dex,重新签名,运行就FC, 跟踪到FC的语句是
jniCmd(9, Build.BOARD , Build.BRAND , Build.DEVICE , Build.MANUFACTURER , Build.MODEL , Build.PRODUCT , 0, 0, 0, 0, 7, 2, 5.0f);
怀疑是不是参数5.0f用工具反编译,再编译回来,和原先的值不一样导致的,但实在是不明白。
FC的logcat:
01-20 14:59:41.623 F/DEBUG ( 286): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x3e7fb380
01-20 14:59:41.641 F/DEBUG ( 286): r0 a8e38cd4 r1 00000000 r2 b079b6b0 r3 3e7fb378
01-20 14:59:41.641 F/DEBUG ( 286): r4 b378c670 r5 00000000 r6 b079b6b0 r7 b079b630
01-20 14:59:41.642 F/DEBUG ( 286): r8 74052660 r9 b4df6500 sl 740527b0 fp 740527f0
01-20 14:59:41.642 F/DEBUG ( 286): ip b377a899 sp befced40 lr b377aeff pc b377a4e0 cpsr 800b0030
01-20 14:59:41.644 F/DEBUG ( 286):
01-20 14:59:41.644 F/DEBUG ( 286): backtrace:
01-20 14:59:41.644 F/DEBUG ( 286): #00 pc 000024e0 /data/app/com.recorder-1/lib/arm/librec.so
01-20 14:59:41.644 F/DEBUG ( 286): #01 pc 00002efb /data/app/com.recorder-1/lib/arm/librec.so (Java_com_recorder_RecordService_jniCmd+1634)
01-20 14:59:41.644 F/DEBUG ( 286): #02 pc 003233fd /data/app/com.recorder-1/oat/arm/base.odex (offset 0x1e3000)
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
看原图
赞赏
雪币:
留言: