09 2013 档案

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 堕落华为人 阅读(630) 评论(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 堕落华为人 阅读(382) 评论(0) 推荐(0)

【随记】Smali注入中Sleep代码注入
摘要:有时候比如想调试一个加载SO之后的代码,苦于SO只会在初始化时候加载上一次,等你把IDA Attach上之后就没了。可以考虑一下插入一个SMALI延时的代码,仿照Windows的Sleep函数(时延20秒):android.os.SystemClock.sleep(20000);其对应的SMALI也相当简单,就一句话:const-wide/16 v0, 0x2710 invoke-static {v0, v1}, Landroid/os/SystemClock;->sleep(J)V这里的v1其实是相对.locals 2而言的,如果.locals 4,那么就是v3了 阅读全文

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

【随记】Smali注入中利用Toast查看String
摘要:Android下面的代码:Toast.makeText(this, "test", Toast.LENGTH_LONG).show();对应的SMALI CODE为: const-string v4, "test" const/4 v5, 0x1 invoke-static {p0, v4, v5}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; move-result-object 阅读全文

posted @ 2013-09-10 16:51 堕落华为人 阅读(1893) 评论(0) 推荐(0)

【随记】Smali注入中查看int和boolean的方法
摘要:查看int,将变量转为String查看,需要添加2个寄存器: #sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const-string v2, "testout" invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String; 阅读全文

posted @ 2013-09-06 16:46 堕落华为人 阅读(1616) 评论(0) 推荐(0)

SMALI注入中新增调试日志输出
摘要:针对Android中Smali代码逆向分析,由于现在调试技术有限,一种相对简单的办法是在Smali中加入Log输出: const-string v3, "a" invoke-static {v3, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I这里面有几个需要注意的问题:1、v3或者自定义的其它寄存器,有可能被用于它用了处理方法:(1)选用一个在后面会重新赋值的寄存器: .line 27 const-string v3, "a" invoke-static {v3, 阅读全文

posted @ 2013-09-03 14:50 堕落华为人 阅读(2556) 评论(0) 推荐(0)

导航