伤害 = 到整数 (伤害内容)# @9 P6 Q% a8 \& H' : l
置代码 ({ })
' ^0 u% F4 I5 G" Ppushad ()
6 A0 [6 k T5 u% B6 h; u$ T7 Imov_esi_ptr (十六进制到十进制 (基址))
[0 R- 8 q X3 qpush_常数 (0)
& T, c E c+ Mpush_常数 (0)
; z) ~2 F6 n2 m- l% lmov_ecx_esi ()# _8 W" m3 e$ }0 [
mov_edx_ptr_ecx加字节 (0)
: R; u- v% v/ x5 A( q9 C7 y5 S- a7 Pmov_eax_edx ()
/ u! ( Q; b) H# t h9 Eadd_eax_常数 (十六进制到十进制 (常数))
4 H0 B- R8 Y/ } Tmov_ebx_ptr_eax加字节 (0)! `$ x+ `1 k9 B) T
mov_eax_ptr (十六进制到十进制 (eax))
1 i Y" ^! s/ a( B; a, x: t# ~/ Bmov_ecx_ptr (十六进制到十进制 (ecx)
& f; ^; w$ [2 y+ [7 y# k1 r8 qpush_eax ()" y F: I9 _5 M5 Z" s n5 l
push_ecx ()4 J/ Y0 ^% |: H6 p,
push_常数 (0)
' z$ n7 x( , kpush_常数 (4)
6 f3 B# b# l( S7 G5 \push_常数 (0) ' 高低距离# ~& ; ^( k; b p0 M7 g W
push_常数 (0) ' 上下距离; 9 S0 i% 1 P6 E6 j/ k5 D! L
push_常数 (4) ' 前后距离8 V& f8 ( V- n9 U: o p( O6 Y2 O
push_常数 (0) Z! r; d: x3 U% S+ W7 I
push_常数 (0)5 ^5 W: Y Z3 T
push_常数 (伤害)
) G7 d$ k+ |: j, C) rpush_常数 (860581)
& X) d a$ X% c$ T5 nmov_ecx_esi ()
7 i1 z7 V9 A8 q6 f q- @call_ebx ()
9 r, C$ v, o: x9 B3 Epopad ()
! s; E% e/ Z/ J: o' Fret ()
; f& W- v m3 I9 b o9 R: l代码 = _取代码 ()
3 ~ Q; M$ w) S' a& j9 p0 e运行汇编代码 (代码)
模块句柄 = GetModuleHandle (”testdll”)
VirtualProtectEx (模块句柄+4096, 7356416, 8, 64, 0)
前面的这样写 至于后面的
if(p++)
{
patch(0x406B53,”\x90\x8B\x09″);
}
if(p++)
{
patch(0x2A0930,”\xD2″);
}
估计是写错了 还是你复制的时候没有复制完全。
patch应该是一个写内存的过程
两个dll代码也给你
版本 2
DLL命令 VirtualProtectEx, 整数型, , "VirtualProtectEx", 公开
参数 a, 整数型
参数 bc, 整数型
参数 c, 整数型
参数 d, 整数型
参数 e, 整数型
DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA"
参数 lpModuleName, 文本型, ,
你要先获取模块DLL的句柄
你可以百度下载一个 取模块句柄的易语言模块 后缀是EC的
然后再易语言左边的程序栏里面————模块引用表右键导入添加模块引用,把你刚刚下载的模块导入进去
然后写一个格式类似这样的
进程句柄 = 取模块句柄 (“GGWAR3dll”)
基址 = 内存_读整数型 (进程ID, 进程句柄 + 十六到十 (“1C1160”))
模块地址我已经打包好了panlanzoucom/i0unjvi 复制后浏览器打开就行
以上就是关于如何将易语言制作的程序的DLL文件(核心文件)提取出来全部的内容,包括:如何将易语言制作的程序的DLL文件(核心文件)提取出来、求助: 易语言可以像C语言那样 得到外部DLL 文件的句柄吗、易语言 游戏基址=模块dll+偏移量 应该怎么才能读取出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)