精易论坛

标题: 内存运行模块开源 [打印本页]

作者: aiksie    时间: 2020-4-6 16:59
标题: 内存运行模块开源
本帖最后由 宇智波·佐助 于 2020-4-9 11:07 编辑

支持内存运行EXE、DLL,原先发过,但当时写得太过复杂,太过杂乱,并且HOOK了系统的API,并不完美,也就没有开源。
现在重新整理了一下代码,并且开源。如果有不足之处,请大家参与修改。


1.2版本更新:
内存卸载的问题。


免费下载了!
1.2版本:https://share.weiyun.com/5CyaYo3

补一个哈勃文件分析
1.2版本:https://habo.qq.com/file/showdet ... V1vB2MIMVs%2BU2s%3D
快来人测试一下!!!能不能用,反馈一下








作者: 菜就多多练    时间: 2020-4-6 17:26
支持开源~!感谢分享
作者: 小逗比    时间: 2020-4-6 18:08
感谢分享!学习学习
作者: 天雨时晴    时间: 2020-4-6 18:20
开源必须支持一下
作者: aiksie    时间: 2020-4-6 18:27
本帖最后由 aiksie 于 2020-4-7 11:36 编辑

xp皮肤.e (123.4 KB, 下载次数: 52)
内存运行调用例子




作者: z博士    时间: 2020-4-6 18:47
woc代码清晰明了而且注释详细我这个小白都能看懂一二

在内存运行方面真的值得学习的源码 dalao不申精可惜了
作者: longsui48    时间: 2020-4-6 23:05
赶紧下载学习一下
作者: happyweeks365    时间: 2020-4-7 08:41
谢谢分享!
作者: michardhl    时间: 2020-4-7 09:58
感谢大佬分享,实测内存调用dll,就算“内存卸载”,任务管理器看主程序占用的内存也会越来越大,我等小白也不知道怎么回事。
作者: 吴彦祖啊    时间: 2020-4-7 15:13
支持开源~!感谢分享
作者: 一点看客    时间: 2020-4-7 19:30
看看。。。。。。。。。。。。。。。。。。。。。。。
作者: michardhl    时间: 2020-4-8 15:48
楼主,试了下还是内存没有释放掉
作者: 阿博哥哥    时间: 2020-4-8 15:50
没办法用啊。exe我在图片的地方换成其他exe程序,点击按钮,程序就无响应了
作者: aiksie    时间: 2020-4-8 16:06
阿博哥哥 发表于 2020-4-8 15:50
没办法用啊。exe我在图片的地方换成其他exe程序,点击按钮,程序就无响应了

那是因为你编译出来的文件是没有重定位表的,我例子里有写怎么生成重定位表。
作者: a7211469    时间: 2020-4-8 18:20
内存运行方面真的值得学习
作者: 和尚的鱼    时间: 2020-4-11 10:36
        支持开源~!感谢分享
作者: jiasuo    时间: 2020-4-11 11:52
测试了一下只能运行测试的那个软件,其他的软件运行都会闪退。这是为啥
作者: x465211734    时间: 2020-4-11 13:46
感谢大佬分享
作者: sofs    时间: 2020-4-11 15:40
支持一下,不过有人在用你的代码赚论坛币
作者: 遵义静以修身    时间: 2020-4-11 18:27
感觉大佬,但是我想问一句,在内存中运行到底有啥好处?

作者: 遵义静以修身    时间: 2020-4-11 18:27
感谢大佬,但是我想问一句,在内存中运行到底有啥好处?
作者: ds9660    时间: 2020-4-12 00:14
nettoedll_new.zip (2.42 KB, 下载次数: 1)

测试,无法内存加载 dll,不知道为什么?

作者: 74596877    时间: 2020-4-12 01:00
能否吧修改tools\link.ini配置详细发一份,被屏蔽了
作者: aiksie    时间: 2020-4-12 12:59
ds9660 发表于 2020-4-12 00:14
测试,无法内存加载 dll,不知道为什么?

我看过了这个dll,编程语言:Visual Basic.NET,不是易语言编写的,VB.Net需要在.Net Framework平台上才能执行。加载这个dll,本身就需要安装.NET Framework 环境,然后这个dll的文件信息特征值是{2,33},我内存运行并没有匹配到。正常调用这个dll,发现这个dll会被加载2次,并且调用函数不是在dll本身,而是在它申请的内存,总而言之这个dll不走寻常路,内存运行失败是正常的。如果要内存运行这个dll,必须要搞清这个dll的运行流程。我建议你拿易语言编写的dll进行测试。






作者: supeng4676    时间: 2020-4-13 22:14
遵义静以修身 发表于 2020-4-11 18:27
感谢大佬,但是我想问一句,在内存中运行到底有啥好处?

这么说吧,比如你要hook绝di求生的d3d函数,现在基本上都是各种dll注入到绝di求生的进程,然后dll就是辅助的代码,这样dll的代码才能顺利访问绝地的各种内存,注入成功之后,就要用各种方法去过检测.很是麻烦.
如果把绝di求生的exe加载到咱们自己的进程空间里面来的话.那么我们不仅可以不用dll注入就可以访问内存.而且貌似这样不容易被检测到唉.楼主的帖子很好啊,我一直想做一个呢,但是重定位表修复比较麻烦.导入导出表偶尔也会出错.
看了一下楼主仍然没有办法解决重定位表的问题,而且大部分exe是不需要重定位表的.
作者: 哒00哒    时间: 2020-4-14 11:00
在服务器内存运行直接崩溃,测试用官方DEMO也是一样,请求楼主修复,服务器系统 windows server 2012 R2 Datacenter
作者: xeixei    时间: 2020-4-15 14:31
在内存中运行到底有啥好处?
作者: 易友软件    时间: 2020-4-15 16:54
顶顶更健康~
作者: 泆羽    时间: 2020-4-16 21:25
大佬问个问题,这个模块如何指定内存中exe的当前路径呢   我把我得程序内存运行,就取不到当前运行路径了
作者: aiksie    时间: 2020-4-16 22:58
泆羽 发表于 2020-4-16 21:25
大佬问个问题,这个模块如何指定内存中exe的当前路径呢   我把我得程序内存运行,就取不到当前运行路径了

你是怎么写的? 内存运行EXE? 取运行目录?
作者: szxiao    时间: 2020-4-18 14:27
谢谢楼主!非常好!
作者: aiksie    时间: 2020-4-18 15:22
supeng4676 发表于 2020-4-13 22:14
这么说吧,比如你要hook绝di求生的d3d函数,现在基本上都是各种dll注入到绝di求生的进程,然后dll就是辅助的 ...

要解决没有重定位表的EXE,就是让编译器自己生成一个重定位表。EXE 没有重定位表的,通过修改link.ini,编译器自己会生成重定位表,这是最简单、最有效的。

没有重定位表的 如果要自己根据程序,来计算需要重定位的地址,基本是不太可能的,一个CALL XXXX,一个PUSH XXXX等等都有可能被错误处理,我利用反汇编引擎 BeaEngine,将字节集转换为汇编指令,然后取出重定位地址重新修正,虽然搞定了代码段,但xx段还是有问题,因为你根本就无法判断这是不是需要被重定位,有的时候一个字符串也被当成重定位地址处理了。如果你的代码里面包含如00401000这样的地址,同样的也会被当成重定位处理,而编译器生成的重定位表就不会出现这样的错误。
我试过将一个没有重定位表的程序重定位,虽然内存运行成功,但是仍然有问题。



作者: supeng4676    时间: 2020-4-20 08:49
aiksie 发表于 2020-4-18 15:22
要解决没有重定位表的EXE,就是让编译器自己生成一个重定位表。EXE 没有重定位表的,通过修改link.ini, ...

内存运行肯定是从外部程序入手啊.所以你说的修改编译器配置很难拓展啊,...一般的exe是没有重定位表的.没有重定位表的话,就要手动修复一部分xx了啊.有点难,但是不是特别难.有人搞过,貌似说很轻松,起码比shellcode轻松.我一直停留在理论,说错了见怪莫怪哈
作者: aiksie    时间: 2020-4-20 11:06
supeng4676 发表于 2020-4-20 08:49
内存运行肯定是从外部程序入手啊.所以你说的修改编译器配置很难拓展啊,...一般的exe是没有重定位表的.没 ...

就我所知,目前网络上没有人将一个没有重定位表的EXE成功重定位的,也没有这方面的文章。正确的:↓

错误的:被当成重定位处理↓

就我上面这两张图,根本无法判断它是需要重定位的,我把基址设为20000000,但是不管怎么判断它都应该是要重定位的,然而我对照了被内存运行的EXE,发现它根本不需要重定位。
正确的:↓

错误的:被当成重定位处理的↓


请问在没有重定位表的情况下  该如何判断这些地址是否需要重定位?


作者: supeng4676    时间: 2020-4-20 12:21
aiksie 发表于 2020-4-20 11:06
就我所知,目前网络上没有人将一个没有重定位表的EXE成功重定位的,也没有这方面的文章。正确的:↓

...

没有重定位表的话肯定xx就无须重定位啊.我的理解但是在内存运行实际上是你自己load一个exe,可能你忽略了某个细节?
我记得dll加载到内存中,如果dll获取不到默认地址,重定位表则决定了哪些xx需要重新定位.有个办法就是你把你exe的imagebase 改成很大的内存地址,然后让dll加载在他默认的地址.后续你应该清楚,我没做过,创建线程,(然后让dll正常运行?猜的)
作者: xinser    时间: 2020-4-23 21:44
支持加壳吗
作者: xinser    时间: 2020-4-23 22:23
菜鸟表示不会用,过程什么的都弄了,运行无反应,建议出个教程
作者: wxy58761114    时间: 2020-4-28 04:56
大赞,,,,,我也来试试
作者: ngrjsc    时间: 2020-5-15 01:21
学习2233333333333333333333333333
作者: wlp    时间: 2020-5-15 02:52
看看2333333333333333333333
作者: yeweiyang    时间: 2020-5-17 15:36
内存卸载有bug啊

作者: quary888    时间: 2020-5-29 21:04
谢谢楼主分享!!! 好人一生平安!!!
作者: 就是爽    时间: 2020-12-20 16:35
是我操作不对吗?配置也修改了如下图,编译出来的dll无任何响应。就连您打包的dll例子源码我编译后都不能运行。但是您的dll可以运行。。。不知道还需要设置什么地方,请楼主指点下。。。


作者: 木小果    时间: 2021-3-24 20:35
楼主 我这有一份DLL内存调用的 模块和反编译的源代码 挺好用的
你可以看看  看看有没有可以参考的地方

期待更新模块

内存运行dll.rar (739.1 KB, 下载次数: 37)

作者: 745664583    时间: 2021-3-27 17:58
666666666666666666666666666
作者: 745664583    时间: 2021-3-27 17:59
66666666666666666666666666666666666666
作者: nuan1989    时间: 2021-4-13 10:16
干嘛用的
作者: 74596877    时间: 2021-5-23 03:51
黑月编译的貌似无法内存运行
作者: 菠菜521    时间: 2021-6-3 16:23
66666666666666666
作者: xing340    时间: 2021-6-16 11:49
加载3个内存运行DLL有很大几率闪退,2个没问题
作者: qingtian2020    时间: 2021-9-10 00:02
666666666666666666666666666666666666666
作者: ruidesi    时间: 2021-9-16 14:51
命令行怎么办
作者: 编程辉煌    时间: 2021-11-29 10:09
调试运行没问题 编译内存运行EXE直接崩溃
作者: lm88818    时间: 2022-1-5 09:05
支持开源~!感谢分享
作者: lcctw0821    时间: 2022-1-8 16:32
并且HOOK了系统的API
作者: 南笙北执    时间: 2022-2-4 00:22
感谢楼主分享
作者: 美味萝卜    时间: 2022-2-8 16:16
不错 感谢分享
作者: 21186213    时间: 2022-2-14 23:52
WIN10系统无法使用
作者: yxlm2003    时间: 2022-2-20 19:05
支持开源~!感谢分享
作者: yxlm2003    时间: 2022-2-20 19:05
支持开源~!感谢分享
作者: aiksie    时间: 2022-4-30 20:01
Autism 发表于 2021-3-24 20:35
楼主 我这有一份DLL内存调用的 模块和反编译的源代码 挺好用的
你可以看看  看看有没有可以参考的地方

我今天一看震惊了,你发的这个就是我写的内存运行啊
作者: 木小果    时间: 2022-4-30 21:18
aiksie 发表于 2022-4-30 20:01
我今天一看震惊了,你发的这个就是我写的内存运行啊

完了 反编译了你的模块 还要你看我反编译的源码
作者: key    时间: 2022-5-12 04:39
有命令行的怎么办?
作者: weitu520    时间: 2022-7-31 11:51
请问调用的DLL如果传参呢
作者: qq73s5456    时间: 2022-8-22 10:26
能不能加上 带命令行参数, 和 宿主进程 ?  比如 精易模块的  程序_内存中运行EXE()
作者: qq73s5456    时间: 2022-8-22 11:33
不能命令行 和 指定外壳程
作者: x洋芋x    时间: 2022-8-24 15:04
666666666666666
作者: 不苦小和尚    时间: 2022-8-29 18:08
qq73s5456 发表于 2022-8-22 10:26
能不能加上 带命令行参数, 和 宿主进程 ?  比如 精易模块的  程序_内存中运行EXE() ...

他这个稳定性怎么样啊
作者: qq73s5456    时间: 2022-8-29 18:27
不苦小和尚 发表于 2022-8-29 18:08
他这个稳定性怎么样啊

还可以, 也是看系统,有的也跑不起来, 精易模块的也是。
作者: 不苦小和尚    时间: 2022-8-29 18:33
qq73s5456 发表于 2022-8-29 18:27
还可以, 也是看系统,有的也跑不起来, 精易模块的也是。

就是这个问题,有时候运行不起来,没找到完美的的
作者: weitu520    时间: 2022-10-25 12:41
WIN10系统无法使用,提示无法找到DLL
作者: 97134784    时间: 2022-12-1 23:52
win10可用?
作者: liaoxiaohu    时间: 2024-8-7 15:12
支持开源~!感谢分享
作者: senyu239    时间: 2025-4-13 12:06
        支持开源~!感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4