草庐IT

大唐集团(这个不敷衍了),js逆向:★★★★

八月欢喜 2023-03-28 原文

前言

  • 可以关注我哟,一起学习,主页有更多练习例子
  • 如果哪个练习我没有写清楚,可以留言我会补充
  • 如果有加密的网站可以留言发给我,一起学习共享学习路程
  • 如侵权,联系我删除
  • 此文仅用于学习交流,请勿于商用,否则后果自负

这个是我逛论坛别人发的帖子求破解的,然后我看了一下,就一个cookie加密

下面讲的是 acw_sc__v2 还有一个ssxmod_itna也刚搞出来了,有点累我的天,下周再写吧
ssxmod_itna有点难,再加俩★★,这个加密的数值,检测了一堆的浏览器环境

image.png

网站

  1. 网址:aHR0cHM6Ly93d3cuY2R0LWVjLmNvbS9ub3RpY2UvbW9yZUNvbnRyb2xsZXIvdG9Nb3JlP2dsb2JsZVR5cGU9NA==
  2. 端口:
    aHR0cHM6Ly93d3cuY2R0LWVjLmNvbS9ub3RpY2UvbW9yZUNvbnRyb2xsZXIvZ2V0TGlzdA==

1. 每一次请求会都带有这个,如果没有则请求不通

image.png

2. 既然是cookie严重,那就先请了cookie,在请求一下,咱们看看结果如何

image.png

清除完,再请求,我们发现,他发了两条getlist请求,第一个getlist请求从图片中直接可以看到关键字 SETCOOKIE 那就好办了,证明这一段js是直接复制给acw_sc_v2的值的。我先拷贝到本地运行一下

3. 运行了一下,报错document is not a function 那我就自己补一个,补后再运行

,后面就是混淆报错了,我们格式化一下,看看集体结果


image.png

格式化后依然报错,经验之谈,格式化检查,一般这样的报错也都是格式化检查的原因


image.png

4. 修复格式化检查(小妙招):

image.png

全局搜索这个,然后找判断方法的tostring和test,因为好多是utf-16编码的,我当初试过解码啥的,和网上的一键解混淆,后面发现不太好用,然后就能硬着头皮干了

image.png

image.png

image.png

将tostring和test转换一下取中间的字符串,找到她的方法让它变成一行即可


image.png

这段js有多地方检查,自己一个一个改一下,改完运行


image.png

发现运行后和当初一行一样的报错即可
那接下来我们就开始调试了

5.开始死磕调试代码

因为代码是本地弄的,运行不了,先排除是否检查环境,咱们放到浏览器运行一下


image.png

我的天,我们发现一运行断点卡住了,完犊子了,得看代码了


image.png

不,先别看,咱先看看一步一步运行是啥结果


image.png

我们看到一直报vm虚拟机,然后下面答应出一个191,完全无卵用。

继续看代码呗。

在调试断点的的位置往上一步走,咱看看是哪出的断点

image.png

发现复现不了了,我的天,咋办?重新开一个百度页面呗搞呗

image.png

断到这一步咱一点一点看看这都是啥意思。


image.png

选择了几个一看"deb",大几率后面就是拼接出来的debugger

然后咱看看谁调用了debugger这个方法


image.png

全局搜索,往下搜,这是定义了的,在这个基础上往下搜索,看哪调用了

image.png

发现这调用了,而且上面一堆检查的代码,RegExp检查的,那我直接把和这个都删除


image.png

这整个if语句,都删除,再运行一下。

js逆向千万记着,代码可以多,千万别少了,再运行不报错的情况下删除代码


image.png

运行了一下什么都没有???


image.png

是不没调用啊,大概查看一下代码。


image.png

我们发现这有调用,那我们加一个打印看看结果如何
简单改一下:


image.png

结论:


image.png

完结撒花

image.png

有关大唐集团(这个不敷衍了),js逆向:★★★★的更多相关文章

  1. ruby - 这个 ruby​​ 注入(inject)魔术是如何工作的? - 2

    我今天看到了一个ruby​​代码片段。[1,2,3,4,5,6,7].inject(:+)=>28[1,2,3,4,5,6,7].inject(:*)=>5040这里的注入(inject)和之前看到的完全不一样,比如[1,2,3,4,5,6,7].inject{|sum,x|sum+x}请解释一下它是如何工作的? 最佳答案 没有魔法,符号(方法)只是可能的参数之一。这是来自文档:#enum.inject(initial,sym)=>obj#enum.inject(sym)=>obj#enum.inject(initial){|mem

  2. ruby-on-rails - ruby 新手,有人可以帮我从控制台破译这个错误吗? - 2

    我真的只是不确定这意味着什么或我应该做什么才能让网页在我的本地主机上运行。现在它只是显示一个错误,上面写着“我们很抱歉,但出了点问题。”当我运行railsserver并在chrome中打开localhost:3000时。这是控制台输出:StartedGET"/users/sign_in"for127.0.0.1at2013-07-0512:07:07-0400ProcessingbyDevise::SessionsController#newasHTMLCompleted500InternalServerErrorin55msNoMethodError(undefinedmethod`

  3. ruby - 为什么这个救援语法有效? - 2

    好的,所以我有了我正在使用的应用程序的这种方法,它可以在生产中使用。我的问题为什么这行得通?这是新的Ruby语法吗?defeditload_elements(current_user)unlesscurrent_user.role?(:admin)respond_todo|format|format.json{render:json=>@user}format.xml{render:xml=>@user}format.htmlendrescueActiveRecord::RecordNotFoundrespond_to_not_found(:json,:xml,:html)end

  4. ruby - 为什么这个 eval 在 Ruby 中不起作用 - 2

    你能解释一下吗?我想评估来自两个不同来源的值和计算。一个消息来源为我提供了以下信息(以编程方式):'a=2'第二个来源给了我这个表达式来评估:'a+3'这个有效:a=2eval'a+3'这也有效:eval'a=2;a+3'但我真正需要的是这个,但它不起作用:eval'a=2'eval'a+3'我想了解其中的区别,以及如何使最后一个选项起作用。感谢您的帮助。 最佳答案 您可以创建一个Binding,并将相同的绑定(bind)与每个eval相关联调用:1.9.3p194:008>b=binding=>#1.9.3p194:009>eva

  5. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  6. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

  7. Ruby:我怎样才能复制这个数组? - 2

    (跟进我之前的问题,Ruby:howcanIcopyavariablewithoutpointingtothesameobject?)我正在编写一个简单的Ruby程序来在.svg文件中进行一些替换。第一步是从文件中提取信息并将其放入数组中。为了避免每次调用此函数时都从磁盘读取文件,我尝试使用memoize设计模式-在第一次调用后的每次调用中都使用缓存结果。为此,我使用了一个在函数之前定义的全局变量。但是,即使我在返回局部变量之前将该变量.dup为局部变量,调用该变量的函数仍在修改全局变量。这是我的实际代码:#memoizetokeepfromhavingtoreadoriginalfi

  8. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

  9. ruby - 为什么 `middleman serve` 有效,但是 `middleman build` 编译这个 Sass 失败? - 2

    当我刚刚运行middleman时服务,all.css编译得很好,只包含对+box-shadow(none)的调用:/*line1,/home/yang/asdf/source/stylesheets/content.css.sass*/div{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}但是当我构建网站时,我得到了这个Sass/Compass错误:$middlemanbuildSlim::EmbeddedEngineisdeprecated,itiscalledSlim::EmbeddedinSlim2.0

  10. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

随机推荐