LIXXX壳 脱壳还原步骤
年初的时候搞的一个游戏,一直陆陆续续搞,弄了很久,那个时候还没离职,现在换了新公司之后,专心搞逆向,就把这个游戏找出来,练习一下。 游戏原版样本链接在这 https://share.weiyun.com/0DVjK9xK 是一个比较好玩的单机游戏,当时找的时候是 google 商店 单机排行第一。 简单尝试 当时的需求已经忘记了,只记得这个游戏有个…
SpiderMonkey 编译对应版本的 JSC 逆向工具
遇到问题,初步分析 最近遇到一个很老的 cocos2djs 游戏,用的引擎是 SpiderMonkey ,需要对这个游戏做一下修改。 先分析一下这个游戏的 js 文件,打开 assets 一看,加密了。每个加密文件都是 统一的 header icegame 开头的,初步判定是 cocos2d 自己的 xxtea 加密 把 libcocos2djs.…
汇编指令学习(1)
先来一个 汇编指令在线转换的网站 https://defuse.ca/online-x86-assembler.htm#disassembly 可以通过这个网站来辅助学习 先了解一下基础的知识: https://zhuanlan.zhihu.com/p/388683540 ARM 汇编的格式 基础知识中有说: <opcode> {<…
frida 基础使用(3)– 追踪 native 函数
有时候定位到了关键的 native 函数,但是调用方有很多,不知道触发关键行为的时候 是谁调用的这个逻辑,这个时候就需要 frida-trace 来追踪 native 函数的调用了 当追踪的函数有符号时 frida-trace -U com.a.b.c -i "gettimeofday" //支持 正则匹配 比如 frida-trace -U co…
逆向学习路线(转载)
一.安卓逆向基础(建议1周) 1. 学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。在环境安装的工程中会遇到很多细节上的问题。 2. 第二步就是要了解我们要分析的是什么文件,很多0基础的同学都不知道安卓逆向分析的什么文件。我们要分析的是应用程序或者安装包(就是.apk文件),了解apk是怎么生成的以…
游戏xx好徒弟–应用签名校验分析(2)
处理 根据上一节总结的内容,在有 sim 卡的手机上会出现闪退,报错 log 是native 层的。 代码跳转到 ida 的逻辑,查看 对应的 native 代码 看到在进入游戏之后调用了 talingdata 的 登录逻辑,这里的登录逻辑会根据手机信息 生成 deviceid ,因为我们手机有手机卡,而且我们替换了签名,所以这里面的逻辑会导致崩溃…
游戏xx好徒弟–应用签名校验分析
同事发现有个游戏有签名校验,我挺久没手动处理签名校验了。都是用脚本 hook 签名处理了,详情可以看我之前写的博客。因为入职的职位后面会接触比较多的逆向相关的知识,所以还是从头分析一遍,用 nop 掉签名检测的方式来过签名 目标游戏包 https://share.weiyun.com/mnUM2n5A 这是一个很老的单机游戏了,不过我体验了一下画风…
cocos2djs 单机游戏逆向实战
之前有段时间,女朋友喜欢玩一个单机游戏。我嫌弃她浪费时间玩单机,就随口说帮她破解了吧,结果因为那段时间要离职,以及乱七八糟各种事情一直没心情搞破解。今天正好进新公司第一天,搞好了电脑系统环境之后。leader 让我自己分配时间(官方指定摸鱼),那就用一个下午搞一下这个游戏吧 目标游戏包 https://share.weiyun.com/8oQbIE…
frida 基础使用(2)– java 层 hook 指定函数
hook 方式有俩种,我们需要结合需求来使用 运行时 hook 顾名思义,就是在 应用运行的时候 通过 frida-server 对 app 进程进行干预 命令如下: frida -U {package_name} 我的手机很神奇,package_name 会告诉我找不到进程,反而 应用名可以。所以主要还是 先用 frida-ps -U 确认一下f…