调试AOSP Java 代码
下载 Android 源代码,编译 12345$ source build/envsetup.sh$ lunch$ make$ mmm development/tools/idegen/$ ./development/tools/idegen/idegen.sh 运行后将生成下面几个文件 123android.ipr (IntelliJ / Android Studio)android.iml (IntelliJ / Android Studio).classpath (Eclipse) 在Android Studio 中导入 android.ipr File -> Open 选择 android.ipr, 导入后可以Android Studio 中浏览AOSP 源码 设置远程调试配置文件 Run -> Edit Configuration 点击左上角的 + 类型选择 Remote Attack 到需要调试的进程 这里有两种方法,一是使用SDK 提供的 Monitor 二是使用 Android Studio 自带的Attach debugger t...
Oracle Database身份验证协议安全限制绕过漏洞(CVE-2012-3137)
12345678910111213NSFOCUS ID: 20847BUGTRAQ ID: 55651CVE ID: CVE-2012-3137远程漏洞: 是本地漏洞: 是漏洞类型:漏洞影响: 远程攻击者可以密码进行离线密码暴力破解危险指数: 高创建时间: 2012-9-27更新时间:攻击代码: 无跟踪工程师: zz 漏洞概述:Oracle是一款广泛被使用的商业数据库。 Oracle O5LOGON认证协议存在漏洞,这个漏洞可以使攻击者离线暴力破解Oracle数据库密码,从而访问受保护的Oracle数据库中的数据。要利用这个漏洞攻击者只需要知道一个合法的数据库用户名和一个正确的数据库名(SID),不需要使用中间人攻击。 Martinez Fayo 在2010年5月向Oracle报告了这个问题,Oracle在2011年的中期通过patch set 11.2.0.3修复了这个漏洞,使用了新版本的协议。但是Oracle没有在 11.1和11.2 中修复这个问题,因此这些版本仍然存在漏洞。 由于...
编译 Android 系统源码 (AOSP)
☆ 1. 下载源码由于众所周知的原因,国内访问 Android 源码不大方便, 清华大学做了一件好事, 弄了个 mirror。 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 下载 repoGoogle 自己搞一个源码同步工具,需要下下载。 1234mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo 上面命令,下载 repo 并将 ~/bin 加入 PATH 环境变量 使用每月更新的初始化包123456wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包tar xf aosp-latest.tarcd AOSP # 解压得到的 AOSP 工程目录# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录...
Bankbot APK 样本分析
0x00 样本概况 字段 内容 样本名 BankBot MD5 3c42c391bec405bb28b28195c2961778 SHA256 93b64019ee48177889d908c393703a2a2fe05ca33793c14b175467ce619b1b94 文件类型 APK 这是一个以盗窃信用卡用户密码为主要目的的bot。安装后显示为Android图标。打开App后会以Android系统更新的形式,诱导用户操作达到常驻系统的目的。 0x01 行为分析开机自启动123456789101112<receiver android:name="com.android.market.Autorun"> <intent-filter android:priority="999"> <action android:name="android.intent.action.REBOOT" /> <action androi...
Linux 下使用百度网盘
百度网盘在国内很大概率是绕不过去,稍大点文件都喜欢用百度网盘给下载地址。可是百度网盘下载是限速的,而且对 Linux 用户非常不友好,我的 Fedora 装上 rpm 包也用不了,直接崩溃,所以得想点其他办法。 1. 官方安装包 (不一定都能使用)官方提供了 deb 和 rpm 格式安装包 http://issuecdn.baidupcs.com/issue/netdisk/LinuxGuanjia/3.0.1/baidunetdisk_linux_3.0.1.2.rpmhttp://issuecdn.baidupcs.com/issue/netdisk/LinuxGuanjia/3.0.1/baidunetdisk_linux_3.0.1.2.deb 但是在 Fedora 安装后,会报错误。 2. BaiduPCS-Go (百度网盘客户端 - Go语言编写)https://github.com/iikira/BaiduPCS-Go 2.1 登录./BaiduPCS-Go login -bduss=xxxxx 2.2 设置并发1> config set ...
Android 获取进程的 backtrace 信息
☆ 使用kill 发送 SIGNAL_QUIT这种方法只能用于zygote 的子进程 (比如所有的 app 进程, 都是由zygote fork 而来). 1234567891011121314151617181920212223242526272829303132333435363738# kill -3 pid# cat /data/anr/traces.txt...suspend all histogram: Sum: 290us 99% C.I. 2us-40us Avg: 14.500us Max: 40usDALVIK THREADS (12):"Signal Catcher" daemon prio=5 tid=2 Runnable | group="system" sCount=0 dsCount=0 obj=0x32c070a0 self=0xaecca000 | sysTid=1918 nice=0 cgrp=bg_non_interactive sched=0/0 handle=0xb4406930 | sta...
关于定投的一些思考
定投只有在低估的时候买,当估值进入中位数以上就不要买了,同时定投标的的估值应该在历史底部区域。 定投的本质不是价值投资,而是相信估值回归中位数。 指数基金,周期性行业适合定投,比如券商,钢铁,煤炭。一般按时间定投,如果大幅下跌也要买。 总的来说定投属于策略型的投资方法,其实并不知道底和顶在哪里,通过拉长时间来降低持仓成本,因此定投成功的关键在于你的成本是否可以随着时间而降下来。从这点也可以分析出在底部区域定投比在顶部区域定投要好得多,这也就是第一条。 定投策略对历史的估值情况有很强的依赖,属于基于历史数据的统计分析,但是每一次的情况都不同,没有人可以保证历史一定会重演。定投也不是价值投资,没有护城河,只是相信均值回归,这是第二条。 巴菲特非常推荐标普500指数 (S&P 500) 定投,指数基金最牛的地方是股票会定期调整,把好的股票加入进来,差的淘汰出去,相当于有人帮你选股了,另外足够分散,发生系统性风险的概率大幅降低。周期性行业则是爆发性很强,三年不开张,开张吃三年,容易在底部积累大量筹码,作为一个长期投资策略非常合适。
AS3 Sorcerer 3.0 破解思路
AS3 Sorcerer是一款flash action Script的商业反编译软件。 www.as3sorcerer.com 软件为Delphi编写,加了未知壳,使用PEID 0.94无法正确查出,使用核心扫描发现是 Delphi编写,这个软件有一个特点修改一个字节就报错。由于时间原因没有具体跟相关代码。 破解方法使用LPK.dll动态修改as3.exe内存达到破解目前,在Windows Xp下比较完美, 在Windows 7下已经无法通过LPK.dll进行DLL hijack,可以通过DLL注入达到同样的目的。 难点有几个,OD加载报错,attack也报错。使用海风月影的StrongOD可以正常attach。 OD 1.1目前最大的问题是插件冲突严重,安装了OllyAdv后,无法成功加载as3.exe. 遇上强壳时可以使用phantom的protect DRx,可以解决一下问题,总之要尽量避免冲突。 接下来的难点就是如何找到破解的关键点,进行内存patch。 使用OD查找字符串参考Unicode,搜索trial 123450...
使用Android Studio 调试无源码apk程序
Apk无源码调试的方法有很多,现在发现使用Android Studio 结合 JEB 感觉良好,主要是参考 http://www.jianshu.com/p/c7899e5ea182 这篇记录下了具体步骤。 1. 下载 smalideahttps://bitbucket.org/JesusFreke/smali/downloads/smalidea-0.03.zip 在Android studio的插件仓库中没有找到这个插件,需要下载本地安装File -> Settings -> Plugins -> Install plugin from disk 选择下载的插件,重启后生效。 2. apktool 输出源码文件https://github.com/iBotPeaches/Apktool/releases/download/2.2.0/apktool_2.2.0.jar 1java -jar apktool_2.2.0.jar d -f xx.apk -o xx 如果正常的将输出 smali 源码文件 3. Android Studio 导入源码File ...
一些反沙盒的新技术
Upatre 使用了一些新的逃逸技术来逃逸动态沙盒引擎的检查,这些技巧都非常的简单,但是非常的有效果。事实上,VirusTotal上Upatre的检出率并不高,新变种出来基本都检测不出来,说明现在的恶意软件对付杀毒软件是越来越有办法了。 目前在恶意软件上加壳倒是越来越少了,因为加壳容易引起杀软引擎的注意,相反地目前的恶意软件大量使用边执行边修改自身代码的方法来躲避杀软,不执行的话看起来就像是一个正常的软件,而真正执行起来代码却全变了,这也算是一种进化。 下面说说两种最近遇到的沙盒逃逸的办法,样本md5: ac3558b973402ef6a27e03c391f20533 检查开机时间一般使用沙盒的分析引擎的做法都是安装一个全新的系统,做系统镜像。然后在检查的时候加载镜像,执行样本。而开机的时间往往都被忽略了,基本都不会超过10分钟。 Upatre 样本所采取的方法是利用GetTickCount 获取开机的毫秒数,当开机时间小于12分钟是就不执行恶意的行为。 12345678004013B3 BB D8FE0A00 MOV EBX,0AFED8004013B8 ...