首页
社区
课程
招聘
逆向初步,给XP记事本增加显/隐工具栏,从文件载入工具图片
发表于: 2006-3-30 19:26 23798

逆向初步,给XP记事本增加显/隐工具栏,从文件载入工具图片

2006-3-30 19:26
23798
收藏
免费 7
支持
分享
最新回复 (50)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好文....支持
2006-3-30 19:45
0
雪    币: 329
活跃值: (343)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
3
不错的文章。支持一下
2006-3-30 19:53
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
4
记事本被你玩的
2006-3-30 19:54
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
强啊!字的颜色能不同吗?
2006-3-30 19:55
0
雪    币: 211
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
实在是太强了 偶实在是佩服
2006-3-30 20:16
0
雪    币: 10734
活跃值: (2449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
BT强啊  不过andy00能不能通过其他一些实例来讲解下
PF之致
2006-3-30 20:53
0
雪    币: 250
活跃值: (103)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
支持!!
2006-3-30 20:55
0
雪    币: 707
活跃值: (1301)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
9
爽//精华//学习啊//近连几日学习楼主的文章来/
再一次更新楼主修改版/小Q再一次以17521方法加入TOP与窗口透明功能
上一次是以http://bbs.pediy.com/showthread.php?threadid=22877
加上TOP/保留
这次是加17521写的DLL功能插件(窗口透明),在完全不知到17521的方法下加入/
过程序引用peansen的:记事本功能增加方案
http://bbs.pediy.com/showthread.php?threadid=17376
取精华处:
导出这个函数,注意这个函数是_cdecl的。原因后面我会讲述。
中断RegisterClassExW函数,很容易到这里
01004521   |.  8945 FC           mov dword ptr ss:[ebp-4],eax
01004524   |.  8D45 D0           lea eax,dword ptr ss:[ebp-30]
01004527   |.  50                push eax                                        ; /pWndClassEx,下面的mov是对其进行赋值
01004528   |.  C745 F4 01000000  mov dword ptr ss:[ebp-C],1                      ; |
0100452F   |.  8975 E4           mov dword ptr ss:[ebp-1C],esi                   ; |
01004532   |.  C745 F8 20900001  mov dword ptr ss:[ebp-8],NOTEPAD.01009020       ; |UNICODE "Notepad"
01004539       C745 D8 29340001  mov dword ptr ss:[ebp-28],NOTEPAD.01003429//这是消息处理过程的赋值
01004540   |.  C745 F0 06000000  mov dword ptr ss:[ebp-10],6                     ; |
01004547   |.  897D D4           mov dword ptr ss:[ebp-2C],edi                   ; |
0100454A   |.  897D DC           mov dword ptr ss:[ebp-24],edi                   ; |
0100454D   |.  897D E0           mov dword ptr ss:[ebp-20],edi                   ; |
01004550   |.  FF15 D0110001     call dword ptr ds:[<&USER32.RegisterClassExW>]  ; \RegisterClassExW

我想这个结构在windows编程中是很重要的一部分,那个WndClassEx结构看看msdn就更清楚了。
接着我们看看消息处理过程部分
01003421   \.  C2 0800           retn 8
01003424       CC                int3-------------------将从这里开始消息处理,只是一个简单的call
01003425       CC                int3
01003426       CC                int3
01003427       CC                int3
01003428       CC                int3
01003429       8BFF              mov edi,edi-------------消息处理过程是从这里开始的
0100342B   /.  55                push ebp
0100342C   |.  8BEC              mov ebp,esp
0100342E   |.  51                push ecx
0100342F   |.  51                push ecx
01003430   |.  56                push esi
01003431   |.  8B75 0C           mov esi,dword ptr ss:[ebp+C]
01003434   |.  83FE 1C           cmp esi,1C                                      ;  Switch (cases 2..8001)

利用5个int3和mov edi,edi共7个字节,改写一个call指令
----------------------------------------------关于mov edi,edi--抄的
MOV EDI,EDI is indeed a 2-byte no-op that is there to enable hot-patching.   It enables the application of a hot-fix to a function without a need for a reboot, or even a restart of a running application.   Instead, at runtime, the 2-byte NOP is replaced by a short jump to a long jump instruction that jumps to the hot-fix function.   A 2-byte instruction is required so that when patching the instruction pointer will not point in a middle of an instruction.
------------------------------------------------------------------------
call dword ptr [1013018](共六个,后面不一个nop)
然后修改01004539处的赋值mov dword ptr ss:[ebp-28],NOTEPAD.01003429(改成01003424)

用LordPE查看17521的plug.dll
发现只导入一个Plug含数
现在在要改的版本加入/调用接口:00024032(以你的机子而定)
以peansen的:记事本功能增加方案即可
  现在这个记事本真正的好用多了/现在正与楼主谈给记事本加个自动隐藏功能呢/
上传的附件:
2006-3-30 22:03
0
雪    币: 781
活跃值: (536)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
强啊!
2006-3-30 22:14
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
11
^_^,快变成NoteXpad了,要是再加上代码高亮。
2006-3-31 07:48
0
雪    币: 690
活跃值: (1841)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
12
学习
2006-3-31 08:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
强人,学习
2006-3-31 09:12
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
14
佩服~
2006-3-31 09:27
0
雪    币: 228
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
好文章。加上代码着色和导出网页的功能将是不错的工具。
2006-3-31 10:47
0
雪    币: 260
活跃值: (274)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
16
"代码着色"的功能,用普通EDITBOX实现不了的.
2006-3-31 12:14
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
17
加个显示行号功能吧。上次汉化新世纪有人说这是不可能的,其实应该没那么难,原来的方案我都想好了,本来想弄好了回应他一下,可是我这人太懒,一直没干。
2006-3-31 12:27
0
雪    币: 260
活跃值: (274)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
18
显示行号功能是可以实现的.有时间来做做.
我有个想法,把记事做改成可以"远程记事"的.
2006-3-31 12:32
0
雪    币: 260
活跃值: (274)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
19
或者用记事本实现聊天功能
2006-3-31 12:32
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
20
感觉没必要把记事本搞得过于复杂,每个软件都有它自己的定位,修改的太多就变味了。
2006-3-31 12:40
0
雪    币: 260
活跃值: (274)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
21
也不是要弄个什么东西出来,反正也是"玩"
2006-3-31 12:42
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
支持 andy00!
2006-3-31 12:55
0
雪    币: 440
活跃值: (832)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
23
玩得好转!
2006-3-31 13:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
利害。慢慢学习中~
2006-3-31 13:40
0
雪    币: 250
活跃值: (103)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
25
好玩!
2006-3-31 14:18
0
游客
登录 | 注册 方可回帖
返回
//