首页
社区
课程
招聘
[旧帖] [求助]一个限制文件名被修改的无壳exe 0.00雪花
发表于: 2008-3-21 00:42 4768

[旧帖] [求助]一个限制文件名被修改的无壳exe 0.00雪花

2008-3-21 00:42
4768
比如游侠汉化的《生化4》,其中的game.dat这个文件其实是真正的exe,在命令行下,直接敲game.dat就可以进入游戏,但如果把文件名改掉,比如改成game1.exe,就不能运行。
我用OD跟踪了很久,怎么也找不到比较的地方,而且整个exe里面也找不到game.dat的字串,内存里面也没有。它会是用什么方法作比较的?用秘文作比较吗?
先说说我的调试过程:
1、把game.dat重命名为game1.exe
2、刚运行程序,先把自带文件全名的内存地址的数据修改为game.dat。
3、在GetModuleFileNameA的API内部设断点,返回之后,将数据修改为game.dat。
4、重复步骤3,但是即便如此,还是被检测出文件被更名了。
这到底是怎么做到的?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
对了,它出错的时候会在同户的tmp文件夹生成一个Le_xx.tmp的文件,也是一个exe,出错窗口就是属于这个exe的,出错时游戏进程已经退出。

如果我要防止自己的exe被更名,有没有什么可以借鉴的地方?用什么方法都可以。
2008-3-21 08:53
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
为什么我发的帖,总是没有人回呢……
2008-3-21 11:12
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我来帮顶,水平有限,不能回答
2008-3-21 14:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不好意思,我就来帮你顶下..我也不懂的
2008-3-21 14:33
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
有人帮忙顶啊,先谢了
2008-3-21 15:52
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
在跟踪了n久之后,终于让我找到原因了。此game.dat调用./LG_Data/LG_biohazard4.dll,而此dll会读取../game.dat中的数据,所以把game.dat改成game1.exe当然出错了。
而且这也不涉及比较的步骤,当然也不是调用GetModuleFileName来读取当前进程文件名,所以1L的各种断点方法全部失败……
不过找到原因就简单了,LG_biohazard4.dll也没加壳,直接UE把dll中的game.dat改成game1.exe测试,成功运行……
2008-3-22 22:39
0
游客
登录 | 注册 方可回帖
返回
//