Xshell、Xftp 免费版去除退出弹窗提示-新手实战

查看 306|回复 11
作者:m1y3ll0w   
这两款软件免费版功能跟付费版一致,除了不能商用和退出弹窗,已经很不错了。有个几秒的退出弹窗提示,其实是可以接受的,一直这样用了一年多了,问题不大。
因为刚注册不久,想着发个帖子经营一下账号。恰好看到了站内大佬 @iamcjsyr 的帖子 《Xshell 7免费版修改最大标签页限制》,正好自己也要用到 Xshell 和 Xftp,加上之前在站内看了不少去广告弹窗的教程和实例,想亲自动手实战一下。我自己也是新手上路,文中有错误或不当的地方,还望各位坛友们批评指正,不胜感激!
预备
本次修改需要用到 x64dbg 反编译调试,难度大概在入门级别,需要一定的基础和耐心。
新手朋友或者嫌麻烦的坛友们,咱电梯直达 修补方法 ?
应用软件下载
  • 官网

    使用邮箱获取家庭/学校最新版下载链接。
    目前最新版本,也是本次修改使用的版本


    latest-now.png (11.89 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    官方直链下载:(有效期至 2022-12-15)
    Xshell 7
    Xftp 7
    云盘下载:
    xshell+xftp https://www.aliyundrive.com/s/mxuQ51U1bLs 提取码: j90j
    如果之前安装的是付费版,需要先卸载,里面配置的连接信息看个人需求是否导出保存!!!文件->导出
    如果同样是免费版,最新版的安装包会自动识别目录,进行升级安装,不用卸载旧版本,亲自试过了。
    x64dbg 下载
  • 官网
  • GitHub

    官网可以直接打开和下载,GitHub 可能打不开。
    基础认识
  • x64dbg零基础使用教程
  • x64dbg使用技巧与实用插件合集
  • 汇编常用指令
  • 汇编命令及OD常用命令及断点设置

    上面的文章帖子看不懂没关系的,我也没完全看懂,大概了解一下,别因为参考文章没看明白就放弃了!
    插件选一些自己需要的安装即可,比如:ScyllaHide(反反调试)、E_ApiBreak(常用断点)、x64dbg_tol(中文搜索支持)。
    本次实战需要先安装 ScyllaHide(反反调试) 插件,因为程序有反调试会报异常退出。其他插件暂时没有用到,看个人情况安装。
    开始
    关键操作点:
    [ol]
  • 设置反反调试,程序能调试运行,事半功倍
  • 设置弹窗断点,定位弹窗入口
  • 调用堆栈定位,找出程序级别调用弹窗的关键代码
    [/ol]
    设置反反调试
    安装 ScyllaHide(反反调试) 插件
  • 建议直接下载 x64dbg使用技巧与实用插件合集 插件合集,下载解压后,将 plugins 复制到自己安装的 x64dbg 对应目录。
  • ScyllaHide GitHub 下载,可能访问不了,我有权限放附件的话,就放一个。



    plugin-path.png (21.18 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    安装不上插件也没关系,只是不能调试定位,但还可以通过搜索关键词字符串定位关键代码。先按 F9 让程序运行到入口(EntryPoint)处,再按 Shift+D,在当前模块中搜索字符串。比如本次修改,搜索 exit,就能直接定位到关键代码。
    配置插件参数
    因为软件是 32 位的,所以打开 x32dbg.exe, 配置插件参数,运行调试。
    VMProtect x86/x64
    Obsidium x86/x64
    Themida x86/x64
    上面三个配置对本次修改的程序都可以反反调试,主要区别在于内部的配置项勾选。
    具体配置项名称含义和作用,可以参考 ScyllaHide 在 GitHub 上的 说明文档,英文的,想要深入了解反反调试的可以研究一下。由于本人也是业余选手,就没仔细研究了。
    VMProtect x86/x64 勾选的配置项在三个里面最少,且能正常运行调试,本次参数配置就选它了。确认后会提示重新载入目标程序后生效。


    anti-profile.png (57.74 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传



    debugger-plugin.gif (1.84 MB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    设置弹窗断点
    参考站内 去除WinRAR广告弹窗 帖子,大概知道了弹窗函数是 CreateWindowExW,在 x32dbg 界面下方的命令输入框,输入 bp CreateWindowExW 回车即可打上断点。


    set-breakpoint.gif (714.97 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    如果以后遇到的弹窗不是 CreateWindowExW 这个弹窗断点,怎么办呢?那可以参考 E-ApiBreak 插件里面的 对话框,选择其他弹窗断点。具体函数概念和效果可以自行搜索了解一下。


    e-api-break.png (201.15 KB, 下载次数: 0)
    下载附件
    2022-11-17 01:49 上传

    E-ApiBreak 很实用,目前只找到 32 位的插件,64 位的就自己参照名称,手动下断点了。
    E-ApiBreak 插件站内下载
    调用堆栈定位
    知道了弹窗函数入口,可以通过调用堆栈找到是哪里调用了这个 CreateWindowExW 窗口函数。
    有个注意的事项, CreateWindowExW 窗口函数在程序中可能会被调用很多次,因为其他正常窗口加载也会调用这个函数。所以,断点设置之后,先禁用,等到程序进入主界面,在你准备退出程序之前,再启用断点,这样就能准确断在退出弹窗的调用链上。
    在退出程序之前,如果程序界面卡着没反应,查看是否卡在断点代码了,点击 → 运行即可,因为在手动退出之前的断点不在修改范围。点击关闭按钮,或命令行输入 exit 之后的断点才是要关注的地方。(可能有人会卡在这,不知道怎么回事)
    准备退出程序之前,启用窗口函数断点,退出程序,发现确实断在了 CreateWindowExW 窗口函数,堆栈调用信息如下:


    exit-stack-info.png (292.56 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    堆栈最上方自然是 CreateWindowExW  入口,往下找到最近一次主程序调用点 xshell.008F5D85,可能你的地址不一定是这个,只要前面是 xshell 主程序标识即可。
    双击 xshell.008F5D85 即可跳转过去,F2 打上断点,点击 → 运行,发现弹窗出现几秒消失后才进到断点,说明断点位置靠后了。
    在断点的上方发现一个 call 调用,有 NSLICENSE_PersonalNotify 字样,运气不错,这里很可能就是弹窗代码。
    在 call 上方的任意一个 push 按 F2 下断点,比如在 push 0 处。


    before-exit-bp.png (39.06 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    停止本次调试,点击重新运行,发现好多不需要关注的 CreateWindowExW  断点,先把 CreateWindowExW  断点禁用,在退出之前再启用。(别被 CreateWindowExW  断点一会禁用一会启用搞晕了,你可以试着一直启用,你就会发现问题)
    重新运行,退出程序,调试断在了 CreateWindowExW 调用之前,可以逐步调试,确认 call 函数内部是否为创建窗口相关的代码。
    由于 call 里面的代码实在是太多了,一步一步看下去头都晕了。后来才发现代码都不在 xshell 主程序,其实不用细看了。


    not-in-main.png (117.26 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    直接点 运行到用户代码 按钮(→‍),程序回到了 xshell.008F5D85,即 call 的下一行,说明整个  call 都是在系统代码层面创建弹出窗口。


    call-notify-out.png (39.48 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    关键操作来了,只要跳过这个 call 相关的代码,直接走到 Exit xshell 对应的地址 008F5D88,就可以干掉弹窗了。
    其实弹窗代码上方正好有一个判断,je xshell.8F5D88,你的反编译地址可能不一样,但 je xshell.XXXXXX 操作是一样的。(前提是都用的 x64dbg,用 OD、IDA 可能反汇编指令会不同,但最终效果是一样的)
    Xftp.exe 的关键代码定位,也是这个流程。
    尝试修改
    在 je xshell.8F5D88 这一行,右键-汇编,把 je xshell.8F5D88 改成 jmp xshell.8F5D88。选项可以参照勾选。确认修改。后续修改框还在,是改别的内容,不用管了,取消。


    je-jmp.png (57.6 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    代码界面在刚修改的 jmp xshell.8F5D88 按 G 转为流程图看修改(G切换流程图或代码),因为主程序还没有打补丁,流程图还是原本的。改成 jmp 之后,就只有一条指向 Exit xshell 的路线了,修改还是比较完好的,改动很少。


    modify-process.png (28.03 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    Xftp.exe 的关键修改:


    xftp-modify-key.png (85.86 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    打补丁
    在代码修改行(代码区域都行),右键-补丁,选中主程序 xshell.exe 的修改,这里只有一个补丁。


    confirm-patch.png (19.81 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    注意,修补文件为 xshell.exe,需要先手动备份一份,以便出错后重新来过,不用重装软件。
    直接修补 xshell.exe 会报错,因为程序正在运行调试,那就选择修补刚备份的程序文件,自己清楚哪个是修补之后的即可。
    修补后,停止调试,把原本的  xshell.exe 改为  xshell.exe.bak ,修补的主程序文件改为  xshell.exe 。
    Xftp.exe 打补丁方法流程也是一样的。注意备份!
    验证效果
    点关闭按钮退出,或是在命令行输入 exit,退出后,没有再弹窗提示,任务管理器里面的进程正常退出,修改完成。


    xshell-modify-review.gif (2.02 MB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    手动修补二进制文件
  • 010Editor 官网下载

    不用依赖补丁文件,自己手动修补。
    前提是软件版本得一致!如果版本不同,请自行按帖子步骤操作。
    下载 010Editor 二进制修改工具,免费试用30天,够用了,反正很多人改完之后基本也不会打开这个软件,也不用激活,下次再用,重新安装试用即可。(站内有 010Editor 的破解教程)
    注意先备份!010Editor 打开 xshell.exe,全局搜索 74 11 6A 00 6A 07 6A 01(别复制符号),把开头的 74 改成 EB 保存即可,注意把输入法设置为大写。为什么搜索这么长?确保全局只搜到一处,精确定位。


    hand-modify.png (37.52 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    修改前后对比,整个程序文件就一处不同。


    compare-patch.png (131.62 KB, 下载次数: 0)
    下载附件
    2022-11-16 05:54 上传

    跟打补丁之后的程序文件是一样的,运行正常,退出没有弹窗。
    Xftp.exe 手动修补:
    注意先备份!
    010Editor 打开 Xftp.exe,全局搜索 75 10 6A 00 6A 07 50 6A,把开头的 75 改为 EB 保存即可。
    参考

  • x64dbg使用技巧与实用插件合集

  • 去除WinRAR广告弹窗

  • 使用x64dbg+spy去除WinRAR5.40(64位)广告弹框


    ScyllaHide.7z
    (1.68 MB, 下载次数: 39)
    2022-11-16 18:07 上传
    点击文件名下载附件
    GitHub 下载的 release 版本

    这个压缩包是从 GitHub 官方下载的,包含多个反编译器的文件,使用x64dbg目录下的两个文件即可。ScyllaHide.pdf 为官方英文文档。

    断点, 下载次数

  • m1y3ll0w
    OP
      


    相约一生 发表于 2022-12-14 20:11
    ScyllaHide反调试插件还不错,插件默认和楼主一样的选项,可以过VMP3.5检测,但是过不了VMP3.6的全保护检测 ...

    前不久刚被一个VMP3.6折腾了一天一夜,加壳、反调试、花指令、内存校验都有!皮肤、头发不抗造了,太累了,后面放弃了!直接找keygen+host屏蔽把它干了!你可以猜猜这个软件是啥
    leiping8520   


    m1y3ll0w 发表于 2022-11-17 21:22
    同期坛友啊。得有一定的前期积累,或者从事编程行业。我在注册之前,已经逛了很久的论坛了。但也是业余选 ...

    不过后面的那个 看懂了 合适的时候去试试, 感谢分享哈😊 我也是才来这个论坛几天 纯纯的新人 啥也不懂 只是对这些方面的知识很感兴趣
    aijiahahha   

    谢谢分享,我想问一下,那分享的那个链接就是修改之后的文件吗?想偷个懒,用个现成的
    apull   

    感谢分享,那个广告确实很烦人。
    m1y3ll0w
    OP
      


    aijiahahha 发表于 2022-11-17 11:26
    谢谢分享,我想问一下,那分享的那个链接就是修改之后的文件吗?想偷个懒,用个现成的

    是原版安装包,破解版块不能放修改后成品!
    云烟成雨   

    修改以后弹窗广告没了,但有报错弹窗
    ding52pojie   

    不能商用和退出弹窗其实对我影响不大,破不破问题都不大,还是谢谢
    云烟成雨   

    楼主看下,我改了以后退出有错误弹窗[i]
    m1y3ll0w
    OP
      


    ding52pojie 发表于 2022-11-17 13:21
    不能商用和退出弹窗其实对我影响不大,破不破问题都不大,还是谢谢

    是的,影响不大。主要是新手技术实战。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部