chainliq 发表于 2019-1-14 12:08

XX订票助手(去除强制升级)〖利用Debugger内存破解方法〗

本帖最后由 ubuntu 于 2019-6-6 18:26 编辑

最近给网友破解某抢票软件时的思路给大家分享下。
有些壳我们试过好多方法实在是脱不掉的时候,只能想其它方法了。对,就是修改运行时的内存,当然,前提是你找到了了需要修改的内存断点或地址,
但有大多数软件每次打开时或更新后的地址都不一样,这时,我们可以在破解补丁中加入Debugger 能过脚本或其它编程语言控制Debugger动态破解。
好了,拿个列子给大家上菜。(大家熟悉的某订票肋手)
打开它后发现,嗯,程序能用的程序的界面和登陆框都出来了,这时,我们只要把登陆框去掉就行了,怎么去,我们把它丢进OD.在弹出窗体的时候设置断到.
丢进OD.
输入 ShowWindow

这个是主界面,我们要的是登陆窗口,按F9下一个断点


到这里,我们可以看到,这个是登陆的界面。我们只需要把这个窗体的hWnd改掉它就出不来了。
对着 hWnd=006A0DCC 右键--修改 随便输入一个8位数字符就可以了。


F9
这时还没结束,登陆窗口是去掉了,可是主窗口是假死状态。其是它只是实登陆窗口给当在后面了,变成未激活状态。我们打开SpyLite
拖到程序窗口上面,点消息-把窗口可用 勾上就可以了,然后选窗口可用就可以脱离OD了。

可是我们发补丁出去的时候不可能这样发出去吧,有什么办法可以它自动像脚本一样控制修改呢。这时可以用小巧 的Debugger 命令行操作
更多的命令行使用方法,请问度娘。

找到 Debugger 安装目录 的 cdb.exe ,把要破的程序拖到它上面运行输入bu ShowWindow 回车

然后输入 G 回车
上面我们知道第一次回是主界面的 hWnd
断续 输入 G 回车,直到主界面出来,登陆界面没出来为此。


到这里,esp= 这就是这们要改的 窗体hWnd 所在断点。
输入ed (esp+8) 0xffffffff 回车
输入 G 回车
输入 QD 回车 (即可脱离 cdb.exe 面程序不会退出)
到这里就可以了,这时候主窗口也是假死状态。像OD最后一步的时候用 SpyLite把窗体激活就可以了。
这时候我们只要把上面步骤的用编程语言脚本写出来就可以了。 简单的有VBS呀,按键精灵呀。E 等等。

到这里,我把我写的C# 破解的主要源码给大家参考。

if (e.Data.IndexOf("LdrInitShimEngineDynamic") >= 0 || e.Data.IndexOf("int   3") >= 0)
                {
                  this.Invoke(ReadStdOutput, new object[] { "正在设置断点...\r\n" });
                  Process p = sender as Process;
                  p.StandardInput.WriteLine("bu ShowWindow");
                }
                if (e.Data.IndexOf("Unable to verify checksum for") >= 0)
                {
                  this.Invoke(ReadStdOutput, new object[] { "正在调试断点......\r\n" });
                  Process p = sender as Process;
                  p.StandardInput.WriteLine("G");
                }
                if (e.Data.IndexOf("ds:002b:00000000=") >= 0 || e.Data.IndexOf("00000000=????????") >= 0)
                {
                  this.Invoke(ReadStdOutput, new object[] { "正在调试断点.........\r\n" });
                  Process p = sender as Process;
                  p.StandardInput.WriteLine("G");
                }
                //esp=
                if (e.Data.IndexOf("esp=") >= 0)
                {
                  //Espstr
                  Espstr = e.Data;
                }
                if (e.Data.IndexOf("USER32!ShowWindow:") >= 0)
                {
                  Process p = sender as Process;
                  if (Gi == 1)
                  {
                        this.Invoke(ReadStdOutput, new object[] { "正在修改内存............\r\n" });
                        string Hexdate = Espstr.Substring(Espstr.IndexOf("esp=") + 4, 8);
                        p.StandardInput.WriteLine("ed (esp+8) 0xffffffff");
                        IntPtr Winhwnd = FindWindow(null, "友科订票助手 V2.575");
                        if (Winhwnd == IntPtr.Zero)
                        {
                            p.StandardInput.WriteLine("Q");
                            this.Invoke(ReadStdOutput, new object[] { "破解失败。。。无法破解此版本!!!\r\n" });
                            MessageBox.Show("无法破解此版本!!!");
                        }
                        else
                        {
                            p.StandardInput.WriteLine("QD");
                        }

                        Gi++;
                  }
                  else
                  {
                        if (Gi < 2)
                        {
                            this.Invoke(ReadStdOutput, new object[] { "正在调试断点............\r\n" });
                            p.StandardInput.WriteLine("G");
                            Gi++;
                        }
                  }

资源:
需要工具 爱盘有的下 ,
实例中破解的软件地址 http://www.yk12306.com/Download (2.574之后版本作者加入了 检测不到帐号登陆就退出。大家需要用的 下载 2.574的就可以了。关于升级窗口。直接用这个方法干掉)

破解补丁 (2019/01/16更新,去除强制升级)
链接:https://pan.baidu.com/s/15oVp5VhaUa_LmvBylUI5Rg
提取码:wy1d
实例中破解的软件链接:https://pan.baidu.com/s/1AKf81ltwR0iZ7fYyRdQ9eA
提取码:0qzp

CDN 下载



2019/1/15 CDN已补上,地址已更新

chainliq 发表于 2019-1-15 16:45

链接:https://pan.baidu.com/s/1AKf81ltwR0iZ7fYyRdQ9eA
提取码:0qzp

CDN 下载
cdn.txt (15.96 KB, 下载次数: 0)


2019/1/15 CDN已补上,地址已更新

moments 发表于 2019-1-15 08:05

为啥CDN节点数量一直是0?

xztyx 发表于 2019-1-15 10:15

彡彡九 发表于 2019-1-14 16:27
2.574哪里有下

链接: https://pan.baidu.com/s/1D3wawusQgx7WrLQqwJVqvw 提取码: 352j

daowuya 发表于 2019-1-17 11:57

请问楼主大大,CDN怎么导入呢

大鲸鱼仙人 发表于 2019-1-14 13:09

学习一下逆向的教程,看看能不能实验

bachelor66 发表于 2019-1-14 14:23

学习一下新知识                                                            

思言 发表于 2019-1-14 14:42

刚需 使用中{:1_927:}

de_mail 发表于 2019-1-14 14:44

谢谢,不过这软件是不是交易过才能注册,要交易流水号

wehle 发表于 2019-1-14 15:41

有了这个,妈妈再也不用担心我没有车票回家了

彡彡九 发表于 2019-1-14 16:27

mynameislyy 发表于 2019-1-14 17:01


2.574下载不到了 只有2.575

p82w 发表于 2019-1-14 17:21

已经更新了

青刀夫 发表于 2019-1-14 17:22

看上去很复杂的样子。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: XX订票助手(去除强制升级)〖利用Debugger内存破解方法〗