平平博客平平博客

平平

ping@setbug.com

平平网络setbug.com

文章数
18931
评论数
3010
浏览数
5357881
平平
ping@setbug.com
平平网络setbug.com

【初夏原创】il2cpp之免广告获得奖励

网站资源2023-01-07 18  0 
摘要:上一篇前言一些个人经验分享,有些地方只能说是在免广过程中的累计经验,所以只能跟我的思路走了...
上一篇

前言
一些个人经验分享,有些地方只能说是在免广过程中的累计经验,所以只能跟我的思路走了
老样子
解压出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进入游戏免广成功
继续阅读
写代码真的很累!麻烦点个赞,评论一下,然后分享给自己的小伙伴!
打赏
海报分享
发表评论
表情
快捷
私密

右滑验证