0x00 背景
还原使用IL2CPP编译的unity游戏的symbol(一)中介绍了如何还原il2cpp里的字符串,这篇文章将介绍如何还原函数名类名等符号。
公司的IT部门根据安全策略关闭了我的mac的internet share功能,但是工作中我需要用到这个功能,不想麻烦IT部门,就自己把这个限制给解除了。
Continue reading
使用unity开发iOS游戏的都知道,如果使用IL2CPP选项编译unity游戏,会生成CPP代码,然后再从CPP代码编译成可执行文件。使用这种方式编译出的iOS游戏非常难以逆向破解,因为你得去阅读arm汇编。更糟的是所有游戏中使用的字符串都被保存在了一个叫global-metadata.dat的资源文件里,只有在动态运行时才会将这些字符串读入内存。这使得用IDA对游戏进行静态分析变得更加困难,于是我写了这么一个IDA插件,可以从global-metadata.dat里提取出字符串,赋值给IDA中相应的变量。
Continue reading
最近在做一个函数的app的脱壳,记录一下遇到的坑。
Continue reading
对于Linux系统,有下表:
ASLR Level | -fPIC -pie | Code | Stack | Heap | comment |
---|---|---|---|---|---|
0 | Yes | Fixed | Fixed | Fixed | None |
0 | No | Fixed | Fixed | Fixed | None |
1 | Yes | Rand | Rand | Rand | Base address of heap is located immediately after the end of code segment |
1 | No | Fixed | Rand | Fixed | Base address of heap is located immediately after the end of code segment |
2 (default) | Yes | Rand | Rand | Rand | Base address of heap is fully randomized and has nothing to do with code segment |
2 (default) | No | Fixed | Rand | Rand | Base address of heap is fully randomized and has nothing to do with code segment |
Android上使用frida比iOS稍微麻烦些,这里仅说一下一些坑。另外再贴一个使用cydia substrate进行hook的文章链接。
easy_install frida
,pip install frida
的frida无法正常工作,frida-ps -U
时会显示"failed to create process"。
启动frida-server后还要进行端口转发。
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
有些人不知道,其实cydia substrate不光能在iOS上用,还能在安卓上用。
非常好的文章:https://koz.io/android-substrate-c-hooking/
以defcon 2016的kiss为例,介绍一点gdb使用技巧。
Continue reading
<script>
tag 不会触发xss, 但是javascript scheme会被触发,下面这个例子里,只有alert(2)被触发了。
<div id = "tag1"> </div>
<div id = "tag2"> </div>
<script> document.getElementById("tag1").innerHTML="<script>alert(1)<\/script>"</script>
<script> document.getElementById("tag2").innerHTML="<iframe src='javascript:alert(2)'><\/iframe>"</script>
这个行为在HTML5中已经标准化https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML#Security_considerations。
Continue reading