2013年11月6日

反VM虚拟机代码学习

摘要: 在分析代码中遇到的反虚拟机代码,网上查了下资料顺便原帖在此:http://vrt-blog.snort.org/2009/10/how-does-malware-know-difference.html这里主要是反VM的代码,VMare里面按照帖子内容有个后门或者说彩蛋的东西,可以向I/O口发送特定的指令:mov EAX, 564D5868h ; VMXhxor EBX, EBX ; set EBX to anything but 0x564D5868 (in this case 0)mov CX, 0Ah ; Backdoor command. 10: Get VMware versi... 阅读全文

posted @ 2013-11-06 00:07 堕落华为人 阅读(851) 评论(0) 推荐(0) 编辑

2013年10月30日

基础脱壳学习笔记

摘要: 参考资料主要来自网络和视频,理解和笔记自己想的脱壳的步骤有:分析壳类型 → 找到OEP→DUMP脱壳→ 修复EIP本文记录的是找到OEP方面一些理解后的技巧方法一:单步跟踪法1.用OD载入,点“不分析代码”2.单步向下跟踪F8,实现向下的跳。也就是说向上的跳不让其实现!(通过F4)3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选)4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP6.在跟踪的时候,如果运行到某个C 阅读全文

posted @ 2013-10-30 02:53 堕落华为人 阅读(499) 评论(0) 推荐(0) 编辑

2013年10月9日

【经典漏洞分析】Android签名漏洞-1

摘要: 【漏洞分析】看雪有个帖子分析得已经很透彻了:http://bbs.pediy.com/showthread.php?t=175129这个漏洞本质是:Android安装文件的时候,在校验包的时候,没有考虑到重复打包的情况(同名文件的存在),因此对于校验签名部分就这么过了,而执行dex时候以第一个为准,因此可以利用其原始APK包的签名然后执行我们后加的破坏代码。【漏洞演示】这个漏洞的利用方式,这个帖子的PoC相对靠谱:https://github.com/poliva/random-scripts/blob/master/android/masterkey-apk-inject.sh具体代码:#! 阅读全文

posted @ 2013-10-09 17:58 堕落华为人 阅读(1806) 评论(0) 推荐(0) 编辑

Android获得UID的三个办法

摘要: 1、通过PackageManager:try { PackageManager pm = getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo("com.speedsoftware.rootexplorer", PackageManager.GET_ACTIVITIES); Log.d("!!", "!!" + ai.uid); Toast.makeText(MainActivity.this, Integer.toString(ai.uid,10), Toas 阅读全文

posted @ 2013-10-09 15:44 堕落华为人 阅读(21755) 评论(1) 推荐(1) 编辑

Designated Initializers

摘要: 在看Android的权限管理代码时候,看到一种初始化结构体的用法:struct su_request { unsigned uid; char *command;};static struct su_request su_to = { .uid = AID_ROOT, .command = DEFAULT_COMMAND,};这个前面的“.”很重要,不过我记得以前用VC的时候,好像没有这种情况。网上一查才知道,原来这个叫:Designated Initializers,也翻译为:指派初始化相关网站:http://gcc.gnu.org/onlinedocs/gcc/De... 阅读全文

posted @ 2013-10-09 12:12 堕落华为人 阅读(231) 评论(0) 推荐(0) 编辑

2013年10月8日

Android下的权限管理

摘要: ROOT是我们对于Android手机孜孜不倦的追求,不过ROOT其实也是个比较复杂的过程。抛去复杂的构思,从本质来看,就是通过一系列非常规的手段,比如溢出啊,或者一些系统级的BUG构造出获得“#”用户的权限,然后我们在获得ROOT权限后,为了保持这个权限,还需要做一些工作,即“权限管理”。手机在获得ROOT之后,一般会往手机中拷贝入两个文件,以保证后续的程序在申请ROOT权限的时候,能够方便的直接获取。一个是ROOT BIN:su-binary;另外一个是SuperUser.apk,包名是com.noshufou.android.su;据说这是个国人写的,虽然漏洞貌似不是它找的。su程序并不能 阅读全文

posted @ 2013-10-08 19:56 堕落华为人 阅读(2605) 评论(0) 推荐(0) 编辑

2013年10月3日

Java注入学习总结

摘要: 最近看到Android手机上金山毒霸实现了一个过滤广告的功能(也不确认是不是最早的),在注入过程中还包括JAR和dex注入,这让我产生了兴趣。有关金山的注入在看雪论坛上有简要的分析:http://bbs.pediy.com/showthread.php?t=166151这里主要是被JAR注入吸引到了,不知道JAVA原来也能玩注入。不过替换的本质我却产生了个误解:难道JAVA的方法能够被动态替换?当然后来问了达人,得到一个结论,C#和JAVA初始化的过程不是一样的,方法的动态替换。据说C#可以,但是JAVA不行。首先在网上搜索了一些有关JAVA注入的资料,有2套资料比较有帮助:1、xantoro 阅读全文

posted @ 2013-10-03 03:15 堕落华为人 阅读(3200) 评论(0) 推荐(0) 编辑

2013年10月2日

AndroidStdio代码支持显示中文的设置

摘要: AndroidStdio中经常出现Toast.show之后显示为乱码的情况,比如这个样子:这个时候,需要在该工程的build.gradle文件的android{...}中添加字段: tasks.withType(Compile) { options.encoding = "UTF-8" }如下图所示:这时候运行就能输出中文了: 阅读全文

posted @ 2013-10-02 21:11 堕落华为人 阅读(468) 评论(0) 推荐(0) 编辑

2013年9月16日

Android条件跳转指令总结

摘要: 非虫总结的,值得记录一下,很实用:if-eq Va,Vb , +CCCC → if(Va==Vb) goto +CCCCif-ne Va,Vb , +CCCC → if(Va!=Vb) goto +CCCCif-lt Va,Vb , +CCCC → if(VaVb) goto +CCCCif-le Va,Vb , +CCCC → if(Va=Vb) goto +CCCCif-eqz Va, +CCCC → if(Va==0) goto +CCCCif-nez Va, +CCCC → if(Va!=0) goto +CCCCif-ltz Va, +CCCC → if(Va0) ... 阅读全文

posted @ 2013-09-16 17:32 堕落华为人 阅读(612) 评论(0) 推荐(0) 编辑

慎重system函数的使用

摘要: 今天听同事汇报工作时候,说道堡垒机存在命令行漏洞,说在ping命令之后输入些别的可以执行其它命令。。。于是瞬间想到这个问题,比如如下代码:char cmdLine[256] = "ping 8.8.8.8 & shutdown -s";system(cmdLine);return 0;我们可以在ping完成之后执行shutdown -s,这就给了黑客可趁之机作攻击。比如如果把system换为WinExec函数,就不会出现这个情况,所以在输入命令提供接口的时候,还真心得为其形式把好关啊! 阅读全文

posted @ 2013-09-16 11:55 堕落华为人 阅读(370) 评论(0) 推荐(0) 编辑

导航