Dawn 发表于 2014-11-14 10:45:38

【原创】so与dex互验证欺骗.

应用名字:朋友说要和谐下

应用包名:com.gale.sanguokill.hd

用到工具:Notepad++
          Ide
          C32asm
          Ida和ddms(因为用的朋友的电脑,很多东西都没装,这里就不演示了。)
前言:
这个游戏的支付验证时移动 MM和支付宝的,当修改好支付宝回编打包,运行游戏的时候出现闪退。不修改反而没事,于是想到如何来欺骗它。然后反复试验,成功了。判断这个游戏是so验证dex,dex验证so的一款验证.具体细节可能不太详细,大家看看方法和思路吧。

一.
IDE反编译好之后,我们在项目菜单里面,右键com.gale.sanguokill.hd打开文件夹。复制路径,打开notepad++,ctrl+f搜索classes.dex,在目录上面粘贴路径,全部查找 看看都那些文件调用了classes.dex。图1
http://bbs.pediy.com/attachment.php?attachmentid=91157&thumb=1&d=1406883425
看到了有6个文件调用了classes.dex,只需要关心so,就像前面提到了,这个是SO与dex互相验证.图2.
http://bbs.pediy.com/attachment.php?attachmentid=91158&thumb=1&d=1406883425
打开ide看AndroidManfest.xml启动文件sanguokillactivity,这里调用了libgame.so文件.图3
第一步,到这里结束.
http://bbs.pediy.com/attachment.php?attachmentid=91159&thumb=1&d=1406883425
二.
修改”game”名
未修改:
.method static constructor <clinit>()V
    .locals 1

    const-string v0, "game"

    invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V

    return-void
.end method
修改后:
.method static constructor <clinit>()V
    .locals 1

    const-string v0, "kanxue"

    invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V

    return-void
.end method
OK,执行下一步.

我们把.apk改成.rar把里面的classes.dex拖出来,修改成lkanxue.ooo,在拖放到里面. 图4
http://bbs.pediy.com/attachment.php?attachmentid=91160&thumb=1&d=1406883425
修改好后,来修改so文件名和so文件里面调用classes.dex文件名的字符.

刚刚提到过,修改so是两个,分别是armeabi和armeabi-v7a里的libgame.so.

拖出来,因为刚刚把dex监听so的名字改成kanxue所以要把libgame.so名字改成libkanxue.so.用c32asm打开libkanxue.so,用十六进制模式,因为不支持反汇编模式打开.

搜索ansi字符串 classes.dex,修改成刚刚外部修改的lkanxue.ooo.图5
http://bbs.pediy.com/attachment.php?attachmentid=91161&thumb=1&d=1406883425
保存,把这个libkanxue.so拖放到armeabi目录里面.图6
http://bbs.pediy.com/attachment.php?attachmentid=91162&thumb=1&d=1406883425
Armeabi-v7a目录下的libgame.so文件和armeabi的一样,就不写了。

然后修改classes.dex文件的内购就不会闪退了

简洁原理:
原文件是1.dex 2.so 复制1.dex 2.so 文件改名为3.dex 4.so
1.dex调用4.so
2.4so调用3.dex
3.so 还是原来的so

欺骗,欺骗,或者说是狸猫换太子。

OK,教程到这里结束,写的不好,笑笑就好了,别喷我,现在对喷子有阴影了。

文档下载:链接: http://pan.baidu.com/s/1jGurV8M 密码: 123h

听鬼哥说故事 发表于 2014-11-14 10:48:49

前排支持荡老湿。。。

JackIO 发表于 2014-11-14 10:50:46

写的很好,新手前来学习荡老师啦。

peterdocter 发表于 2014-11-14 13:14:05

老当手中的剑还是那锋利:victory:

wgz001 发表于 2014-11-14 16:00:49

默默地支持一把
:P

dawnchen 发表于 2014-11-15 07:35:30

Dawn老师给力,:)

737672679 发表于 2014-11-16 19:12:39

顶10个:D

1171610056 发表于 2014-12-23 18:13:52

4L查水表

beijingshi1 发表于 2014-12-24 11:26:23

不错不错。。。。。

737672679 发表于 2014-12-24 15:49:46

荡 师傅。

希望更新帖子。。。顶

页: [1] 2
查看完整版本: 【原创】so与dex互验证欺骗.