首页
社区
课程
招聘
[求助]如何改写EXE文件内容?
发表于: 2008-9-24 10:02 16019

[求助]如何改写EXE文件内容?

2008-9-24 10:02
16019
 比如,我用OD破解一个软件,找到了它的关键跳转如下:
 0040CE45   . /74 21         je      short 0040CE68
 我想把 je改为jne 即74->75,如何实现?
  
 我用VB这样写不行?
  Open "1.exe" for binary as #1
      put #1, &H40ce45, &h75
      close #1
  谁能指点指点?不要空口说白话就行!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 246
活跃值: (106)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
windows进程有保护,不允许其它进程访问。我不懂VB,不知Open是怎样一函数...
还好windows留了条路,可以用
OpenProcess()//打开目标进程
WriteProcessMemory()//写目标进程
也可以用插入DLL或一代码到目标进程,然后在进程内部改写...
2008-9-24 10:52
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
3
  呵呵,谢谢你的热心,我自己已经解决掉了,成功修改!
  你没明白我的意思,我是直接修改可执行文件,从而达到爆破的目的,嘿嘿!
  下面公布用VB正确修的办法:
  EXE文件的特点是,它在磁盘上存储和在内存中存储对齐方式一致,因此,我们要修改一个软件达到爆破的目的,用程序来做有两种方法:
  1、是修改内存中相应关键点的位置,此方法需要修改者有调试的权限,而且内存修改的弱点是每次运行都得修改一次,不太方便。
  2、就是我上面问的方法,是修改软件本身,和OD修改的结果一样,也是文件补丁的原理,可以达到一劳永逸的效果。呵呵!
  附VB直接修改EXE相应地址数据的源代码,VB6.0下调试成功:
  Private Sub Command1_Click()
      Dim d As Byte
      d = &H75
      Open "1.exe" For Binary Access Write As #1
      Put #1, 52805 + 1, d
      Close #1
End Sub
   '注: 52805就是上面所说的目的地址0x40CE45减去基址0x400000所得的偏移地址的十进制结果,也就是相对于EXE文件头的偏移地址。
      
     VC要修改应该也一样,用fopen fseek fwrite 三函数就行。
    最后,希望高手们不要笑话,虽然是一个很简单的问题,但是不要那么冷冰冰的,只有从简单才能到复杂!
2008-9-24 11:24
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼主,自问再自答~真的非常感谢。
2008-9-24 11:57
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
5
因为没有人回答我,只好自己DIY了,嘿嘿,结果自己解决了。
    但为了让大家也不走弯路,所以发出来,大家学习!
2008-9-24 12:21
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
晕 找个16进制编辑软件就修改了 还用写程序吗
2008-9-24 16:41
0
雪    币: 249
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
自作聪明                   `
2008-9-24 18:37
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
8
  此方法是做 文件补丁的基础,你不屑但你时时都可能用到!
2008-9-24 18:56
0
雪    币: 0
活跃值: (984)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
此方法绝对有效,我一开始学VB的时候也搞不懂PUT写文件的方法!
2008-9-24 19:39
0
雪    币: 1602
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
是修改文件嘛!哪是什么修改内存?
2008-9-25 09:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习学习怎么改的
2008-9-26 15:24
0
游客
登录 | 注册 方可回帖
返回