首页
社区
课程
招聘
[求助]检测某程序的壳是否已解壳完成 代码实现
发表于: 2008-8-15 10:55 5856

[求助]检测某程序的壳是否已解壳完成 代码实现

2008-8-15 10:55
5856
具体情况是这样的:
某程序运行时我要动态修改它的指令,而这个程序又被加了TMD...实在脱不掉艾
所有我现在就要准确的判断这个程序运行时壳是否已经解完了....
判断壳解完过后在在合适的时间 合适的地点修改我要修改的指令..

问题就在怎样判断程序运行时壳已经解完?
我自己试了个方法不行艾..请大家帮个忙咯

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
PEID查壳即可..
2008-8-15 14:36
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
貌似有个东西可以PATCH带TMD壳的程序内存代码.但忘记了.
2008-8-15 15:00
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
Hook所有API,你会得到你想要的
2008-8-15 15:45
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
5
有个折中的办法,自己写个loader,用SUSPENDED方式CreateProcess,接着ResumeThread他,loader小睡一下,sleep(10),再SuspendThread他,读取一下你要patch的地方,是否已经是你要patch的代码了(解压好了)。不是再重复上面的工作,直接等到时机即可。

方法很笨,但实用。这样弄过一个TMD的,没有问题。
2008-8-17 00:51
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
来对地方了, 这里有很多会秒脱的高手
2008-8-17 01:02
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7

123456
2008-8-17 13:26
0
雪    币: 220
活跃值: (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
呵呵 谢谢大家关注...
过了2天我试验出来一种稳定的办法
1.用自己的Loader来CreateProcess来加载目标程序,创建标志--设置为创建后暂停程序。
2.loader通过远线程注入DLL...Dll的初始化代码就执行HOOK API(当然HOOK哪个API就根据自己的实际需要和情况了..已来确定壳已经解壳完成!我HOOK的是CreateProcessA)然后再在自己的构造API函数里修改想要修改的指令,因为这时已经已经解壳完成了
3.再ResumeThread唤醒目标进程就可以了
........
2008-8-20 10:25
0
雪    币: 220
活跃值: (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
clide2000 兄弟貌视搞过NP的人安....
2008-8-20 10:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
要是有个视频教程,就好了~
2008-8-22 05:59
0
游客
登录 | 注册 方可回帖
返回
//