本帖最后由 zhaobisheng 于 2020-11-13 15:18 编辑

新人双11刚注册了帐号,来个新人贴冒一下泡

,因为我写文章比较少,如果表达的不够清晰的话,大家可以留言哈,多多谅解,源码、成品以及例子都会放在末尾。这个工具是我之前学做游戏变(W)强(G)软件时开发的,功能基本满足需求,目前工具支持以下功能:

进程信息查看

进程挂起

进程恢复

进程模块查看

进程模块卸载

DLL文件拖拉

DLL注入

根据汇编代码生成OPCode(目前只支持x86)

直接注入汇编代码

processList.png (72.46 KB, 下载次数: 0)

2020-11-12 20:04 上传

image.png (29.86 KB, 下载次数: 1)

注入DLL

2020-11-12 21:08 上传

shellcode.png (37.29 KB, 下载次数: 0)

2020-11-12 20:04 上传

DLL注入大家应该都不陌生了,汇编注入下面会简单说一下用法。

首先我们有一个程序需要动态调试它的某些功能,又不想写DLL注入进去测试,这时候就可以使用到汇编注入了,我们可以直接写一段汇编实现我们想要的功能,

比如下面我会调用例子程序里面的函数:

首先,这个例子程序的代码特别简单

image.png (9.85 KB, 下载次数: 0)

例子代码

2020-11-12 20:55 上传

这个例子程序在内存中的样子是这样的:

image.png (57.72 KB, 下载次数: 0)

例子main

2020-11-12 20:56 上传

main函数里面的逻辑就是一个初始化callTips字符串,还有就两个call

第一个call就是调用输出 call print!的doPrint函数,这个函数在例子程序内存中的地址是0x00AB1000,

第二个call就是调用getchar函数,这个函数的作用是等待输入一个字符,主要用来暂停例子程序不退出

image.png (26.87 KB, 下载次数: 0)

例子doPrint

2020-11-12 20:57 上传

doPrint函数里面也有一个call,这个是调用了C语言系统库的printf函数输出"call print!"

然后我们记录一下关键地址:

1、doPrint函数地址是0x00AB1000

2、printf函数地址是0x00AB10A0

3、"call print!"地址是0xAB20F0

4、"other call!"地址是0x00AB2100

等下我们主要调用一次doPrint函数和printf函数输出隐藏的"other call!"字符串作为例子

默认运行例子程序是这样的

image.png (8.63 KB, 下载次数: 0)

例子默认

2020-11-12 21:00 上传

我们来写汇编注入再调用一次doPrint函数

代码大概是这样的:

[Asm] 纯文本查看 复制代码mov eax,0x00AB1000

call eax

ret

image.png (34.04 KB, 下载次数: 1)

doPrint

2020-11-12 21:02 上传

注入后执行成功了

下面我们来想办法输出隐藏的"other call!"字符串,因为在原程序中我们doPrint函数有一个输出"call print!"的地方,所以我们把这段代码拿过来,把字符串换成隐藏字符串就行了

[Asm] 纯文本查看 复制代码push ebp

mov ebp,esp

mov eax,0x00AB10A0

push 0x00AB2100

call eax

add esp,4

pop ebp

ret

image.png (40.12 KB, 下载次数: 1)

隐藏字符串

2020-11-12 21:06 上传

成功,"other call!"字符串被输出了,其实这种找call后换成我们想要的参数就是WG中经常用到的

最后,感谢大家看完这篇帖子,虽然都是很基础的东西,但是研究一下也是很有趣的!

进程注入器 例子.zip

(917.99 KB, 下载次数: 390)

2020-11-12 21:12 上传

点击文件名下载附件

下载积分: 吾爱币 -2 CB

解压密码: 52pojie

源码地址: https://github.com/zhaobisheng/BInject

缺的库文件可以从我的压缩包里面找

C语言 编写的DLL注入工具,新人开源一个自己开发的DLL注入和汇编注入器(简单的讲解)...相关推荐

  1. 自动化注入工具SQLmap入侵数据库的使用方法(注入攻击)

    sqlmap简介 sqlmap支持五种不同的注入模式: 1.基于布尔的盲注,即可以根据返回页面判断条件真假的注入. 2.基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是 ...

  2. c 的dll php调用方法,PHP调用C#开发的dll类库方法,_PHP教程

    PHP调用C#开发的dll类库方法, 有的时候,我们需要在php中利用到其他语言编写的dll类库,如C#编写的dll,方法就是利用PHP new COM方法来调用,在调用之前先要把dll库注册并把程序 ...

  3. c语言 dll注入,教大家写一个远程线程的DLL注入,其实还是蛮简单的……………………...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 然后新建一个win32 application 的工程 新建c++ source file 写入: #include #include int WINAP ...

  4. c语言dll注入,教大家写一个远程线程的DLL注入,其实还是蛮简单的……………………...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 然后新建一个win32 application 的工程 新建c++ source file 写入: #include #include int WINAP ...

  5. c语言编写天气预报程序,在Deno中构建一个命令行天气预报程序

    在本文中,我将通过安装Deno运行时,并创建一个命令行天气程序,该程序将把一个城市名称作为参数,并返回未来24小时的天气预报. 要为Deno编写代码,我强烈建议将Visual Studio Code与 ...

  6. Qt编写GIF录屏工具(开源)

    在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基本上都支持 ...

  7. C#中用ILMerge合并DLL和exe文件成一个exe文件或者DLL

    ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它既可以作为  开源使用,也可以作为NuGet包使用. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett _at_ ...

  8. DLL修复工具下载,解决DLL文件问题的方法

    在计算机应用程序中,我们经常会遇到一些错误提示,如"找不到.dll文件"或"无法加载.dll文件".这些问题通常是由于缺少或损坏的DLL文件造成的.为了解决这些 ...

  9. 2023-03-24:音视频mp3和h264混合(muxer)编码为mp4,用go语言编写。

    2023-03-24:音视频mp3和h264混合(muxer)编码为mp4,用go语言编写. 答案2023-03-24: 这是一个使用FFmpeg库将MP3和H.264混合编码为MP4的Go语言程序. ...

最新文章

  1. 关于 Python3.9,看这张 16 岁高中生做的「新特性必知图」就够了
  2. 解决SpringMvc后台接收json数据中文乱码问题
  3. 单一职责原则(SRP)
  4. 解决Debian安装后中文乱码
  5. java安全编码指南之:序列化Serialization
  6. 为什么手机游戏手柄没有流行起来?
  7. JDK 14 – JEP 361从预览中切换表达式
  8. 日志服务Dashboard加速
  9. Linux查看系统cpu个数、核心书、线程数
  10. Activiti工作流之事件监听详解-ActivitiEventListener
  11. python3.5.2安装pygame_#Python3.6.2(32位) pip安装 和 pygame 环境配置
  12. ALTER TABLE----MySQL语法
  13. 【翻转整数考虑溢出】LeetCode 7. Reverse Integer
  14. Kotlin 1.3带来稳定的协程、合约及其他
  15. 2020年中级数据库系统工程师考试时间表与考试大纲
  16. TrueCrypt加密:TrueCrypt Mount卸载加密卷(3)
  17. 怎么把mxf转换成mp4?
  18. 一文搞懂步进电机特性、原理及驱动器设计
  19. with/as 用法
  20. python将多张图片合并成一张

热门文章

  1. Notepad++ 插件安装集合
  2. 写一份前端维护实习报告
  3. 三、Intouch 和 PLC进行modbus RTU通讯
  4. PCIE结构拓扑(RC、EP、SWITCH)介绍
  5. 聊聊这次试用期“被”离职和感悟(大前端组)
  6. 关于Win7系统“U盘拒绝访问”解决问题
  7. 风控建模二:建模方案拟定
  8. html页面字段回显
  9. Fedora20将网卡名字改回eth0
  10. 2万字高频MySQL面试题总结(含答案),金九银十成为offer收割机!【建议收藏】