刚看完小黄书,带着激动的心情把某手游砸壳,然后classdump ida,然后就傻了…
到今天已经一个星期了,我把ida分析出来的4万多个方法很认真的从头看了一遍,感觉能有用的方法我就hook,在里面show UIAlertView,但是一次也没有弹出来过…
我先用[[UIApp keyWindow] recursiveDescription]获取到UIWindow下有个子视图叫CCEAGLView,
去百度了一下这个CCEAGLView好像就是连接iOS和cocos2dx的,它的子视图没办法用recursiveDescription打印出来,我到现在为止就hook这个CCEAGLView上的方法好用,能正常弹出alert,但这个上面的方法都没什么卵用…
我感觉自己一直在走弯路,也可能压根没在路上…
归纳了几个疑问,求有经验的前辈解疑
1.classdump出来的类和方法是不是都不可能是游戏内调用的方法?比如打开背包,进入某个关卡这样的;
2.游戏里面能看见的控件也是继承UIView的吗?
3.想实现模拟屏幕点击,之前狗神发过一个simulate touch,但已经是好久以前了,想知道现在这个还能用吗?支持到iOS几?如果不能用有什么其他的方法实现模拟屏幕点击么?
暂时能想到的就这些,已经连续熬了四五个通宵了,其实收货也不小,但是逆向游戏丝毫没有进展,希望一觉醒来能有高人指点~~~
scholar0
(scholar)
#2
一般游戏是调lua或者C写的 需要到IDA等工具里面看
citydeer
(citydeer)
#3
1、你的方向错了,oc只是调起游戏引擎并且传递系统事件,具体的游戏逻辑是用c++或者lua或者js写的,所以classdump出来的类和方法基本不是游戏内调用的方法。
2、游戏里面能看见的控件也是继承UIView的吗? 不是。
3、模拟点击还是可以的,游戏中触摸事件是UIView传递给游戏引擎的。
2 个赞
谢谢你,那模拟点击还是用simulate touch那个包吗?那个包貌似只支持到iOS7?我按照simulateTouch在github上的步骤,用iosopenDev编译无法通过,难道必须要用theos吗?
在ida里面 只看到一堆 sub_开头的方法 ,lua或者C函数 都没看到
这东西跟RN项目一个样,关键的业务逻辑都不是用原生做的。
我想问下对于游戏逆向要什么思路,我这几天也在思考楼主这个问题,我们总是在走错的方向.我进入神庙逃亡发现就一个页面用到 oc 的 VC,我 hook 还无效.看文件我能看出来是 unity3D 开发的
.###像这种是要 hook 目标具体逻辑的执行的 C#函数吗?
###从什么地方可以找到这些方法名呢,我用 cycript 只看到了 OC 的.;
###还有个问题,那个 IDA 静态调试,这个是不是不能看到寄存器的东西,我看有的文章写游戏逆向修改寄存器值,可以改金币啊人物属性什么的,那个应该是动态运行的时候可以改吧;
###我尝试更改本地一个 txt 文件,因为我发现金币改了,它改成对应值,但是我手动修改后,放进去,貌似游戏不认可,文件头一行写的哈希值,我猜想(未联网)本地肯定有个校验哈希的,然后它看我文件改了不认可,这都是我的推测,而且联网时候,服务器会有验证貌似,我想问这种联网的,是不是要在提交服务器的时候,hook 那个函数,把金币啊什么的修改了,然后继续执行原有函数加密,上传,这样搞服务器能看出来不?(获取加密前的数据然后改,加密什么的还是按原 app 继续执行),这是我的想法,不晓得对不对,具体实操,我更是在摸索
###还有个问题,像这种模拟经营的,本地有时间限制,可以获取免费东西,我修改本地时间控制,服务器会验证不?是不是看情况,防护差的不验证,问问有做过游戏的大神都是怎么处理的这些逻辑,我没开发过游戏正向,感觉完全没思路
Zhang
#9
是
unity是il2cppdumper
联网的一般会,除非开发者是***条的。
思路也许可以,还是那句话,具体看游戏和服务端的保护逻辑。只能说一般不要把游戏开发者想的太傻,那个游戏不加保护的年代早都过去了
1 个赞
感谢张总的耐心回答,我去研究下il2cppdumper