- [e56004474] 7.以上做完,用LordPE修改好入口点,其次“目录表”中的“输入表”地址修正好。以上做好,基本就没 11/23 10:06
- [e56004474] 6.ImportREC修复输入表时,如果其中一条函数无法正常识别,fix Dump出来的文件,需要 11/23 10:02
- [e56004474] 5.浏览时图片显示了一小部分,请点击下图片,会全部正常显示。 11/23 09:57
- [游客] 我的理解是书上印错了 07/08 15:56
- [e56004474] STDCALL调用 方式,把要导出的过程名修改为以下格式: _name@nn 06/10 14:48
- [e56004474] option casemap:none 指明大小写 是否敏感. (《啄石成玉》第3章才有说明) 03/23 17:34
- [e56004474] 编译链接指令如下 ML.EXE /C /COFF /I C:\Masm615\INCLUDE 1 03/17 19:47
- [starrynight] 加油! 10/09 17:31
- [fpamc] 串个门儿~ 08/15 06:52
- [chinatree] 没看懂你最后一句再说什么。 07/23 00:07
[2019-11-23 09:56] 13.4 重建输入表
示例Red_IT.exe(书中的示例程序)
1.手动重输入表时,注意 [2100] 函数名 可以按一节(16字节)一条 函数名 排列。(并非完全要紧凑排列函数名)
2.注意[2000]为 IAT,应该手动修正为 OD加载AIP中的实际模块地址,书中并没有提到要修正IAT。(书中的图片有显示修正过的数据,但并没有重点提到,估计被略过了)
3.dump脱壳文件时,切记 下的断点 不在要 代码 入口处 或者 入口处以内,因为 下断点是 改动代码字节为“CC”,你修复好 输入表后 还是不能正常运行,就即可能 是 把断点 下在了 代码入口点,比如示例Red_IT.exe的入口点是“1000”此处...
1.手动重输入表时,注意 [2100] 函数名 可以按一节(16字节)一条 函数名 排列。(并非完全要紧凑排列函数名)
2.注意[2000]为 IAT,应该手动修正为 OD加载AIP中的实际模块地址,书中并没有提到要修正IAT。(书中的图片有显示修正过的数据,但并没有重点提到,估计被略过了)
3.dump脱壳文件时,切记 下的断点 不在要 代码 入口处 或者 入口处以内,因为 下断点是 改动代码字节为“CC”,你修复好 输入表后 还是不能正常运行,就即可能 是 把断点 下在了 代码入口点,比如示例Red_IT.exe的入口点是“1000”此处...
阅读全文 |
评论次数(3) |
浏览次数(735) |
所属类型(加密与解密(第三版本))
[2019-06-25 21:46] ch5-Menu 莫名其妙的问题
在Menu.rc中,对
popup "查看(&V)" 与 popup "帮助(&H)" 分别尝试加上 选项参数(INACTIVE、GRAYED),比如:
‘popup "查看(&V)",HELP,INACTIVE ’;
并且用nmake编译,然后 复原 ‘popup "查看(&V)"’ ;
修改asm文件,‘invoke GetSubMenu,hMenu,0’,意思是把鼠标右键弹出的菜单由“查看(&V)”改为 "文件(&F)",之后编译链接后 再复原 至“查看(&V)”,于是奇怪的情况出现,点菜单栏里的“查看”,选“工具栏”的 子菜单,打勾 标记不会出现,而在 右键 中的 选“工...
popup "查看(&V)" 与 popup "帮助(&H)" 分别尝试加上 选项参数(INACTIVE、GRAYED),比如:
‘popup "查看(&V)",HELP,INACTIVE ’;
并且用nmake编译,然后 复原 ‘popup "查看(&V)"’ ;
修改asm文件,‘invoke GetSubMenu,hMenu,0’,意思是把鼠标右键弹出的菜单由“查看(&V)”改为 "文件(&F)",之后编译链接后 再复原 至“查看(&V)”,于是奇怪的情况出现,点菜单栏里的“查看”,选“工具栏”的 子菜单,打勾 标记不会出现,而在 右键 中的 选“工...
阅读全文 |
评论次数(0) |
浏览次数(508) |
所属类型(琢石成器)
[2019-06-25 20:55] AppendMenu中的(uFlags) 参数为数字 ' 0 ' 。
BOOL AppendMenu(hMenu hMenu,UINT uFlags,UINT uIDNewltem,LPCTSTR lpNewltem)
例如:
invoke GetMenuState,hMenu,ebx,MF_BYCOMMAND
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
然而书中的Meun.asm例子中:
;***************************...
例如:
invoke GetMenuState,hMenu,ebx,MF_BYCOMMAND
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
然而书中的Meun.asm例子中:
;***************************...
阅读全文 |
评论次数(0) |
浏览次数(501) |
所属类型(琢石成器)
[2019-06-25 18:44] 加载菜单资源的二种方法:
方法一:(注册窗口类)
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszMenuName,IDM_MAIN ;注意这里加载!!
mov @stWndClass.lpszClassName,offset...
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszMenuName,IDM_MAIN ;注意这里加载!!
mov @stWndClass.lpszClassName,offset...
阅读全文 |
评论次数(0) |
浏览次数(478) |
所属类型(琢石成器)
[2019-06-23 18:38] 10.3条件汇编伪指令(特殊操作符)
& : 替换操作符
<>: 文本操作符
!: 特殊字符操作符
% : 展开操作符...
<>: 文本操作符
!: 特殊字符操作符
% : 展开操作符...
阅读全文 |
评论次数(0) |
浏览次数(494) |
所属类型(Intel 汇编语言程序设计)
[2019-06-22 15:57] ch04 - FirstWindow.asm 一些测试。
// _WinMain proc :
【1】:————————————————————————
invoke GetModuleHandle,NULL
mov hInstance,eax
改为 “mov hInstance,400000H”,程序正常运行。
————————————————————————————
【2】:
;**************
; 注册窗口类
;**************
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
改为 “mov @stWndClass.hbrBackgrou...
【1】:————————————————————————
invoke GetModuleHandle,NULL
mov hInstance,eax
改为 “mov hInstance,400000H”,程序正常运行。
————————————————————————————
【2】:
;**************
; 注册窗口类
;**************
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
改为 “mov @stWndClass.hbrBackgrou...
阅读全文 |
评论次数(0) |
浏览次数(472) |
所属类型(琢石成器)
[2019-06-14 21:38] 示例Menu.asm一些疑问
*******************************************************************
; 处理菜单及加速键消息
;********************************************************************
.elseif eax == WM_COMMAND
invoke _DisplayMenuItem,wParam
mov eax,wParam
movzx eax,ax
.if eax == IDM_EXIT
call _Quit
.el...
; 处理菜单及加速键消息
;********************************************************************
.elseif eax == WM_COMMAND
invoke _DisplayMenuItem,wParam
mov eax,wParam
movzx eax,ax
.if eax == IDM_EXIT
call _Quit
.el...
阅读全文 |
评论次数(0) |
浏览次数(560) |
所属类型(琢石成器)
[2019-06-14 21:26] GetMenuState中uld参数等含义
GetMenuState是一个计算机函数,用于取得菜单标志,主要参数有hMenu、uld、MF_BYCOMMAND、返回值等。
hMenu:含有其菜单项的标志将被提取得的菜单的句柄。
uld:其某单标志将被取得的菜单项,此参数含义由参数uFlags决定。
UFlags:用于指定参数uld的含义的值。此参数可取下列值之一:
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
;示例:Menu.a...
hMenu:含有其菜单项的标志将被提取得的菜单的句柄。
uld:其某单标志将被取得的菜单项,此参数含义由参数uFlags决定。
UFlags:用于指定参数uld的含义的值。此参数可取下列值之一:
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
;示例:Menu.a...
阅读全文 |
评论次数(0) |
浏览次数(509) |
所属类型(琢石成器)
[2019-06-14 20:37] 函数原型:HMENU GetSubMenu(HMENU hMenu,int nPos)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.win32asm.com.cn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Menu.asm
; 菜单资源的使用例子
;疑问如下:
_ProcWinMain proc uses ebx e...
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.win32asm.com.cn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Menu.asm
; 菜单资源的使用例子
;疑问如下:
_ProcWinMain proc uses ebx e...
阅读全文 |
评论次数(0) |
浏览次数(495) |
所属类型(琢石成器)
[2019-06-13 08:19] makefile文件
EXE = FirstWindow.exe #指定输出文件 (把AddSub.exe 改为你需要编译的文件名)
OBJS = FirstWindow.obj #需要的目标文件 (把AddSub.OBJ 改为你需要编译的文件名)
#需要的资源文件
LINK_FLAG = /subsystem:windows /DEBUG /MAP #连接选项
#注意是 subsystem:console
ML_FLAG =...
OBJS = FirstWindow.obj #需要的目标文件 (把AddSub.OBJ 改为你需要编译的文件名)
#需要的资源文件
LINK_FLAG = /subsystem:windows /DEBUG /MAP #连接选项
#注意是 subsystem:console
ML_FLAG =...
阅读全文 |
评论次数(0) |
浏览次数(505) |
所属类型(琢石成器)
『 查看更多文章 』