- 博客(233)
- 资源 (31)
- 收藏
- 关注
原创 // Please wait a bit. // Compiled script is not shown while source map is being loaded!
// Please wait a bit.// Compiled script is not shown while source map is being loaded!
2024-07-10 10:29:12
640
原创 Frida学习笔记-环境配置(一)
一、Python3 环境安装二 、MuMu模拟器安装三、ADB安装环境变量配置Frida-server 下载
2022-06-13 18:14:44
1748
原创 AST还原功能说明文档
文章目录还原工具各功能说明文档1.字符还原2. 成员表达式连接符变更3. 标识符重复赋值4. 未修改常量替换5. 标识符简化6. 序列表达式7. 对象合并8. 数组简化9. 成员表达式字符合并10. 对象属性字符合并11. Return函数简化12. 自执行实参替换形参13. 自执行空实参替换顺序语句14.花指令处理15.反控制流平坦化16.常量计算17.死代码删减19.大数组解密20.禁用console输出功能删减21.debugger保护及定时器删减还原工具各功能说明文档1.字符还原样例Dem
2021-09-23 11:28:54
2380
原创 AST反混淆实战-经典ob混淆
Ast实战:反混淆解析经典ob混淆一、混淆demo获取ob混淆源码来自猿人学14题https://match.yuanrenxue.com/api/match/14/mdemo.js//为便于阅读,仅进行格式化处理var $_0x5b3f = ['\x77\x34\x6a\x43\x68\x38\x4f\x4d', '\x77\x36\x44\x44\x6a\x6c\x34\x3d', '\x77\x71\x2f\x43\x67\x73\x4f\x74', '\x77\x37\x37\x
2021-09-23 10:38:55
2843
1
原创 AST反混淆实战-高级难度
Ast实战:反混淆解析高级难度ob混淆网站https://obfuscator.io/一、混淆demo生成二、混淆demo说明步骤相同-不在冗余详情参考:AST反混淆实战-中等难度https://jia666666.blog.youkuaiyun.com/article/details/120370610三、混淆demo整理步骤相同-不在冗余详情参考:AST反混淆实战-中等难度https://jia666666.blog.youkuaiyun.com/article/details/120370610
2021-09-18 17:50:03
3346
原创 AST反混淆实战-中等难度
Ast实战:反混淆解析中等难度ob混淆网站https://obfuscator.io/一、混淆demo生成二、混淆demo生成三、混淆demo整理demo.js//TODO 这里对混淆demo进行了手动调整顺序操作,为了便于阅读,进行了格式化处理操作function _0x3b9f() { var _0x2f0b48 = ['y29UC29Szq', 'C2vHCMnO', 'C3bSAxq', 'ChjVDg90ExbL', 'zhv4tu8', 'se5jvNq',
2021-09-18 17:31:26
2064
原创 AST反混淆实战-低级难度
Ast实战:反混淆解析低级难度ob混淆网站https://obfuscator.io/一、混淆demo生成二、混淆demo说明三、混淆demo整理demo.js//TODO 这里对混淆demo进行了手动调整顺序操作,为了便于阅读,进行了格式化处理操作function _0x49fa() { var _0x516a2d = ['{}.constructor(\x22return\x20this\x22)(\x20)', 'apply', 'log', 'construct
2021-09-18 16:47:29
1916
原创 AST反混淆实战-默认难度
Ast实战:反混淆解析默认难度ob混淆网站https://obfuscator.io/一、混淆demo生成二、混淆demo说明三、混淆demo整理demo.js//TODO 这里对混淆demo进行了手动调整顺序操作,为了便于阅读,进行了格式化处理操作function _0x339e() { var _0x42f2a4 = ['8Dxtvnv', '1912401YitxVl', '552360Kaxbyo', '14223690TRfrhE', '604168XFvLf
2021-09-18 16:12:40
883
原创 AST反混淆进阶-debugger保护及定时器删减
目的:删除ob混淆中debugger保护及定时器代码ob混淆网站https://obfuscator.io/demo.js//这里的demo来自上面网站按图操作混淆后的代码,为了便于阅读,这里在格式化处理后贴出function hi() { var _0x5601b0 = function () { var _0x26ef60 = !![]; return function (_0x4d783e, _0x3aac26) { v
2021-09-18 15:34:26
1215
原创 AST反混淆进阶-序列表达式还原
实现目的:序列表达式还原(禁用debugger处理前准备工作)处理前:(function () {}(), console['log']('Hello\x20World!'));处理后:(function () {}());console['log']('Hello\x20World!');demo.jsfunction hi() { (function () { }(), console['log']('Hello\x20World!'));}dec_main.j
2021-09-18 15:17:32
860
原创 AST反混淆进阶-对象属性字符合并
实现目的:对象属性字符合并(花指令处理前的准备工作之一)处理前:let aa={ 'bb':'ds'+'das',}处理后:let aa = { 'bb': "dsdas",};demo.jslet aa={ 'bb':'ds'+'das', 'cc':'ds'+'das'+'ds', 'dd':'ds'+'das'+'ds'+12,}dec_main.jsconst fs = require("fs");//文件读写const parse
2021-09-18 15:03:18
758
原创 AST反混淆进阶-禁用console输出功能删减
目的:删除ob混淆中禁用console输出功能的代码['log', "warn", "info", 'error', "exception", "table", "trace"]demo.jsfunction hi() { var _0x2337f2 = function () { var _0x80d366 = !![]; return function (_0x3b08ee, _0x3b5943) { v
2021-09-17 18:11:07
818
原创 AST反混淆进阶-标识符重复赋值
实现目的:将重复赋值的标识符进行替换,删减处理前: let a=3; let b=a; let c=b; let d=c;处理后: let a = 3; let d = a;demo.jslet a=3;let b=a;let c=b;let d=c;function hi() { var _0x4a763f = _0x33ba; console[_0x4a763f(0x121)](_0x4a763f(0x11f));}dec_main.jscon
2021-09-17 16:37:09
1242
原创 AST反混淆进阶-未修改常量替换
实现目的:将未修改的常量进行替换,删减处理前: let a=1; let b=2; let c=a+b;处理后: let c=1+2;demo.js//对未修改的常量进行替换var aa =4878 ;const bb = -5+5;let cc = global;let ff=aa+2;let jj="hello,AST!"var f = cc.console.log(jj);//默认对没有引用的常量的常量进行删除var ss=0;//对数组与字典不做处理,因为数组与
2021-09-16 10:28:16
857
原创 Ast反混淆进阶--前言
针对人群:1.js混淆逆向还原感兴趣的人群2.爬虫工程师水平要求:1.Ast语句基础入门(很重要)2.JavaScript语法入门(看懂就行)3.有独立查阅文档,解决问题的能力(面向百度编程)ob混淆网址:了解即可https://obfuscator.io/ast解析网址https://astexplorer.net/非常重要!非常重要!!是进行插件开发与ast语法树分析的最重要工具,没有之一选项如下所示帮助手册babel中文文档https://www.babelj
2021-09-15 17:16:22
1175
1
原创 ast反混淆进阶--大数组解密
实现目的:解密ob混淆大数组-提高阅读性注意:这里只做大数组解密工作,之后在ast反混淆实战会完整的将整个流程做一遍来自丁仔介绍文档ob混淆特征介绍:// 开头一个大数组var _0xa441 = ['\x49\x63\x4b\x72\x77\x70\x2f\x44\x6c\x67\x3d\x3d', ···]// 自执行函数对数组进行位移(function (_0x56a234, _0xa44115) { var _0x532345 = function (_0x549d7c)
2021-09-15 11:47:30
2819
2
原创 ast反混淆进阶--自执行空实参替换顺序语句
实现目的:自执行空实参替换顺序语句处理前:(function() { b = 123; c = 456;}())处理后:b = 123;c = 456;demo.js//第一种自执行无参数(function () { b = 123; c = 456; console.log(c);}());//第一种自执行带参数(function (a) { if (!a) { a = 10 } b = 123;
2021-09-15 10:57:08
546
原创 ast反混淆进阶--自执行实参替换形参
实现目的:自执行实参替换形参处理前: (function(_0xb28de8) { _0xb28de8.bbb = ccc; }(window))处理后: (function() { window.bbb = ccc; }())demo.jsfunction s() { let arr = [1, 2, 3, 4, 5, 6, 7, 8]; return arr;}(function (_0xb28de8, _0xb28de9,_0xb28de1
2021-09-15 09:17:36
945
原创 ast反混淆进阶--花指令处理
实现目的:字符花指令与函数花指令的处理处理前:var _0xb28de8 = { "abcd": function (_0x22293f, _0x5a165e) { return _0x22293f == _0x5a165e; }, "dbca": function (_0xfbac1e, _0x23462f, _0x556555) { return _0xfbac1e(_0x23462f, _0x556555); }, "aaa": function (_0x57e
2021-09-14 15:21:03
1811
原创 ast反混淆进阶--反控制流平坦化
实现目的:标识符简化处理前:var _0xb28de8 = "3|1|2".spilt("|"), _0x8de8b2 = 0;while(true) { switch(_0xb28de8[_0x8de8b2++]) { case '1': var a = 1; continue; case '2': var b = 3; continue;
2021-09-14 11:35:04
2123
1
原创 ast反混淆进阶--标识符简化
实现目的:标识符简化处理前: let a=1; let b=2; let c=a+b;解释:a,b被c使用,保留,c定义后,没有被使用,删除处理后: let a=1; let b=2;demo.jslet a=1;let b=2;let c=a+b;//a,b被使用,保留,c定义后,没有被使用,删除let dd,e,f;//定义后,未使用,删除function ffd(){ console.log('dad');}ffd();//函数ffd被使用,保留
2021-09-14 10:58:29
721
原创 ast反混淆进阶--成员表达式连接符变更
实现目的:成员表达式连接符变更处理前: console.log('12');处理后: console['log']('12');demo.jsconsole.log('12');window.s=1;console.log(new Date().format('yyyy-MM-dd'));dec_main.jsconst fs = require("fs");//文件读写const parse = require("@babel/parser"); //解析为astconst
2021-09-13 16:23:13
670
原创 ast反混淆进阶--数组简化
实现目的:数组简化处理前: var a=['test',1,s]; b=a[0];处理后: b='test';demo.jsvar a = ['test', {'l': 'fa'}, 12, 15, 'sta', s, m];c=a[4];function bb() { let s = 10; let m = {'ls': 45}; var a = [12, {'l': 'fa'}, 15, s, 'sta',m,'test',]; b = a[1]
2021-09-13 16:12:22
904
原创 AST反混淆进阶-Return函数简化
实现目的:return函数简化处理前: function bD2(cu, cv) { return cu||cv; } b=bD2(1,2);处理后: b=1||2;demo.js//开发任务5-return多级回调function bD1(cu, cv) { return cu+cv+cu['a'](cu,cv);}function bD2(cu, cv) { return cu||cv;}function bD3(cu, cv) { return cu['
2021-09-13 15:50:44
937
原创 AST反混淆进阶-常量计算
实现目的:常量计算处理前: var a = !![]; var b = "abc" == "bcd"; var c = 1 << 3 | 2; var d = parseInt("5" + "0")处理后: var a = true; var b = false; var c = 10; var d = 50;demo.jsvar a = !![];var b = "abc" == "bcd";var c = 1 << 3 | 2;var d = p
2021-09-13 15:49:53
859
原创 AST反混淆进阶-成员表达式字符合并
实现目的:成员表达式中的字符合并处理前:a['a'+'b=']=45;处理后:a['ab=']=45;demo.jsfunction test0() { let a = {}; a['s' + 'p;ldi'] = 1; a['a' + 1] = 'sd';}var b={};b['sd'+'45']='asd';dec_main.jsconst fs = require("fs");//文件读写const parse = require("@babel
2021-09-13 15:48:07
777
原创 AST反混淆进阶-对象合并
实现目的:将拆分的对象合并处理前: let a={}; a['b']=1;处理后: let a{'b':1};demo.jsfunction test0() { let a = {}; a['sp;ldi'] = 1; a['a1'] = 'sd'; a['jia']=function (a,b){return a+b;} a.b='dsd'+'ds';}let a={};a.s=5;dec_main.jsconst fs = req
2021-09-13 15:46:45
973
原创 AST反混淆进阶--字符解码
实现目的:将js中字符解码为可读行较高的字符//demo.js//还原前的字符var a='\x73\x70\x6c' + '\x69\x74';var b=0x10;var c='\u4EBA\u751F\u82E6\u77ED\uFF0C\u4F55\u5FC5python\uFF1F';//dec_main.jsconst fs = require("fs");//文件读写const parse = require("@babel/parser"); //解析为astcon
2021-09-13 15:42:45
1672
3D电子相册.zip
2020-08-25
Python 实战-从菜鸟到大牛的进阶之路(高清彩色pdf)
2018-08-19
python网络编程基础(高清pdf)
2018-08-19
python网络数据采集 高清pdf
2018-08-19
pyqt5快速开发与实战(源码)
2018-08-08
python从入门到实践pdf+源码
2018-08-06
python文本解析器
2018-08-06
python实现个性二维码
2018-08-06
学习笔记(python)
2018-07-27
简单的文字聊天室
2018-06-27
AST反混淆js还原工具2.3(20231219)
2023-12-19
AST反混淆js还原工具2.2(20230203)
2023-02-03
AST反混淆js还原工具2.0.zip
2022-04-20
AST反混淆js还原工具.zip
2021-09-23
密码学大作业.zip
2019-06-18
python实现的ping工具
2018-12-25
2018网络工程师考前必看考点
2018-11-07
Ubuntu18.04 网易云音乐
2018-09-23
2018网络工程师资源完整版
2018-09-19
简单的英汉互译(request+pyqt5)
2018-09-03
python全栈资源(详解视频+课件代码)
2018-09-01
ProxyPool地址池
2018-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人