James Hoi's Blog

James Hoi's Blog

记录一下折腾小米盒子
家里的小米盒子是二代的,想解决看剧麻烦和广告的问题,关键是安卓系统还是4.4,好多软件不能装,网上的办法也不全,这里记录一下我自己的解决办法。 ROOT对小米盒子进行一些操作时,难免会有权限问题,网上下个kingoroot,一键root,很快。成功后 adb shell并输入su命令即可进入root用户。kingroot.apk 禁用小米自带软件网上一堆带有–user 0的办法,但貌似安卓4.4不支持,好在网上找到了办法,用 pm block <package>的办法,软件稍微有点多,所以随手写了个py脚本 123456789101112131415import osa = ...
绕过某监考客户端检测
现在的开发人员安全意识还是薄弱,用c#写的还就加了一点点混淆。本文章分两部分,一是开启软件时的校验,二是绕过软件检测系统。重点强调!!!本文章只限于交流逆向技术用途,不提供成品下载!! 文件校验在加载的时候按暂停,很容易能找到检查软件版本的位置 很明显是验证版本 跟下去之后很容易找到校验位置,应该是一个任务组,运行其中一个任务 一直跟下去,能找到这个线程组的线程函数,可以看到有校验的函数。补充一句,软件是若校验本地exe和dll与校验码不一致则重新下载 这里不再阐述如何修改,直接修改c# IL为Nop即可,上图最后有个needRestart,意思是更新软件重启,可见需要直接ret...
TSCTF 2022 校内赛 逆向部分
感觉没人打比赛啊…都是自己人 happy_motamain.exe可以得到一些信息,根据script文件夹下的解密运行一次得到三块flag 根据提示看出11到19层的地图形状为字符,其中少了一层,根据后半flag猜测为Enjoy 12345678910111213141516171819print("TSCTF{Enj",end="")s = b''f2 = b'\xf8\xb0\x95\xfc\x84\x88'for i in range(len(f2)): s += bytes([f2...
近期做过的一些题目
近期做过的一些题目学业&机器人挺忙的,逆向做一题就很耗时间,实在是不太有时间认真做题,准备直接找一堆wp复现一遍 湖湘杯 Hideit Hideit进程序大致能找到这个函数 能看出是向进程内存注入了一个函数,然后根据内存地址调用该函数,断点进入函数,一直跟进去,会发现TestEv1l.dll已注入,具体注入流程尚未分析。 找到加密函数,开头有个修改注册表函数,隐藏了key 进一步分析发现先做了一次xxtea,需要令v12这个输入值正确,成功进入if后再进行一次加密,然后最后再判断是否一致 xtea解密,解密得到第一个密匙为dotitsit 123456789101112...
TSCTF 2021 逆向题目
Android签到题看wp https://jameshoi.github.io/2021/05/23/tsctf-2021/​ BabyEasyUWP BabyEasyUWP_1.0.0.0_Test.rar吐了…这么简单的题目竟然比赛的时候没做出来,主要还是一开始没找到字符串进行定位,ida里面用shift+f12没找到,用火绒剑找到的。ps: 原来其实可以不用火绒剑,在string里面右键选择setup修改查找字符串编码查找效果根据这个地址+基址找到字符串,然后查看交叉引用,找到了关键函数,可见需让v22为0才成功这里判断flag是否相等sub那个函数动调发现应该是做了凯撒加密,v...
TSCTF-J 2021 Reverse Official WP
TSCTF-J 2021 Reverse Official WPby James easyXor签到。题目就是题解,xor加密后验证,这里要提多一句,选手可以再仔细分析分析反编译出来的while流程。这里给出相对应的源码,希望选手理解为什么ida反编译后的结果等同于这句源码。解题脚本 123456789data = [ 0x59,0x5f,0x4c,0x5a,0x4f,0x25,0x41,0x71,0x52,0x61, 0x4b,0x65,0x31,0x4d,0x66,0x5d,0x2f,0x43,0x4b,0x4d, 0x5a,0x4c,0x5d,0x37,0x5f,...
2021年逆向题目复现
D3CTFjumpjump没什么好说的,两次异或简单运算就出了 12345678enc = [0x09,0x0B,0x06,0x5A,0x5B,0x0A,0x54,0x05,0x4D,0x57, 0x56,0x54,0x0B,0x4D,0x54,0x09,0x55,0x40,0x4D,0x09, 0x06,0x59,0x0B,0x4D,0x55,0x54,0x58,0x57,0x5B,0x09, 0x0B,0x40,0x05,0x0A,0x05,0x09]for i in range(36): print(chr(((enc[i]^0x33)-4...
avatar
JamesHoi
witness me