首页
社区
课程
招聘
[原创]OllyDBG 入门系列(七)-汇编功能
发表于: 2006-4-9 16:42 447990

[原创]OllyDBG 入门系列(七)-汇编功能

2006-4-9 16:42
447990
收藏
免费 8
支持
分享
最新回复 (510)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
101
好东西,我得好好吸收!谢了~
2006-4-21 14:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
102
谢谢斑竹写出这么好的文章,支持+学习!
2006-4-22 01:41
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
znl
103
顶顶,学习...
2006-4-22 14:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
104
?????按照楼主的#2号改法,我的怎么变成了英文版的了!
怪怪,请高手指点.
除了是英文外,一切正常.
可惜我权限不够,不然可以上传图片.

还有一个问题不懂,当我把字体LOGFONT 的 16 进制值

F4FFFFFF000000000000000000000000900100000000008600000000CBCECCE5
写入文件后,再用"PEiD 把搜索到的空间都给我们列出来了",怎么还是跟没改前一样???-----"00009815"
2006-4-22 20:49
0
雪    币: 2506
活跃值: (1000)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
105
那个语言文件 myuninst_lng.ini 是对应文件名的。假如你修改后保存为1.exe,你就要把那个中文语言文件复制一份改成 1_lng.ini 给1.exe用,否则它找不到语言文件就显示为默认的英文。
2006-4-22 21:05
1
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
106
谢谢楼主,你在线呀! [QUOTE]

还有一个问题:
------------------------------------------------------------------
第一个要改的地方:

  00408F5E  |.  FF15 98B24000 |CALL DWORD PTR DS:[<&USER32.CreateWindowExA>]  ; \CreateWindowExA
  00408F64      6A 00         PUSH 0                                          ;  修改前
  00408F66      8945 F4       MOV DWORD PTR SS:[EBP-C],EAX
  00408F69  |.  E8 A098FFFF   |CALL <myuninst.sub_40280E>

修改后:

  00408F5E  |.  FF15 98B24000 |CALL DWORD PTR DS:[<&USER32.CreateWindowExA>]  ; \CreateWindowExA
  00408F64      E9 D5140000   JMP myuninst.0040A43E                           ;  跳转到我们的补丁代码处
  00408F69  |.  E8 A098FFFF   |CALL <myuninst.sub_40280E>
----------------------------------------------------------------------

请问一下当前面有语句要跳到00408F66,那要怎么改呀?
比如:前面如果有一句  00405678  JMP myuninst.00408F66
2006-4-22 21:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
107
谢谢,要好好学习
2006-4-23 13:02
0
雪    币: 2506
活跃值: (1000)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
108
最初由 marcherfcb 发布
还有一个问题:
------------------------------------------------------------------
第一个要改的地方:
........
请问一下当前面有语句要跳到00408F66,那要怎么改呀?
比如:前面如果有一句 00405678 JMP myuninst.00408F66
........

根据情况,如果对你补丁后的效果没有影响的话,不用管它。只要你的补丁代码能正确执行就行。
2006-4-23 14:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
109
拜读,高手的第7篇
2006-4-24 13:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
110
现在我们用 WinHEX 打开我们要修改的程序,转到偏移 9815 处,从 9815 处选择 32 字节(16进制是0X20)的一个选块,把光标定位到 9815 处,右键选择菜单 剪贴板数据->写入(从当前位置覆写),随后的格式选择 ASCII Hex,把我们 LOGFONT 的 16 进制值

F4FFFFFF000000000000000000000000900100000000008600000000CBCECCE5

这里写的数据,后面没有使用,请楼主或其它朋友指点一下
2006-4-24 16:33
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
111
写的太好了,强烈支持!
2006-4-25 07:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
112
提个问题,文中有这么一段
--------------------------------------------------------------------------------
"现在我们用 WinHEX 打开我们要修改的程序,转到偏移 9815 处,从 9815 处选择 32 字节(16进制是0X20)的一个选块,把光标定位到 9815 处,右键选择菜单 剪贴板数据->写入(从当前位置覆写),随后的格式选择 ASCII Hex,把我们 LOGFONT 的 16 进制值

F4FFFFFF000000000000000000000000900100000000008600000000CBCECCE5"

这里写的数据,后面程序中好像没有使用过,请楼主或其它朋友指点一下,程序在哪一段使用了这些数据
2006-4-25 11:13
0
雪    币: 2506
活跃值: (1000)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
113
最初由 小仙 发布
提个问题,文中有这么一段
--------------------------------------------------------------------------------
"现在我们用 WinHEX 打开我们要修改的程序,转到偏移 9815 处,从 9815 处选择 32 字节(16进制是0X20)的一个选块,把光标定位到 9815 处,右键选择菜单 剪贴板数据->写入(从当前位置覆写),随后的格式选择 ASCII Hex,把我们 LOGFONT 的 16 进制值

F4FFFFFF000000000000000000000000900100000000008600000000CBCECCE5"
........


0040A444      68 15A44000      PUSH myuninst.0040A415                            ;  传递字体句柄LOGFONT
2006-4-25 12:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
114
明白了,多谢,老大真是篇篇精典啊!
2006-4-25 15:03
0
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
115
精彩啊,支持
2006-4-25 15:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
116
还有一个问题不懂,当我把字体LOGFONT 的 16 进制值

F4FFFFFF000000000000000000000000900100000000008600000000CBCECCE5
写入文件后,再用"PEiD 把搜索到的空间都给我们列出来了",怎么还是跟没改前一样???-----"00009815"(启始0地址)
2006-4-25 21:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
117
新手呀。
看好几遍还是有不懂的地方。主要是CCDebuger净用些术语(当然是不是专业术语我不知道,但都是些老鸟用惯了的。)。
2006-4-30 23:28
0
雪    币: 109
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
118
好文章啊!!!!
2006-5-1 11:04
0
雪    币: 436
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
119
?於我?呃些菜??在只有一??的支持於佩服外?有什?好真的了!!
不咿呃肺?西是?得越多自己就越明白其中的道理的!
看?在呃?道上的路?我?菜??真?很樘!
2006-5-1 13:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lis
120
很好很好。。。谢谢
2006-5-1 18:01
0
雪    币: 207
活跃值: (84)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
121
请教:
我在写补丁代码的时候
0040A444      68 15A44000      PUSH myuninst.0040A415                            ;  传递字体句柄LOGFONT
双击开始汇编的时候不能改
上面显示说"需要标签"
不知道大家遇到过没有?
2006-5-1 22:35
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
122
看来我赶上好时候了,这篇高深,慢慢理解。
2006-5-3 01:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
123
谢过搂主!继续学习中……
2006-5-3 06:57
0
雪    币: 332
活跃值: (30)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
124
还是不是人脑啊
2006-5-3 10:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
125
我的没有在
00409DDB  |.  FF7424 08     PUSH DWORD PTR SS:[ESP+8]                         ; /pLogfont
00409DDF  |.  FF15 44B04000 CALL DWORD PTR DS:[<&GDI32.CreateFontIndirectA>]  ; \CreateFontIndirectA

这个位置断下
原来,打包成chm的兄弟,弄错了CCDebugger兄的大作

我们今天的目标就是利用 OllyDBG 的汇编功能把上面显示的字体改成我们常见的9号(小五)宋体。首先我们用 OllyDBG 载入程序,按 CTR+N 组合键查找一下有哪些 API 函数,只发现一个和设置字体相关的 CreateFontIndirectA。现在我们在命令行中设个断点:bp CreateFontIndirectA,F9运行,断下后我们按ALT+F9返回会来到这个地方:  //////////////////!!!!!!!!没有这一段吧??

  00409DDB  |.  FF7424 08     PUSH DWORD PTR SS:[ESP+8]                         ; /pLogfont
  00409DDF  |.  FF15 44B04000 CALL DWORD PTR DS:[<&GDI32.CreateFontIndirectA>]  ; \CreateFontIndirectA

2006-5-3 15:52
0
游客
登录 | 注册 方可回帖
返回
//