修改Write.exe实现运行框中输入中文打开相应程序

来源:互联网 发布:java字符串数组定义 编辑:程序博客网 时间:2024/06/07 20:39
解密系列-调试篇——学习笔记01
【简要分析】
windows\system32目录下write.exe的作用为运行“写字板”程序,是否可以修改使其调用我们自己想要运行的程序呢?
【write.exe的提取】
32位的write.exe位于windows目录-system32目录下,拷贝出一份即可
【制定目标】
通过修改Write.exe,实现运行框输入中文直接打开相应程序
【简要验证目标】
将我们提取的Write.exe,复制一份并重命名为"写字板.exe",扔回windows\system32目录
Win+R弹出运行对话框,输入“写字板”,回车
然后就直接打开了写字板嘿嘿,是不是感觉hei爽啊~
【OD分析】
首先打开我们滴FishC-OD(ICE直接报错退出,可能是write自带反调试吧)
F3快捷键打开
由程序的功能可揣测此程序里必然有调用API/dll来打开其他程序的代码
所以直接上查找大法
按下Ctrl+N(当前模块中的标签)

此时一个可疑的标签(其实是其中的一个单词引起了LZ's 注意)


大大的Execute告诉我们这个标签所对应的代码的作用就是调用外部程序
所以果断在实例上放下断点


成功下断


看来标签对应的代码是存在的
现在就到了修改时间了
F9运行到断点处
向上翻一翻
发现如下信息(不得不感叹OD真强大)

wordpad不就是写字板主程序的名称嘛
将光标在wordpad哪行上面点击一下

看下信息栏


哈哈,地址被逮到了吧
在hex栏中按下Ctrl+G(甲鱼老师敲桌子了)
输入看到的地址(LZ的是100108c,不同系统可能不同)
定位到wordpad字符串的位置

点击到wordpad.exe的w对应的hex上,空格进入编辑模式


选空“保持大小”复选框(甲鱼老师又敲桌子)
现在就可以随便改了,以画图程序为例
PS:以LZ功力暂时只能折腾到程序可以调用system32目录下的可执行程序,其他目录均会失败(wordpad所在的目录除外)
修改为mspaint.exe
注意此时需要在hex栏中添加一个null(0x00)作为结束符(甲鱼老师继续敲桌子)
确定
F9运行下
正常的电脑会发现打开了画图程序(鸡冻吧~)
好了现在将镜像保存一份即可,具体见动图

此时将“画图.exe"剪切到system32目录里,运行中输入画图就可以直接打开了~
大家快动手试试吧~
原创粉丝点击