吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8466|回复: 7
收起左侧

[Android CrackMe] jsc反编译以及二进制修改

[复制链接]
tongtong123 发表于 2019-8-6 20:58
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 tongtong123 于 2019-8-7 09:29 编辑

参考:https://www.52pojie.cn/thread-814217-1-1.html

       最近碰到jsc的游戏,游戏中有跳过功能但有限制,想着对游戏进行修改达到无条件跳过。
       首先,反编译jsc文件,使用这个工具https://github.com/irelance/jsc-decompile-mozjs-34(大致就是安装一个php环境,然后用composer导入项目所需)注意这里只能反编译SpiderMonkey 34 这个版本,反编译后的文件能看大部分的代码。
       在文件中搜索skip,观察可知如下的代码就是跳过按钮的判断

        接下来,根据字节码对照表寻找这段代码在jsc中对应的位置,字节码 对照表 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/Bytecode
        在反编译的js搜索canSkip,上面代码的canSkip是最后一个

        这块字符串对应的代码在它前面,如图中所标3B 00 00 00 00是取下标为0的字符串cc,而我们要找的canSkip小标是0x11,可以从头往下跟着代码找,熟悉的话就知道35 00 00 00 11这个就是获取canSkip字符串,后面跟着的20是取反,再后面07就是IFEQ的判断语句,后面的52是else执行的地方,而我们的跳过功能执行的地方刚好是else之后,我们就可以将07改成06(GOTO),直接goto执行跳过代码了。改完之后替换原来的jsc文件,这样就可以无条件跳过了。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

whale.alice 发表于 2019-8-6 21:10
谢谢分享
那年春天 发表于 2019-8-6 21:50
5夜HX 发表于 2019-8-6 22:12
kaixinyingying 发表于 2019-8-6 22:41
感谢分享,很受用
kll545012 发表于 2019-8-7 08:29
图呢??
 楼主| tongtong123 发表于 2019-8-7 09:35
发错版块了,怎么删除或者移动到其他版块
千里送机毛 发表于 2020-1-6 16:43
学习谢谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 20:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表