菜鸟请大佬指导
0x01 arguement
1.脱壳
检查壳,有壳脱壳,不脱壳的话,IDA打开后你看到的就会是
无从下手,所以查壳脱壳吧
用对应的upx394脱壳
2.分析
IDA打开,没有main函数,shift+f12查看字符串,用"InputYour Flag:"锁定到函数并重命名为main
函数主干
可知"flag{%s}"所在的if是关键,则此if判断条件中的j_error_2和之前的j_error_1是关键函数
2.1分析error_1(sub_4113B1)
效果大概就是输入"d203e7"转为0xd203e7
2.2分析error_2(sub_4113B6)
将dword_41A078每一位减1,就能得到v4,从而输入的Buf也得到了
回到主函数
if ( sub_4113B6((int)&unk_41A4E0) )
sub_41137A("flag{%s}", &Buf);
flag就是flag{Buf}
0x02 EzRE
迷宫题
查壳无壳
IDA打开shift+f12查找字符串定位到主函数
跳过反调试
然后输入一个个输入26个数
结合switch语句和判断条件,推断是迷宫、
switch语句来进行判断是向哪个方向走,if判断障碍(1)和出口(99)
迷宫数据在asc_140003350数组中,排列好可手动走出迷宫
输入输出如下
0x04 android
2019中国杭州网络安全技能大赛预选赛题
反编译
还在分析为啥,GameActivity是apk主入口,但可以知道CokeyActivity是关键的那个