给Windows的记事本添加上下翻页功能(1)

2008121809331050.jpg

从这里可以很清楚的发现磁盘文件入口在400偏移处而文件对齐是7800字节大小,实际使用的是7748字节大小,那么也就是说7800-7748=b8h空间可以供我们插入代码

 

2.       知道了即将插入代码的地方,那么就准备好机器码以便处理,这里我们先只修改程序入口,其余的操作以后再写。

2008121809341568.jpg

从这里我们可以看到程序原先的入口偏移地址在739dh处,也就是说我们做完自己的处理后要跳转到这里。

B8 9D 73 00 01 ff E0

这便是

mov  eax, 0100739dh

jmp   eax

的机器码

 

3.       修改文件入口

因为文件偏移地址为400h而实际使用的字节数为7748h那么也就是说我们要在 7b49h处插入我们的代码。(再声明一次,时间有限今天只能写修改入口,至于其他操作,后面有时间的时候再继续写)

UE打开notepade.exe,在空隙处插入我们新的入口代码

2008121809352040.jpg

 

4.       修改程序入口点

因为原先的代码段偏移地址为1000h,而实际.text节大小为7748那么也就是说新的程序入口应该是7748h+1000h=8749h

2008121809370573.jpg

修改完毕后点击Sava

再次运行notepad.exe

2008121809390149.jpg

没有任何异常,那么修改程序入口成功。

 

当然你可能认为什么都还么做呢。呵呵,入口控制权被拿到了,那么接下来就可以自由发挥了。

 

时间有限,下次将在今天修改的入口点给notepad.exe载入我们的dll文件,紧接着,用我们的dlll来处理记事本的翻页功能待续

 

转载于:https://www.cnblogs.com/osoft1983/archive/2008/12/18/1357287.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
添加Java记事本的另存为功能,你需要按照以下步骤进行操作: 1.在菜单栏中添加“另存为”选项,可以在“文件”菜单下添加一个新的“另存为”选项。 2.添加一个文件选择器对话框,让用户选择保存文件的位置。 3.获取用户输入的文件名和位置,并将文本内容保存在指定的文件中。 下面是一个简单的代码示例,可以帮助你快速实现Java记事本的另存为功能: ``` import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Notepad extends JFrame { private JFileChooser fileChooser; private String fileName; public Notepad() { // 初始化文件选择器 fileChooser = new JFileChooser(); fileName = null; // 添加“另存为”选项到菜单栏中 // ... // 处理“另存为”选项的事件 // ... } private void saveFile() { // 显示文件选择器对话框 int result = fileChooser.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { // 获取用户选择的文件名和位置 File file = fileChooser.getSelectedFile(); fileName = file.getAbsolutePath(); // 将文本内容保存到文件中 try { BufferedWriter writer = new BufferedWriter(new FileWriter(fileName)); writer.write("这里是文本内容"); writer.close(); } catch (IOException e) { JOptionPane.showMessageDialog(this, "保存文件失败!"); } } } } ``` 在上面的代码中,我们使用了一个文件选择器对话框来让用户选择保存文件的位置和名称,然后将文本内容保存到指定的文件中。需要注意的是,我们在保存文件时要进行异常处理,以防出现保存失败的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值