[熟悉PE结构的达人帮忙]关于Import symbols

iNothing 2003-06-20 12:00:16
首先,我在swd3e.exe中修改
1、PE.Optional Header.Import Table Address == 0x000AD730 -->0x000AEA00
...................................Size == 0x00F0 --> 0x0104 (增加了一个IMAGE_IMPORT_DESCRIPTOR结构)
2、填充的如下:
IMAGE_IMPORT_DESCRIPTOR STRUCT
union
Characteristics dd ?
OriginalFirstThunk dd ? 0x0AEB10
ends
TimeDateStamp dd ? 0x00
ForwarderChain dd ? 0x00
Name1 dd ? 0x0AEB20
FirstThunk dd ? 0x0AEB18
IMAGE_IMPORT_DESCRIPTOR ENDS

0aeb10: 30 EB 0A 00 00 00 00 00 30 EB 0A 00 00 00 00 00
0aeb20: 53 57 44 33 45 48 6F 6F 6B 2E 64 6C 6C 00 00 00 SWD3EHook.dll
0aeb30: 01 00 4B 65 79 62 6F 61 72 64 50 72 6F 63 00 00 KeyboardProc

然后,我的SWD3EHook.dll 就会被调用
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBox(NULL,"在游戏过程中,按以下键: \n\nF5: 所有角色恢复生命、灵力、体力\n\n","^_^ 提示 by iNothing",MB_ICONINFORMATION);
break;
// ....
}
return TRUE;
}


各位大虾,现在问题来了:
在9x/ME下工作正常,但在XP下说
“应用程序正常初始化(0xC0000005)失败。请单击‘确定’,终止应用程序”
Softice(for 2k的)在XP没装上,没法跟踪,请各位达人一定救我啊~~

...全文
53 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjybestzjybest 2003-09-21
  • 打赏
  • 举报
回复
嘿嘿真没有看出问题来
iNothing 2003-09-21
  • 打赏
  • 举报
回复
还是没搞定,而且CSDN要强制结帖了,555~~~
iNothing 2003-06-22
  • 打赏
  • 举报
回复
装了SOFTICE了,我bpx了LoadModule和GetProcAddress,竟然不断下来?

faults on,也没反应,怪了,XP下怎么用SOFTICE都不知道。。。
Areslee 2003-06-20
  • 打赏
  • 举报
回复
也许是校验和的问题?
iNothing 2003-06-20
  • 打赏
  • 举报
回复
自己UP一下(江湖规矩?),我思路都没有

sxmzmxh 2003-06-20
  • 打赏
  • 举报
回复
用PEDUMP的rebuild pe重建pe头试试
iNothing 2003-06-20
  • 打赏
  • 举报
回复
没改时可以在XP下跑的,SWD3E是一个游戏,我做的只是在exe里插了一个DLL,这样exe运行时就会自动调用我的DLL

我添加了一个IMAGE_IMPORT_DESCRIPTOR结构(当然填零了),也完成了OriginalFirstThunk数组,FirstThunk数组以及对应的IMAGE_IMPORT_BY_NAME数组,用eXeScope、PEDUMP等工具分析完全正常,在98/Me下能运行也很说明问题了(我双系统,所以用的一样的exe和DLL)

现在我想知道有哪些因素可能导致这种情况?或者说XP和98有什么不同?
NTDLL?
sxmzmxh 2003-06-20
  • 打赏
  • 举报
回复
IMAGE_IMPORT_DESCRIPTOR结构后是不是填充了一个全0的IMAGE_IMPORT_DESCRIPTOR??
BugBuilder 2003-06-20
  • 打赏
  • 举报
回复
偶想不通 偶很少在XP 98都试这种东东 现在偶只用XP
先问个 你的东东没改时能在XP用么? 它不是你DUMP出来的吧?
去DOWN个SOFTICE SUITE 2.7啊
2.6在XP也能用
可能 你的地址错了 我为高考大半年没碰过这些东东了
先去查查
iNothing 2003-06-20
  • 打赏
  • 举报
回复
原来的校验和是0,用工具改成实际的校验和,还是一样

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧