1.JS逆向 | 面向小白之eval混淆
2.html简单网页代码?
3.免杀动态对抗之syscall[源码分析]
4.Obfuscator-llvm源码分析
JS逆向 | 面向小白之eval混淆
本文旨在介绍JS逆向中的一种技巧——eval混淆。eval函数能够将字符串解析为代码并执行,跳转跳转这在代码混淆中被广泛利用。源码源码下面以一个实际案例来说明如何解析eval混淆。随机随机
案例:某市房产信息平台。跳转跳转访问网站后,源码源码批量打印pdf 源码点击某个小区会跳转到一个随机网址,随机随机但页面源代码中看不到网址信息。跳转跳转搜索“onclick=reurl(this)”发现该函数用于在点击时触发,源码源码其中reurl函数被eval混淆。随机随机
首先尝试将eval还原为console.log,跳转跳转输出结果到控制台。源码源码在浏览器控制台输入reurl函数并回车,随机随机得到原始的跳转跳转reurl函数代码。若还原失败,源码源码可直接在控制台输入reurl函数名,观察执行结果。在控制台中输入并执行reurl函数,进一步定位问题。微软源码大全视频
在本案例中,定位到reurl函数并复制到本地js文件中。通过下断点调试,观察变量a.id的值,进一步分析函数内部逻辑。复制相关代码并稍作修改,继续下断点,按F8让程序运行至下一行,直至完成所有函数的解析。
另一个案例:某变IP。通过F检查发现需要的数据在free.html中,但IP字段被加密。搜索目标函数(此处以FFcontraceptive为例)发现eval混淆,通过还原eval函数,得到原始代码。进一步搜索并解析base解码函数,最终获得解码后的IP值。
以上案例展示了如何通过控制台调试和本地代码分析,镜像站网页源码解析eval混淆,获取隐藏信息。实践过程中,使用断点调试、鼠标悬停查看变量值等技巧,有助于更深入地理解代码逻辑。
完整代码已上传至个人GitHub,欢迎下载并自行尝试。通过实践加深理解,遇到问题时可对照代码参考。欢迎关注微信公众号“逆向新手”,获取更多学习资源。
html简单网页代码?
HTML做一个打开网页代码
html的head区域中加上scriptlanguage="javascript"location.replace("")/script即可html
html代码如下:
head
title页面跳转/title
scriptlanguage="javascript"location.replace("")/script
/head
body
/body
/html
扩展资料:
网页HTML代码大全
文件类型HTML/HTML(放在档案的开头与结尾)
文件主题TITLE/TITLE(必须放在「文头」区块内)
文头HEAD/HEAD(描述性资料,像是「主题」)
文体BODY/BODY(文件本体)
(由浏览器控制的显示风格)
标题H?/H?(从1到6,有六层选择)
标题的对齐H?ALIGN=LEFT|CENTER|RIGHT/H?
区分DIV/DIV
区分的对齐DIVALIGN=LEFT|RIGHT|CENTER|JUSTIFY/DIV
引文区块BLOCKQUOTE/BLOCKQUOTE(通常会内缩)
强调EM/EM(通常会以斜体显示)
特别强调STRONG/STRONG(通常会以加粗显示)
引文CITE/CITE(通常会以斜体显示)
码CODE/CODE(显示原始码之用)
样本SAMP/SAMP
键盘输入KBD/KBD
变数VAR/VAR
定义DFN/DFN(有些浏览器不提供)
地址ADDRESS/ADDRESS
大字BIG/BIG
小字SMALL/SMALL
与外观相关的标签(作者自订的表现方式)
加粗B/B
斜体I/I
底线U/U(尚有些浏览器不提供)
删除线S/S(尚有些浏览器不提供)
下标SUB/SUB
上标SUP/SUP
打字机体TT/TT(用单空格字型显示)
预定格式PRE/PRE(保留文件中空格的大小)
预定格式的宽度PREWIDTH=?/PRE(以字元计算)
向中看齐CENTER/CENTER(文字与都可以)
网页设计常用HTML代码
网页设计常用HTML代码大全
HTML是用来描述网页的一种语言。下面我为大家分享HTML代码,希望对大家学习html代码有帮助!
忽视右键
bodyoncontextmenu="returnfalse"
或
bodystyle="overflow-y:hidden"
1.如何几秒后转到别的文件储存源码网站页面?
METAHTTP-EQUIV="Refresh"CONTENT="时间;URL=地址"
2.点击关闭窗口
ahref="javascript:top.window.close();"点击关闭窗口/a!
3.请问如何去掉主页右面的滚动条?
bodyscroll="no"
bodystyle="overflow-y:hidden"
4.请问如何做到让一个网页自动关闭.
html
head
OBJECTid=closestype="application/x-oleobject"classid="clsid:adba6-d8ff-cf--aab7a"
paramname="Command"value="Close"
/object
/head
bodyonload="window.setTimeout(‘‘‘‘closes.Click()‘‘‘‘,)"
这个窗口会在秒过后自动关闭,而且不会出现提示./body
如何在不刷新页面的情况下刷新css?
style
button{ color:#;}
/style
buttononclick=document.styleSheets[0].rules[0].style.color=‘‘‘‘red‘‘‘‘点击按钮直接修改style标签里button选择符使按钮改为红色/button
请问如何让网页自动刷新?
在head部记入METAHTTP-EQUIV="Refresh"content=""其中为秒后自动刷新,你可以更改为任意值。
5.如何让页面自动刷新?
方法一,用refresh
HTML代码片段如下:
head
metahttp-equiv="refresh"content="5"
/head
5表示刷新时间
[Ctrl+A全部选择提示:你可先修改部分代码,再按运行]
方法二,使用setTimeout控制
imgsrc=/logo.gif
script
functionrl(){
document.location.reload()
}
setTimeout(rl,)
/script
6.如何让超链接没有下划线
在源代码中的HEAD…/HEAD之间输入如下代码:
styletype="text/css"!--
a{ text-decoration:none}
--/style
7.请问如何去掉IE的上下滚动条?
bodystyle=‘‘‘‘overflow:scroll;overflow-y:hidden‘‘‘‘
/body
8.怎样才能把RealPlayer文件在网页做一个试听连接?
embedheight=src=js.rmtype=audio/x-pn-realaudio-pluginwidth=autostart="false"controls="PlayButton"
9.如何用html实现浏览器上后退按钮的功能?
ahref="javascript:history.go(-1)"点击后退/a
或者
scripthistory.back()/script
.请问怎么在网页中改变鼠标的箭头形状?
HTML代码片段如下:
body
ahref="#"style="cursor:auto;"auto/abr
ahref="#"style="cursor:crosshair"crosshair/abr
ahref="#"style="cursor:default"default/abr
ahref="#"style="cursor:hand"hand/abr
ahref="#"style="cursor:move"move/abr
ahref="#"style="cursor:e-resize"e-resize/abr
ahref="#"style="cursor:ne-resize"ne-resize/abr
ahref="#"style="cursor:nw-resize"nw-resize/abr
ahref="#"style="cursor:n-resize"n-resize/abr
ahref="#"style="cursor:se-resize"se-resize/abr
ahref="#"style="cursor:sw-resize"sw-resize/abr
ahref="#"style="cursor:s-resize"s-resize/abr
ahref="#"style="cursor:w-resize"w-resize/abr
ahref="#"style="cursor:text"text/abr
ahref="#"style="cursor:wait"wait/abr
ahref="#"style="cursor:help"help/abr
/body
.怎样不使用页面的缓存?即每一次打开页面时不是调用缓存中的东西
METAHTTP-EQUIV="Pragma"CONTENT="no-cache"
.页面打开时自动弹出一个窗口的代码怎么写?
HTML代码片段如下:
html
head
titleUntitledDocument/title
metahttp-equiv="Content-Type"content="text/html;charset=gb"
scriptlanguage="Bstyle="color:black;background-color:#A0FFFF"javascript/B"
!--
functionMM_openBrWindow(theURL,winName,features){ //v2.0
window.open(theURL,winName,features);
}
//--
/script
/head
bodybgcolor="#FFFFFF"text="#"onLoad="MM_openBrWindow(‘‘‘‘‘‘‘‘,‘‘‘‘,‘‘‘‘width=,height=‘‘‘‘)"
/body
/html
.如何让我的页面出现一个会讲话的小人?Merlin
HTML代码片段如下:
HTML
HEAD
TITLE默林/TITLE
METAhttp-equiv=Content-Typecontent="text/html;charset=gb"
/HEAD
BODY
pOBJECTid=simsclassid=CLSID:DFDB-5C6E-D1-9EC1-CFDF
/OBJECT
SCRIPT
varMerlinID;
varMerlinACS;
sims.Connected=true;
MerlinLoaded=LoadLocalAgent(MerlinID,MerlinACS);
Merlin=sims.Characters.Character(MerlinID);
Merlin.Show();
Merlin.Play("Surprised");
Merlin.Speak("大家好");
Merlin.Play("GestureLeft");
Merlin.Think("我是默林!");
Merlin.Play("Pleased");
Merlin.Think("可爱吗?");
Merlin.Play("GestureDown");
Merlin.Speak("哈哈!");
Merlin.Hide();
functionLoadLocalAgent(CharID,CharACS){
LoadReq=sims.Characters.Load(CharID,CharACS);
return(true);
}
/SCRIPT
/p
p/p
p看此效果必须装有office!!!/p
/BODY
/HTML
.在页面中如何加入不是满铺的背景,拉动页面时背景图不动
HTML代码片段如下:
htmlhead
STYLE
body{ background-image:url(logo.gif);
background-repeat:no-repeat;background-position:center}
/STYLE
/head
bodybgproperties="fixed"
/body
/html
[Ctrl+A全部选择提示:你可先修改部分代码,再按运行]
background-repeat:no-repeat;是让背景图不占满整个页面
bodybgproperties="fixed"是拉动scroll时背景图不动
.文本输入框什么属性能实现不可输入?
HTML代码片段如下:
inputtype="text"name="textfield"disabled
或者
inputtype="text"name="textfield"readonly
.如何禁止自己的页面在别人的框架里打开?
把以下代码加至你的head区
script
if(window.top!=self){
window.top.location=self.location
}
/script
.如何实现首页全屏幕显示?
HTML代码片段如下:
html
bodyscriptlanguage="Bstyle="color:black;background-color:#A0FFFF"javascript/B"
varcoolw=
varcoolh=
varcoolhuang=window.open("","coolhuang","width="+coolw+",height="+coolh+",
fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0")
window.close()
/script/body/html
.如何监听一个窗口被关闭了?
HTML代码片段如下:
bodyonunload="alert(‘‘‘‘你关闭了这个窗口‘‘‘‘)"
.如何禁止Ctrl+N?
HTML代码片段如下:
bodyonkeydown=return(!(event.keyCode==event.ctrlKey))
如何把页面加入用户的收藏夹?
HTML代码片段如下:
ahref="Bstyle="color:black;background-color:#A0FFFF"javascript/B:window.external.AddFavorite(‘‘‘‘‘‘‘‘,‘‘‘‘无忧脚本‘‘‘‘)"收藏无忧脚本/a
如何在我的'页面中加入背景音乐?
IE:bgsoundsrc="*.mid"loop=infinite
NS:embedsrc="*.mid"autostart=truehidden=trueloop=true
*.mid你的背景音乐的midi格式文件
关于页面转换效果
metahttp-equiv="page-enter"content="revealTrans(Duration=4,Transition=)"
或
metahttp-equiv="page-exit"content="revealTrans(Duration=4,Transition=)"
说明:Transition=是随机效果,另可以选0-任一数字固定某个效果
如何设定打开页面的大小
HTML代码片段如下:
bodyonload="top.resizeTo(,);"!--(width,height)--
怎样双击滚屏,单击停止?
HTML代码片段如下:
html
head
title新网页1/title
/head
body
scriptlanguage"Bstyle="color:black;background-color:#A0FFFF"javascript/B"
varcurrentpos,timer;
functioninitialize()
{
timer=setInterval("scrollwindow()",);
}
functionsc(){
clearInterval(timer);
}
functionscrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if(currentpos!=document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
/script
pa/ppa/ppa/ppaa/ppaa/ppaa/p
paa/ppaa/ppaa/ppaa/ppaa/ppaa/p
paa/ppaa/ppaa/ppaa/ppaa/ppaa/p
paa/ppaa/ppaa/ppaa/ppa/p
/body
/html
如何让body中的文字不被选中?
HTML代码片段如下:
bodyonselectstart="returnfalse"aaa/body
如何让弹出的窗口不能关闭?
在新开的窗口中加入如下代码
bodyonunload=open(location.href)
/body
如何让浏览器在保存页面时保存失败?
HTML代码片段如下:
NOSCRIPT
Bstyle="color:black;background-color:#ffff"IFRAME/BSRC="*.html"
/Bstyle="color:black;background-color:#ffff"IFRAME/B
/NOSCRIPT
表单中如何用按钮实现reset?
html
head
script
functionaaa(){
document.forms[0].reset()
}
/script
/head
body
form
textarearows="2"name="S1"cols=""/textarea
inputtype="submit"values="提交"name="B1"
imagesrc="logo.gif"onclick=aaa()
/form
/body/html
进入网页时弹出的信息对话框
bodyonLoad="window.alert(‘‘‘‘欢迎光临本站‘‘‘‘)"
关闭窗口后弹出对话框
bodyonUnload="window.alert(‘‘‘‘谢谢你的光临!欢迎下次再来!‘‘‘‘)"
告别提示
bodyonUnload=alert("再见,感谢你的访问!")
右键菜单的制作
OBJECTid=menutype="application/x-oleobject"classid="clsid:adba6-d8ff-cf--aab7a"
PARAMname="Command"value="RelatedTopics,menu"
PARAMname="Item1"value="动易;"
PARAMname="Item2"value="搜狐;"
PARAMname="Item3"value="新浪;"
PARAMname="Item4"value="网易;"
PARAMname="Item5"value="互动学院;"
/OBJECTscriptif(document.all)document.body.onmousedown=newFunction("if(event.button==2)menu.Click();")/script
下拉菜单
objectid=HHCtrltype="application/x-oleobject"classid="clsid:adba6-d8ff-cf--aab7a"PARAMname="Command"value="RelatedTopics,Menu"PARAMname="Item1"value="aspease;"PARAMname="Item2"value="byhu;"PARAMname="Item3"value="lzz;"/objectahref=javascript:HHCtrl.Click()title="下拉菜单"下拉菜单/a
html简单网页代码怎么写?1、在电脑桌面空白处单击右键,最佳scr指标源码新建一个记事本并打开
2、在新建文件中输入如下代码。html语言都是以htmlheadtitlebody等标签开始,以/html/head/title/body标签作为结束。
3、接下来要在title/title标签中间输入标题(如个人网页)在body/body中输入“自己做的第一个网页,厉害吧!”完成后点击保存
免杀动态对抗之syscall[源码分析]
基础概念
操作系统分为内核和应用层,从R0-R3,R0是内核,R3是用户层。Windows中日常调用的API都是R3抽象出来的接口,虽然Win API它也是R3接口,但由于Windows的设计思想就是高度封装,实际上的R3 API是ntdll.dll中的函数。
我们调用的Win API都是kernel.dll/user.dll中的函数,最终都要经过ntdll.dll。
逆向学习一个函数,选定CreateThread,ntdll中的对应函数是NtCreateThread。可以看到首先给eax赋值(系统调用号SSN),然后再执行syscall。
EDR的工作原理是对Windows API进行hook。一般使用inline hook,即将函数的开头地址值改成jmp xxxxxxx(hook函数地址)。知道了syscall的调用模板,自己构造syscall(获取SSN,syscall),即可绕过EDR对API的hook。
学习不同项目对应的手法,如HellsGate、TartarusGate、GetSSN、SysWhispers等。这些项目通过遍历解析ntdll.dll模块的导出表,定位函数地址,获取系统调用号SSN,实现动态获取SSN。
使用直接系统调用或间接系统调用,如SysWhispers系列项目的直接系统调用(手搓syscall asm)和间接系统调用(使用用户态API,如kernel.dll中的API)。系统调用号SSN在不同版本的系统下是不一样的,可以参考相关技术博客整理的列表。
SysWhispers2使用随机系统调用跳转(Random Syscall Jumps)避免“系统调用的标记”,通过SW__GetRandomSyscallAddress函数在ntdll.dll中搜索并选择一个干净的系统调用指令来使用。
SysWhispers3引入了egg技术(动态字符替换,汇编指令层次的混淆)和支持直接跳转到syscalls,是spoof call的变体,绕过对用户态asm文件syscall的监控。
HWSyscalls项目通过kernel gadget,跳到ntdll.dll中做间接syscall,更彻底地实现了间接系统调用。
这些项目的实现涉及软件中自定义堆栈流程、硬件断点等技术,通过内核函数调用、动态字符替换、异常处理机制等,绕过EDR检测和系统调用监控,实现免杀动态对抗。
Obfuscator-llvm源码分析
在逆向分析中,Obfuscator-llvm是一个备受关注的工具,它通过混淆前端语言生成的中间代码来增强SO文件的安全性。本文主要讲解了Obfuscator-llvm的三个核心pass——BogusControlFlow、Flattening和Instruction Substitution,它们在O-llvm-3.6.1版本中的实现。
BogusControlFlow通过添加虚假控制流和垃圾指令来混淆函数,其runOnFunction函数会检查特定参数,如混淆次数和基本块混淆概率。在测试代码中,它会将基本块一分为二,插入随机指令,形成条件跳转,如“1.0 == 1.0”条件下的真跳转和假跳转。
Flattening通过添加switch-case语句使函数结构扁平化,runOnFunction会检查启动标志。在示例代码中,它将基本块分隔,创建switch结构,并根据随机值跳转到不同case,使函数执行流程变得复杂。
Instruction Substitution负责替换特定指令,runOnFunction会检测启动命令,遍历所有指令并随机应用替换策略,如Add指令的多种可能替换方式。
虽然O-llvm提供了一定程度的混淆,但仍有改进空间,比如增加更多的替换规则和更复杂的跳转策略。作者建议,利用O-llvm的开源特性,开发者可以根据需求自定义混淆方法,提高混淆的复杂性和逆向难度。
最后,对于对Obfuscator-llvm感兴趣的读者,可以参考《ollvm的混淆反混淆和定制修改》的文章进一步学习。网易云安全提供的应用加固服务提供了试用机会,对于保护软件安全具有实际价值。
更多关于软件安全和源码分析的内容,欢迎访问网易云社区。
cloud mining 源码
clover源码
osa 源码
graphlab源码
以軍襲擊加沙一流離失所者收容學校 已致22人死亡
adbclient源码