找回密码
 立即注册
相关推荐换一批
  1. YZ/T 0028-2001 邮政业务分类与代码集
  2. YZ/T 0015-2006 G际邮件处理中心代码
  3. YZ/T 0028-2005 邮政业务分类与代码集
  4. GB/T 2311-1990 信息处理 七位和八位编码字符集 代码扩充技术
  5. GB 8561-1988 专业技术职务代码
  6. QJ 1193.28-1987 人事系统数据 学术组织职务代码
  7. CB 969-1981 注入头接头
  8. GB/T 8563.3-2005 奖励、纪律处分信息分类与代码 第3部分:纪律处分代码
  9. GB/T 4880.1-2005 语种名称代码第1部分:2字母代码
  10. GA 439-2003 治安管理特种行业分类代码
  11. GA 240.40-2003 刑事F罪信息管理代码 第40部分:鞋印分类和代码
  12. GA 16.8-2003 道路交通事故信息代码 第8部分:出行目的代码
  13. GA 16.5-2003 道路交通事故信息代码 第5部分:当事人责任类型代码
  14. GA 16.2-2003 道路交通事故信息代码 第2部分:事故形态代码
  15. GA 16.1-2003 道路交通事故信息代码 第1部分:道路交通事故等级代码
  16. GA 16.11-2003 道路交通事故信息代码 第11部分:当事机动车保x情况代码
  17. GA 16.10-2003 道路交通事故信息代码 第10部分:驾驶机动车人员类型代码
  18. GB/T 16987-1997 全G组织机构代码信息数据库(基本库)机读格式规范
  19. GB 4734-1984 日用陶瓷铝硅酸盐化学分析方法
  20. LD/T 75-1995 劳动防护用品分类与代码
  21. GB/T 2260-1999 中华人民共和国行政区划代码
  22. GB/T 6864-1986 中华xxxx国学位代码
  23. GB/T 4657-1995 中央党政机关、人民团体及其他机构名称代码
  24. GB/T 4767-1984 健康状况代码
FASMthe代码注入 | C#编程 2021-06-11 626 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
FasmManaged ( managed C++ wrapper for the library version of Flat Assembler)这是 FASM 的作者在此线程中发布的 Flat Assembler 库版本的托管 C++ 包装器。包括完整的 C++ 源代码和 C# 使用示例。在 C++ 源文件 fasmdll_managed.cpp 中,还可以找到如何从非托管代码调用 FASM.OBJ(包含在源代码下载中)的示例。
它有什么作用?
基本上,它允许 C# 和 VB.NET 程序员比普通方法更容易地组装和注入代码到另一个进程中。

你能给我一个逐步使用的例子吗?

1. 使用类构造函数或 fasm.SetProcessHandle(IntPtr) 将进程句柄设置为将注入代码的进程的句柄。
2. 使用 fasm.AddLine(string) 添加到要汇编的助记符列表中。 FASM 使用 Intel 语法。您可以在此处找到 FASM 程序员手册。
3. A.调用 fasm.Assemble() ,它将以字节数组的形式返回字节码。
湾调用 fasm.Inject()、fasm.InjectAndExecute() 或 fasm.InjectAndExecuteEx() 将您的代码注入到进程中。每一个都至少有一个参数:代码将被注入的地址;可选地,您可以指定要注入代码的进程的句柄,在后两者的情况下,指定在注入时传递给代码的参数。


(This is a managed C++ wrapper for the library version of Flat Assembler released by FASM's author in this thread. Included is the full C++ source code and a C# example of use. In the C++ source file fasmdll_managed.cpp, one can also find an example of how to invoke FASM.OBJ (included in source download) from unmanaged code.

What does it do?
Basically, it allows C# and VB.NET programmers to assemble and inject code into another process with far greater ease than normal methods.

Can you give me a step-by-step example of use?

1. Use either the class constructor or fasm.SetProcessHandle(IntPtr) to set the process handle to that of the process into which code will be injected.
2. Use fasm.AddLine(string) to add to the list of mnemonics to be assembled. FASM uses Intel syntax. You can find the FASM Programmer's Manual here.
3. a. Call fasm.Assemble() which will return the bytecode in the form of a byte-array.
b. Call fasm.Inject(), fasm.InjectAndExecute(), or fasm.InjectAndExecuteEx() to inject your code into the process. Each of these takes at least one parameter: the address at which code will be injected; optionally, you can specify a handle to the process into which code will be injected and, in the case of the latter two, a parameter to be passed to the code upon injection.)

1623379831817.rar


上一篇:BlackMagic -- Managed Memory Manipulation
下一篇:WhiteMagic - Injected .NET Helper Library