柴静离职央视,有人说强大如柴静这样的记者已经不需要央视这个平台了。直到今天,柴静带着她的《雾霾调查》强势回归,我才明白强者+好的作品,就算是自媒体,也能做的更加出色,因为少了原有平台的束缚。两会前能在网络平台上播出这样的调查演说,而且触动多方利益,不知预示高层什么信号。不过以这种精彩的演说,传播速度一定是惊人的。后面几日看多方利益的表现吧,或许也能为两会的环保提案增加些许支撑。
由于一直存在的跨网访问的问题,加上成为了github的粉丝,所以决定迁移博客。此博客不再更新,谢谢大家。
此题apk和so都没有加壳,但是so里面的一个关键函数jolin是加密的,在so加载时解密。并且so加入了反调试技术。由于我学习安卓的so调试是从比赛前3天开始的,也就会一个最最基本的。无法对抗反调试,一度想放弃这题。不过后来发现,这个反调试要到JNI_Onload函数退出后才触发。所以在JNI_Onload入口处下断点,添加watch,在4450这个地址(就是wojiushidaan这个字符串保
这是最简单的题目,都在java层。反编译后看关键源代码:由于对android程序不熟悉,完全忽略了android.util.Log.i函数。后来看了大牛的writeup,才知道onClick函数里面的3个android.util.Log.i用输出日志信息的方式告诉了密码本、密码,以及猜测的结果。我用的是标准的分析方法。跟进access$0函数。密码生成规则是这个代码的意思就是将用户的输入转成字节数
EvilAPK-100APK在执行过程中使用了一个文件作为输入,请问该文件的名称是什么?(不需要路径)题目下载地址:见附件这个题目继续验证dexdecompile的有效性。这里反编译出来发现问题,两个native函数没有参数。而实际调用情况是:有一个String参数。所以dexdecompile对于class.dex的反编译还是存在一些问题的。当然有可能其封装的androguard不是最新版本,所
做此题仅仅是为了验证apk反编译新工具以及试用新的源代码文本编辑工具。感谢老白兄弟的推荐。1、dexdecompile基于androguard的dex包反编译器。下载题目rev100,添加后缀zip。(apk实际上就是个zip包),rar解压缩出来class.dex。dexdecompile class.dex rev100在rev100目录下,会产生反编译之后的.java文件。2、sublime
下载文件后,file命令看一下是ELF32程序,strings命令发现程序被UPX加壳了。upx -d snake-final.exe脱壳后扔到IDA里面分析,主函数发现调用signal注册了若干个回调函数:特别是几个38h、32h、34h、36h。实际上是定义了4个控制贪吃蛇行动的游戏按键。但显然就这个程序,按对应的键是产生不出对应的signal信号的。(有队伍使用向进程发送
code200: 这个题目看着描述很复杂,实际上把数字转成二进制,输出二进制位上是 1 的位置序号就可以了。需要注意的是奇偶位是有符号的,如果最高位序号是奇数,需要在前面补一个偶数位。编程的任务等待以后python练习的时候补吧。code400:import json import hashlib import os import&
周末和小伙伴们参加了XCTF成都信息学院站的SCTF比赛。原本参赛的目标是看看题目学习为主,周末还安排了很多其他的事情,没想到能做出这么多题目。 这次的题目很有意思,以前的题目都是pwn最难,然后是reverse,web题有难有易。没想到这次溢出我们队伍很快就全部搞定了。而我在re300上花费了大量的时间,最后只找到关键函数和一串用于比较的MD
这个系列是web安全。level 0 :程序员的“好”习惯,代码随详细的注释。 解答:view source 注释里面level 1 :JavaScript右键限制 解答:从菜单view source,在注释里面。也可以使用一些浏览器提供的解除右键限制。或者干脆禁用JavaScript。le
题目:见附件这是最后一题,难度加倍。看题目意思,应该是模拟一个下载者,从网上下载一个shellcode然后执行。要求修复这个shellcode然后获得key。OD载入MFC_ASM.exe,F9出现程序界面。由于平时写C程序访问网络都直接用socket,找了一下竟然没有发现socket调用,看了导入表,发现原来使用wininet.dll提供的http封装。(这里不知道有没有更好的方法能让OD跟踪到
level 4:Vigenere Cipher加密,可以对抗词频统计,需要知道密码,此题知道密钥长度6。 http://www.simonsingh.net/The_Black_Chamber/crackingprinciple.html 这个网站解释了如何破解Vigenere Cipher加密。 
level 0:base64解码 echo S1JZUFRPTklTR1JFQVQ= | base64 -dlevel 1:ROT13加密 百度一个ROT13的解密网站,或者使用前面bandit系列level 11提到的解密命令。level 2:凯撒加密 需要知
题目:见附件这题开始有些小复杂了。运行程序,可以看见界面如下注意看“隐藏信息完毕!”字符串的位置直接搜索push 40405c,找到代码位置401a48。网上翻找到代码块的入口地址4017a0。很显然这是一个非常长的函数,使用IDA进行静态分析。 v2 = CreateFileA(*((LPCSTR *)v1 + 24),&n
题目:见附件这题目是最快搞定的,提示很明确exe直接运行出错,OD打开后,发现入口点就是一个jmpF8,跟踪到jmp后的地址,发现了程序运行出错的原因。实际上这个题目就是模拟病毒感染exe,修改文件入口指令,插入恶意代码的行为。修补实际上就是找到真实的入口函数头的代码,将前面的jmp等指令nop掉。(修改OEP也行)
题目:见附件这题目被提示的运行两次坑了。OD载入,设置命令行参数pass.db。F8到VirtualAlloc函数,发现size参数为0,导致函数调用失败。根据pass.db长度,设置size=0x10,F8继续。发现CreateFileA的FileName参数依然是pass.db,修改成pas1.db。F9正常运行,得到pas1.db文件。实际上,这里pas1.db的内容已经是答案了,受到提示影
题目:见附件这是个MFC程序,关于MFC调试有许多可以学习的地方,比如ALT+F9。希望有大牛能指导一二。就这个题目来说,提示非常明确search for all referenced text strings在找到的strawberry引用处00401456处下断点。F8到004014d9,可以看到接下来的指令就是显示“success”or“Done”。此时eax只想一串字符“K$q*a_+@X
level 4:二进制转ascii,python脚本 .trash/bin #出现一串二进制 import sys a = "01010100 01101001 01110100 01101000 00110100 01100011 01101111 0
level21:linux计划任务 ls /etc/cron.d/ #发现可疑文件cronjob_bandit22 cat cronjob_bandit22 #发现执行命令/usr/bin/cronjob_bandit22.sh,查看该文件属性,发现group组有x权限。  
level0:warming up 管理员的坏习惯 ls -a #发现隐藏目录 .backup ls .backup/ #发现bookmarks.html&nbs
level11:破解rot13加密 cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' 网上也有直接破解rot13的网站level12:还原hexdump文件为二进制文件 xxd -r data.txt #第一步使用
这个系列是基础linux命令学习level0:最简单的命令 cat readmelevel1:特殊文件名 cat ./-level2:特殊文件名 cat "spaces in this filename"level3:隐藏文件 cat inhere/.hiddenlevel4:查
以后可以直接到这里来找资料
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号