study101 发表于 2018-11-6 20:41

VC++网络验证

大家好,请教下大家个问题,VC++网络验证有没有什么特征码?那个sub eax,0a对这款软件没有用好像,这款软件我测试了下,一开始无从下手,暂停法没用,搜索关键字也没有。
然后我就用了一种方法,手速!没错!在点激活的时候有点时间间隔,我利用这个时间间隔点击暂停!然后一直跟,最后找到关键call了,但是!但是我断点下断后重载就没了!!没了!!
第二次找到后我想打补丁,也没用,原来地址是变化的?(我也不怎么会),后来就再也找不到了,倒是找到一个call在系统领空弹错,根本回不到程序领空。我实在没办法了,来请教大家,给我指点指点?感激不尽!
大神们有兴趣也可以试试,只求指点指点,如能指导方法就更加感谢!



我打了个包




下载地址:https://www.lanzouw.com/i2aw3na

chinamsu 发表于 2018-11-6 20:41

额。。。
我收回刚才的话,研究了下软件判断相当弱智。。
楼主是想看这本书还是想搞这个软件?
如果只是想看书的话软件就放着不用管了,因为你在浏览器中输入下面的内容
http://e.100xuexi.com/uploads/ebook/66d20edd0f0b44aeb462da1d2489d785/source/1.swf
http://e.100xuexi.com/uploads/ebook/66d20edd0f0b44aeb462da1d2489d785/source/2.swf
http://e.100xuexi.com/uploads/ebook/66d20edd0f0b44aeb462da1d2489d785/source/3.swf
...
http://e.100xuexi.com/uploads/ebook/66d20edd0f0b44aeb462da1d2489d785/source/.xxxswf
这样你就可以看完整本书,没必要在软件上瞎费劲了

laoluo791 发表于 2018-11-6 21:53

你真牛,我看了几下,都找不到入手点

ジ秋水 发表于 2018-11-6 22:11

买了佛冷 路过看一下

E少 发表于 2018-11-7 12:24

下SEND断点 跟堆浅即可

ladybe 发表于 2018-11-7 17:54

找到关键CALL你记下特征码呀 动态地址最笨的办法就是复制特征码了 打补丁也靠它的{:5_117:}

chinamsu 发表于 2018-11-8 01:31

思路错误,这是个swf程序,关键代码不在exe中,在book.swf中,找个反汇编swf软件可以看到。
贴点代码:
      private function _RegSuccess_Label12_c() : spark.components.Label
      {
         var _loc1_:spark.components.Label = new spark.components.Label();
         _loc1_.x = 135;
         _loc1_.y = 169;
         _loc1_.width = 257;
         _loc1_.text = "已激活,可终身使用!";
         _loc1_.setStyle("fontSize",24);
         _loc1_.setStyle("color",16711680);
         _loc1_.setStyle("fontFamily","SimHei");
         if(!_loc1_.document)
         {
            _loc1_.document = this;
         }
         return _loc1_;
      }

public function checkResult(param1:String) : void
      {
         Alert.yesLabel = "是";
         Alert.noLabel = "否";
         Alert.okLabel = "确定";
         Alert.cancelLabel = "取消";
         this.midMessage.visible = true;
         this.running2.visible = false;
         this.isSuccess = 0;
         if(param1 == "密码已经被使用")
         {
            Alert.show("激活失败,这本书已经在其他机器上激活!");
            return;
         }
         if(param1 != "激活成功!")
         {
            Alert.show(param1);
         }
         else
         {
            this.book3D.userModel.isBuy = true;
            this.book3D.viewController.hiddenBuy();
            this.success.visible = true;
            setTimeout(this.cancelNew,1000);
         }
      }


上图是我搜到的所以带激活的字符引用地址,搜索了整整半个多小时,代码块太多了,电脑疯狂响。。
可以挨个对比去修改代码,大半夜看的头大

chinamsu 发表于 2018-11-8 01:40

我的回复为啥看不到了呢,被吃了吗?{:5_188:}

chinamsu 发表于 2018-11-8 01:45

再重新打一遍吧,好像回复被吃了。。
分析exe文件没用的,要分析book.swf,这是主要的执行文件,楼主需要找个例如ffdec这类的反编译swf的文件进行分析

上面贴的就是我搜索激活查找出来的所有结果,耗时大半个小时。。。as脚本2500+,电脑跑的呜呜直响。。。
贴点代码:
public function checkResult(param1:String) : void
      {
         Alert.yesLabel = "是";
         Alert.noLabel = "否";
         Alert.okLabel = "确定";
         Alert.cancelLabel = "取消";
         this.midMessage.visible = true;
         this.running2.visible = false;
         this.isSuccess = 0;
         if(param1 == "密码已经被使用")
         {
            Alert.show("激活失败,这本书已经在其他机器上激活!");
            return;
         }
         if(param1 != "激活成功!")
         {
            Alert.show(param1);
         }
         else
         {
            this.book3D.userModel.isBuy = true;
            this.book3D.viewController.hiddenBuy();
            this.success.visible = true;
            setTimeout(this.cancelNew,1000);
         }
      }

    private function _RegSuccess_Label12_c() : spark.components.Label
      {
         var _loc1_:spark.components.Label = new spark.components.Label();
         _loc1_.x = 135;
         _loc1_.y = 169;
         _loc1_.width = 257;
         _loc1_.text = "已激活,可终身使用!";
         _loc1_.setStyle("fontSize",24);
         _loc1_.setStyle("color",16711680);
         _loc1_.setStyle("fontFamily","SimHei");
         if(!_loc1_.document)
         {
            _loc1_.document = this;
         }
         return _loc1_;
      }
      楼主按着贴图中的去找基本能全部找到,大半夜的看着as脚本头大


ps:建议楼主用fiddler去抓下包会有新的发现

chinamsu 发表于 2018-11-8 01:47

不知道为啥回复不了详细内容,贴一点


      public function checkResult(param1:String) : void
      {
         Alert.yesLabel = "是";
         Alert.noLabel = "否";
         Alert.okLabel = "确定";
         Alert.cancelLabel = "取消";
         this.midMessage.visible = true;
         this.running2.visible = false;
         this.isSuccess = 0;
         if(param1 == "密码已经被使用")
         {
            Alert.show("激活失败,这本书已经在其他机器上激活!");
            return;
         }
         if(param1 != "激活成功!")
         {
            Alert.show(param1);
         }
         else
         {
            this.book3D.userModel.isBuy = true;
            this.book3D.viewController.hiddenBuy();
            this.success.visible = true;
            setTimeout(this.cancelNew,1000);
         }
      }
      private function _RegSuccess_Label1_i() : mx.controls.Label
      {
         var _loc1_:mx.controls.Label = new mx.controls.Label();
         _loc1_.x = 0;
         _loc1_.y = 5;
         _loc1_.percentWidth = 96;
         _loc1_.height = 29;
         _loc1_.text = "已激活";
         _loc1_.setStyle("fontFamily","SimHei");
         _loc1_.setStyle("fontSize",16);
         _loc1_.setStyle("textAlign","center");
         _loc1_.id = "labTitleNew";
         if(!_loc1_.document)
         {
            _loc1_.document = this;
         }
         this.labTitleNew = _loc1_;
         BindingManager.executeBindings(this,"labTitleNew",this.labTitleNew);
         return _loc1_;
      }

页: [1] 2
查看完整版本: VC++网络验证