吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6739|回复: 39
收起左侧

[Android 原创] 手游之u3d之dll文件加密之手动修复

  [复制链接]
wesleyxu 发表于 2020-12-6 20:30
本帖最后由 wesleyxu 于 2020-12-14 14:57 编辑

文章标题不知道怎么取。。。
所需工具:
010editor
.NET Reflector

一款国外破解版的游戏,u3d引擎,想看修改了啥,但是无奈打开后是这样的
1.png
dll加密了,首先想到的是从内存中去抠出来,于是经过一番操作后从内存中扣出来,
具体怎么从内存中,这里略过,不是本文重点,网上可以自己找找。使用反编译工具打开后还是这样

2.png
这么牛逼,不用解密就能执行的吗,
好吧,那对比下,
3.png
纳尼???内存中抠出来的和加密后的文件对比是一模一样的,
说明它可能不需要解密就能执行,那就是可能是破坏了某些段导致反编译工具无法正确反编译,
pe格式是这样的,某些段可以修改后不影响执行。

如果dll文件被反编译修改后,和源文件是有差别的,文件大小,
pe格式里面的各种段是会改变的,这就导致无法和原版做对比。
祭出文件万能打开工具010editor,
还有pe格式模板下载:https://www.sweetscape.com/010editor/repository/templates/
搜索:EXE.bt打开后:
5.png

明显缺了好多个段

6.png

下面就开始本文的重点了手动修复试试映入眼帘,
一眼看出pe格式头部被破坏,
pe格式标准头部:50 45 00 00每次改后,
就重新执行一下模板,再使用.NET Reflector打开试试,
如果能正确反编译就证明修改完成

7.png

解析错误证明有些段的偏移被破坏过了,导致模板无法正常跑通

8.png
9.png

指向OPTIONAL_HEADER32的大小是0xE0,但是这里只解析到0xA0,

很明显就是错的。 接下来我们看OPTIONAL_HEADER32结构体,
有几个很重要的信息

10.png

这里我们要验证下那个指向程序入口的地址,0x34484E,
计算公式是0x34484E – 0x2000 +0x200 = 0x342A4E跳过去看一下,是对的,
一般入口都是 FF 25开头

11.png
再来看下面几个段信息,都是错的
12.png

有一点要知道,就是3个段都会是紧挨着的,
也就是说一个段结束后,另一个段就接下去,比如text段是0 – 0x100,那下一个段就是0x100 – 0xxxxx,基于这点,
康康IMAGE_SECTION_HEADER段

13.png

上面的真实text段就是从0x200 – 0x342854这个区间0x342854 - 0x342A00区间用00补足,
遵循对齐所以下一个区段真实地址就是0x342A00 + 0x200 = 0x342C00 下一个区段虚拟地址就是0x342A00 + 0x2000 = 0x344A00,
这里的虚拟地址这样加过之后还不行,
因为内存中的对齐值是0x2000,所以0x344A00还要再加,也是用00补足,加到0x2000的整数倍,
最终下一个区段的虚拟地址就是0x346000

14.png

所以把下一个区段的VirtualAddress和PointerToRawData改过来,

15.png

再看看下一个段,是正确的
16.png    

在运行一下模板,还是报错,那就肯定还有哪里有错,我们上面修复了段的指向问题了,
再回去看看OPTIONAL_HEADER32结构体,这个结构体太重要了,包含了很多信息

17.png

上面导入表需要计算多次,跳转多次,是个指针就加加减减这里就不错描述了,
因为这个地方我算过了,是没错的主要看Resource结构体,
我们在上面已经修复过.rsrc结构体,这个就是对应Resource结构体,改成一样的

18.png

再执行一下模板,ok,成功跑通,没有报错,再使用.NET Reflector打开康康

19.png
成功,
接下去再去导出所有cs文件和原版的对比,
就能找出修改了哪里 文中使用到样本
下载地址: 链接:https://pan.baidu.com/s/1ri-SZU-iCdydE2xlNYKiPg提取码:m07f复制这段内容后打开百度网盘手机App,操作更方便哦

免费评分

参与人数 14吾爱币 +15 热心值 +12 收起 理由
w20064360 + 1 666
arun828 + 1 + 1 没看到图,是不是忘了传
shizi1521 + 1 + 1 用心讨论,共获提升!
swz7852151 + 1 + 1 谢谢@Thanks!
yunwalking + 1 + 1 我很赞同!
ljj_1025 + 1 热心回复!
沉默之翼 + 1 + 1 厉害了
杨辣子 + 1 + 1 看大佬操作
RGPLD + 1 + 1 我很赞同!
xxwsh0928 + 1 鼓励转贴优秀软件安全工具和文档!
xuanmo + 1 + 1 我很赞同!
正己 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
FineDrops + 1 + 1 谢谢@Thanks!
17863906417 + 1 + 1 热心回复!

查看全部评分

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

 楼主| wesleyxu 发表于 2020-12-14 14:36
发了之后,我都不知道在哪修改
 楼主| wesleyxu 发表于 2020-12-14 14:55
CIBao 发表于 2020-12-13 11:03
小木曾雪菜 发表于 2020-12-7 23:04
为什么写教程不上插图?还有这个有没有考虑il2cpp的情况?

il2cpp加固了基本上不用想修复了, 除非是弱鸡加固
Grz111234 发表于 2020-12-6 21:11
感谢分享
若雪三千 发表于 2020-12-6 21:17
哇 大佬        
xuexiba 发表于 2020-12-6 21:31
思路清晰,支持。
hijackjave 发表于 2020-12-6 22:03
感谢分享
gogofeng 发表于 2020-12-6 23:11
不明觉厉啊
正己 发表于 2020-12-6 23:50
要是有图就更好了
Sy155584782 发表于 2020-12-7 00:00
感谢分享~
xuanmo 发表于 2020-12-7 00:40
正需要呢,摩拜大佬
away99 发表于 2020-12-7 01:33
纯文字啊,一张图片都没有呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 20:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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