独角兽

UNICORN模拟ARM遇到的问题记录

匿名 (未验证) 提交于 2019-12-03 00:19:01
ARM指令为4字节 THUMB指令为2字节 THUMB2 指令可能是2字节,也可能是4字节 (通过PC的最低bit位来检测) 在使用UNICORN模拟器 THUMB2 的时候,返回 UC_ERR_INSN_INVALID一定要检查当前设置PC值是不是正确 因为在unicorn_arm.c中对于 reg_write写入PC寄存器的时候 case UC_ARM_REG_R15: 会通过检测PC寄存器的最低bit 为0或者1来确定当前是属于THUMB模式还是ARM模式 然后设置当前环境的模式。 所以如果是出于THUMB模式。一定要在PC上面+1。也就是说写PC寄存器的时候值应该为奇数 比如 err = uc_emu_start(uc, BASE + 0x12E2c + 1, BASE + 0x1BE64, 0, 0); 问题2 这是因为CPU是支持浮点操作的。但是UNICORN中浮点操作还没有开启。 所以要通过设置寄存器开启VFP uint64_t tmp_val; err = uc_reg_read(uc, UC_ARM_REG_C1_C0_2, &tmp_val); if (err) { printf("uc_open %d\n", err); break; } tmp_val = tmp_val | (0xf << 20); err = uc_reg_write(uc, UC

【Git】 GitLab配置优化及汉化

匿名 (未验证) 提交于 2019-12-02 23:03:14
GitLab配置   1、修改GitLab绑定的域名     a、修改/etc/gitlab/gitlab.rb配置文件,修改成自己的域名 1 external_url 'http://gitlab.example.com'     b、使配置生效       停止服务命令: gitlab-ctl stop       配置生效命令: gitlab-ctl reconfigure     c、启动服务       命令: gitlab-ctl start   2、修改GitLab仓库存储位置,GitLab仓库默认位子:/var/opt/gitlab/git-data     a、创建/data/soft/gitlab/gitlab-data目录,作为仓库存储目录       命令: mkdir /data/soft/gitlab/gitlab-data     b、修改gitlab配置文件,找到git_data_dir       命令: vim /etc/gitlab/gitlab.rb       增加内容: 1 git_data_dirs({ 2 "default" => { 3 "path" => "/data/soft/gitlab/gitlab-data" 4 } 5 })       停止服务命令: gitlab-ctl stop       配置生效命令:

侧信道攻击,从喊666到入门之——错误注入攻击白盒

淺唱寂寞╮ 提交于 2019-12-02 02:09:58
作者:backahasten 上文中 ,我们介绍了有关 Unicorn 的使用,为了避免只造轮子不开车的现象出现,我们就用 Unicorn 来亲手攻击一个 AES 白盒。 我选取了 CHES 2016 竞赛中的 AES 白盒,这个白盒非常白,甚至给了源码,代码和程序可以在 这里 找到。这个链接还包含里 Writeup ,但是其中使用的工具很老了,还是 python2 的代码,并且使用的执行引擎是 PIN ,如果是 ARM 的安卓 APP 里的白盒就没办法了。 我选取了 CHES 2016 竞赛中的 AES 白盒,这个白盒非常白,甚至给了源码,代码和程序可以在 这里 找到。这个链接还包含里 Writeup ,但是其中使用的工具很老了,还是 python2 的代码,并且使用的执行引擎是 PIN ,如果是 ARM 的安卓 APP 里的白盒就没办法了。 啊呜,数学 !!!!!!!!!所有计算均在——有限 域 GF( 2^8 )!!!!!!!! 在进行白盒破解之前,我们看一下错误注入的原理是什么。 对于AES128来说,错误注入的目标在第九轮的 MixColumns 计算之前,第九轮的 MixColumns 计算之前的数据假设是这个样子的: 假设我们的错误正好命中了第一个字节,则数据流变成了: 之后,数据流会依次进入 MixColumns AddRoundKey K 9 SubBytes

HTTP 502: Whoops, GitLab is taking too much time to respond.

久未见 提交于 2019-11-30 07:43:33
HTTP 502: Whoops, GitLab is taking too much time to respond. 小周啊 2018-11-02 09:51:57 浏览4364 系统研发与运维 PostgreSQL 服务器 日志 LOG 配置 reduce request ruby database gitlab 这次排错过程主要是思路,视野打开后会觉得豁然开朗,原来这其实是个小问题[尴尬]。 1、没注重应用启动的各服务及其用途,只会简单查看 status; 2、看到错误第一时间想到的是 Baidu(没其他意思),找找 logpath 先看日志不好吗? 3、未认识到服务之间的关联关系(比如 postgresql 与 unicorn 之间),前面一直知道 unicorn 启动后没正常监听到端口,但是日志并没啥特别信息(嗯,可能是因为看错了文件)[苦笑] 一、错误信息 二、排错过程 1、启动 unicorn 未监听端口 日志路径 : /var/log/gitlab/unicorn/unicorn_stderr.log PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on

巨杉数据库再夺“广州独角兽”称号

a 夏天 提交于 2019-11-29 23:23:21
2019年6月14日,由广州市科学技术局指导、广州市科技创新企业协会、《快公司FastCompany》联合主办的2018年独角兽创新企业颁牌暨2019广州“发现独角兽”创新企业项目启动仪式在广东迎宾馆顺利举办。 巨杉数据库再获“独角兽”企业称号。 2018年12月,广州市科创企业协会公示了 “独角兽”创新企业榜单遴选结果。榜单涵盖40家企业,覆盖大数据、云计算、信息技术、物联网、生物医药、人工智能、智能硬件、新能源、新材料、先进制造等战略性新兴产业。云从科技、极飞科技、亿航智能、巨杉数据库等创新型独角兽企业跃然在榜。 作为领先的新一代分布式数据库厂商,巨杉数据库一直坚持产品的自研,在过去一年中,技术和产品保持创新,相继发布了3.0和3.2版本,全面增强OLTP业务性能。在市场端,巨杉数据库再接再厉,在金融标杆行业已经逐渐建立壁垒,同时在金融核心业务应用场景上不断增强。可以说,巨杉在科技创新独角兽的道路上,步伐越来越扎实。 关于巨杉: 巨杉数据库专注新一代分布式数据库技术研发,自2011年成立以来,坚持从零开始打造分布式开源数据库引擎,是中国首家连续两年入选 Gartner 数据库报告的数据库厂商。 巨杉数据库的主要产品包括 SequoiaDB 分布式关系型数据库与 SequoiaCM 企业内容管理软件,应用场景包括分布式在线交易、数据中台、分布式内容管理等。 目前

gitlab 11.3.0 迁移至 docker 版本gitlab 11.8.1

扶醉桌前 提交于 2019-11-25 22:00:36
本次环境如下 新的gitlab 环境 操作系统: Centos 7.6 x86_64 4.4.176-1.el7.elrepo.x86_64 # rpm -qa|grep kernel kernel-lt-4.4.176-1.el7.elrepo.x86_64 kernel-lt-devel-4.4.176-1.el7.elrepo.x86_64 kernel-lt-tools-libs-4.4.176-1.el7.elrepo.x86_64 kernel-lt-headers-4.4.176-1.el7.elrepo.x86_64 kernel-lt-tools-4.4.176-1.el7.elrepo.x86_64 kernel-lt-doc-4.4.176-1.el7.elrepo.noarch kernel-lt-tools-libs-devel-4.4.176-1.el7.elrepo.x86_64 Docker: Server: Docker Engine - Community Engine: Version: 18.09.3 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 774a1f4 Built: Thu Feb 28 06:02:24 2019 OS/Arch: