【凯特原创】il2cpp之免广告获得奖励

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2023-1-7

上一篇
#【凯特原创】il2cpp之反加货币#
前言
一些个人经验分享,有些地方只能说是在免广过程中的累计经验,所以只能跟我的思路走了

老样子
解压出dat文件和so文件
Dump出dll
将dll拖入dnspy
广告常规搜索的关键词
Showreward、showrv,showrewardad,showrewardvideo之类
搜索showreward

可以看到出现了很多个结果
看看类名
广告常规类名adsmanager
先点进去试试,不对再换

发现这个类里有一个onfinishvideoreward 翻译一下就是完成视频奖励,并且参数里有一个issuccess那这个方法可以试试
初步想法showrewardvideoads跳转onfinishvideoreward试试
尝试了下并不行,上ida
将so拖入ida开始分析

当然可以看看这些调用的方法的名称看看和广告的关联性,进一步确认
F5进入伪代码界面,看看这个方法的代码

结合ida的代码和dnspy里的方法的参数
能推断a2是这个placement参数(个人经验用处不大),a3是onfinishcallback参数,这里关键就是这个参数,再看ida的代码v4=a3

这个invoke方法的第一个参数就是v4说明这个方法对onfinishcallback参数操作了一波

dnspy里这个showrewardvideoads方法的第二个参数类型是Action(bool,string)然而这个invoke方法就是操作这个action类型的函数

通过上面的判断推断else if里的就是发放奖励的操作
直接写代码跳转但是要带上参数不然没有用
Bool值0或1, 0假1真
那么invoke里的第二个参数1就是发放奖励了

开始写arm
mov r0,r2
mov r1,1
b 0x92DD88

在ida中这个showrewardvideoads函数里的三个参数从左至右分别是r0,r1,r2(运用到其他方法里也是这个排序的方法)

Mov r0,r2的意思是将r2的值给r0
Mov r1,1将值1给r1
然后跳转到invoke方法

为什么是mov r0,r2
类似上面的showrewardvideoads方法即invoke(onfinishcallback,1)

从showrewardvideoads方法跳转需要在offset填入shworewardvideoads方法的rva值

总结一下过程
当showrewardvideoads方法被调用,方法进入给参数赋值然后跳转invoke方法,发放奖励

Mt中修改so进入游戏免广成功

沙发
花影若梦 2023-1-7
给大佬倒茶
板凳
心机 2023-1-7
92dd88这个地址是谁的,没看懂[疑问]
地板
Smileˇ 2023-1-7
invoke这个方法的
4楼
心机 2023-1-7
怎么看这个方法的地址[委屈][咦]
5楼
Smileˇ 2023-1-7
ida里看invoke然后点过去就可以看到了 也可以在dump文件里搜索这个方法
6楼
心机 2023-1-7
[真棒]
7楼
浅秋ღ 2023-1-7
哥哥要是这般态度 倒不如直接不给的好 显得哥哥无理取闹了些
8楼
花影若梦 2023-1-7
我错了,坤坤[泪]
奆佬牛逼![真棒]

评论

登录后才可发表内容
  • 主题

    434

  • 帖子

    122

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0355s Mem:2056Kb