Files
SimpleRemoter/Skills.md
yuanyuanxiang 5757ec7965 Release v1.3.6
2026-06-14 09:39:07 +02:00

5.0 KiB
Raw Permalink Blame History

YAMA 使用方法与技巧

编译程序

编译此程序需要Visual Studio 2019及以上版本。如果编译Go服务端需要Go 1.25及以上版本。 除了直接通过Visual Studio打开项目文件进行编译也可以通过以下命令进行编译:

  • build.cmd: 编译YAMA.exe自动提前编译客户端程序
  • build.cmd publish编译YAMA.exe且通过upx压缩所生成的可执行文件较小。
  • buld.cmd server只编译YAMA.exe需保证所依赖的客户端程序已经编译。
  • build.cmd go-server编译 Go 服务端可以选择带publish 参数进行upx压缩。

Go 服务端

支持在Windows、Linux、MacOS系统运行使得用户不再依赖Windows服务器来搭建远程控制系统且部署Go服务端在Linux或MacOS具有更高安全性。 但是用户仍然需要有一台Windows电脑使用YAMA生成客户端程序。

生成客户端

自版本v1.3.4起,不论是服务端/主控端,还是客户端/受管端都支持在全平台运行Windows、Linux、MacOS。 关于在生成客户端时怎么填参数,参考早期在 GitHub 的文档。 此文档也许已经过时,但新文档没有准备好。因为生成客户端的逻辑没有改变,所以这篇文档仍然具有参考价值。

更新内嵌资源

参看 "server\2015Remote\BuildDlg.cpp" 描述YAMA作为一个功能强大的远程管理系统内嵌了包含客户端、开源工具在内的10多个资源。 较新版本的YAMA支持在不修改源代码、不重新编译的情况下更新内嵌的这些资源。用户只需要在当前YAMA进程的目录下增加res子目录 将资源命名为如下所述的名称即可。例如编译了新版本的 frpc.dll 将其放到 res/frps.dll 位置即可重启YAMA即会使用该磁盘上的资源。

namespace ResFileName {
    // Ghost 主程序
    const char* GHOST_X86         = "ghost_x86.exe";
    const char* GHOST_X64         = "ghost_x64.exe";
    const char* GHOST_LINUX       = "ghost_linux";
    const char* GHOST_MACOS       = "ghost_macos";
    // TestRun 加载器
    const char* TESTRUN_X86       = "testrun_x86.dll";
    const char* TESTRUN_X64       = "testrun_x64.dll";
    // ServerDll
    const char* SERVERDLL_X86     = "serverdll_x86.dll";
    const char* SERVERDLL_X64     = "serverdll_x64.dll";
    // TinyRun
    const char* TINYRUN_X86       = "tinyrun_x86.exe";
    const char* TINYRUN_X64       = "tinyrun_x64.exe";
    // SCLoader (Shellcode加载器)
    const char* SCLOADER_X86      = "scloader_x86.bin";
    const char* SCLOADER_X64      = "scloader_x64.bin";
    const char* SCLOADER_X86_OLD  = "scloader_old_x86.bin";
    const char* SCLOADER_X64_OLD  = "scloader_old_x64.bin";
    // FRP 相关 (无架构区分64位DLL)
    const char* FRPC_DLL          = "frpc.dll";
    const char* FRPS_DLL          = "frps.dll";
    // 工具
    const char* UPX_EXE           = "upx.exe";
    const char* RCEDIT_EXE        = "rcedit.exe";
}

使用插件

将64位的Windows DLL放到Plugins目录主控程序会加载DLL且可以通过在线主机的右键菜单将DLL发送的目标主机执行。 开发自定义插件需要遵循一些规范:https://simpleremoter.com/plugins

载荷分离

通过设置 Web 端口默认值8080来开启Web远程桌面且本机会提供文件下载服务。将文件放置于该目录从外部访问链接即可下载。 比如,生成服务端时,选择 Shellcode+AES, 开启文件下载,将载荷生成为单独的文件 "1.bin"将此文件放置于Payloads 目录。 访问 http://127.0.0.1:8080/payloads/1.bin 即可下载此载荷文件。如果本机具有公网IP则127.0.0.1可替换为公网IP。在有公网IP的计算机开启Web功能必须设置登录密码否则存在安全风险。 采用载荷分离方式生成的程序只有7KB运行此程序会下载载荷解密载荷中的Shellcode并执行。加载器源代码见 client\SimpleSCLoader.c采用了高级编程技巧无导入函数。本项目不提供任何“面纱”保证且使用场景只限技术研究和学习。

Web 远程桌面

通过设置 Web 端口默认值8080即开启Web远程桌面在浏览器地址栏访问本机8080端口就进入Web远程桌面默认的密码是admin。 如果本机有公网IP务必修改默认密码设置为较复杂的密码否则可能被别人登录。Web登录已做防护连续3次输入错误密码会冻结。 从外部访问Web远程桌面需要域名和证书浏览器H264解码硬性要求Web 远程桌面支持2个主机同时在线如需突破此限制请联系管理员。

获取更多

访问源代码的docs目录阅读本项目更多内容也可以访问官方网站https://simpleremoter.com成为注册用户可获取额外的资源与支持。官方网站将不定期地更新有关此软件的公告、用法、案例等内容