- 博客(68)
- 收藏
- 关注
原创 HOOK技术 学习总结
Hook 的关键就是通过一定的手段埋下“钩子",“钩”住我们关心的重要流程,然后根据需要对执行过程进行干预。HOOK技术导致了程序执行流程的改变。通过在执行真正的目标函数之前执行事先插入的代码,获得了程序执行过程的决定权——“插入特定代码以干预程序的执行流程”就是 Hook 的奥义。(通过修改IAT的方式拦截对API的调用,所以称为)注意:如果是通过动态加载的就不行了,因为动态加载的dll的API不在iat中,而是动态生成的.执行地址01002628处的CALL命令后,运行将转移至user32.SetWin
2025-04-01 16:23:19
926
原创 某math美4代设备注册加密分析
jni注册是这3个函数,比之前少了很多,后面hook了下w11是主函数加密。之前tn,pri都是在java层加密的。分析过3代的都知道,是根据一个随机数加密的rsa。这个随机数就是指纹最终加密的aes的key。最终的算法我就不放了,自己研究一下就能搞定,都是标准算法。里面用到了压缩算法,那就是把整体的a3压缩了一遍,在aes一下。然后再跟进去51200这个地址,大致看一下,也就是调用java层的rsa加密。v43是字符串拼接之后的东西,应该是md5了一下。用了这些c库,那就是随机值了,当前时间为随机种子。
2025-04-01 16:12:52
916
原创 进程和线程
进程的SessionId代表了该进程所在的Windows会话 ( session ) 的ID号, 当有多个用户同时登陆的时候,Windows会给每个登录用户建立一个会话,每个会话都有自己的WorkStation和Desktop,这样大家就可以在不同的会话中共用一个Windows系统,对于XP来说,只有一个用户登录的时候,用户启动的程序和系统服务都运行在session 0,当切换到另一个用户账号的时候,系统会建立Session 1,以此类推。我昨天啊~看见了你和一个女生在一起逛街,你们是不是?
2025-04-01 16:04:06
533
原创 最新版的某音大家都抓不到包,给大家一个方案
又当大家信心满满的把frida过SSLPinning 以及xposed的justtrustme安装到手机上的时候再次打开apk,发现某音apk用的竟然是非系统的的ssl库。最新版的某音用上了sslpinng技术,而且还是so层,导致很多想要一窥究竟的小伙伴抓不到包,让人十分头大.当你信心满满的吧抓包环境配置的非常完美,准备大干一场的时候. 发现某音apk用了SSLPinning。如果不想动小手patch的同学,这里也有一份小弟搞好的32位的17.3版本的so 可以手动下载食用。然后拿出我们心爱的安卓手机。
2025-04-01 15:56:54
435
原创 基于lldb的trace脚本<辅助算法分析,算法还原,以及算法验证
123456789101112131415161718192021222324252627282930313233343536373839fromimport## 定义需要检测的 变量 : flag + '_' + 地址 + '_' + 寄存器### 翻译的测试代码deff(x):0forin(x):index# check ret 和 0x10000393c 的 w8 的寄存器值returnxifimport。
2025-04-01 15:53:01
607
原创 android so文件攻防实战-美团libmtguard.so反混淆
接下来的代码很多都是这种动态计算跳转地址的。修复结束之后跟踪指令,0x3434处的代码跳到了0x345A,0x345A处的代码主要逻辑是在0x34C6跳到0x34EC通过0x34EC动态计算地址跳到了0x3520,0x3524处的代码跳到了0x365C,0x366E处的代码跳到了0x35A8,0x35A8是JNI_OnLoad的主要逻辑。BEQ和BNE是一对条件相反的跳转,这之前计算出接下来指令的地址0x3430赋值给R4,loc_340C处的代码通过POP指令将R4的值给PC,看0x3430处的代码。
2025-04-01 15:48:13
552
原创 美团协议算法
地址,并且存在0x21的,则代表是我们要找的执行方法(过滤一下是因为其他地方可能也会调用到这个地址,并且值刚好一样)猜测我构造的unidbg可能并不完善,并没有读取到已经返回的a7,那么此时的a7有可能是自己加密生成的,分析代码,看a7如何构造,然后抓包分析获取真正xid之前的mtgsig参数中的a7,对比加密是否一致。6.分析以下包括赋值地址的位置,是否赋值完成,以及,该地址附近的方法是否方法的末尾,最终定位到0x0db56是方法末尾,而0xDB52则是方法调用位置(hook该地址看入参和出参)
2025-03-28 19:22:08
877
原创 逆向某4399分析过程
最终hook这两个函数都没发现⽣成具体的sign值 加密串也没有最终被修改 于是随⼿拿之前得到的加密串去做个MD5发现直接就跟sign⼀样 所以⼤概得出这个sign算法就是标准的 MD5。看名字就猜到了http相关的⼯具类,接着继续找关键字sign ,因为⽹络相关的类都在framework包下的 helper⼦⽬录中所有随便翻翻找到⼀个。参数1为之前调⽤java 层 native⽅法中请求参数排序后的value 字符串,参数2位固定的加密因⼦ 将两个字 符串拼接后⽣成新的待加密串。
2025-03-23 19:44:57
667
原创 hook框架-frida绕过app签名校验
1.安装vs code,点扩展,搜索frida Workbench安装,然后新建一个js文件,就可以开始编写hook代码了。为了防止app被次打包,通常会进行签名校验,当app被修改并重新签名后,签名信息与原来的签名信息不一致,导致app不能正常运行。2.遇到这种有签名校验的,就不能通过修改代码,重新编译对它进行篡改了,这个时候就需要使用frida对它动态修改了。反编译apk文件,来找到签名校验的关键点,也就是它使用了哪个函数来实现的这个签名校验.1.反编译找到签名校验的关键点。1)打开shell窗口。
2025-03-23 19:43:37
777
原创 安卓中so的加载
这两个函数是so文件在被加载或者卸载时自动执行的函数,用于初始化的操作,其中init函数优先于init_array函数。作为so层加载很早的函数,可以通过实现hook他来绕过一些关键的检测点。也正是因为加载过早且初始化后只加载一次,我们如果直接去hook是无法get到的,通过上面的流程我们知道了这两个函数是在call_constructors中进行加载,我们就可以通过逆向hook相关的native函数进行加载hook。通过在加载过程中进行hook操作。
2025-03-17 22:54:07
897
3
原创 TK抓包协议分析:So层逆向
第一章搞定了,Tk的上网环境,但是还不能抓包,因为Tk系的协议不太一样用的是QUIC协议那我们今天的目标是绕过这个协议,让他降级,实现我们成功抓包的目的(还有会番外篇非降级抓包,可以小小期待一下)文章尽量还原每一步,尽可能写的详细,如果还是有问题可以加我微信沟通Alive0501。
2025-03-17 22:51:27
1387
原创 tiktok滑块篇之Wasm扣代码
免责声明: 本文内容仅供学习交流使用,请勿用于其他用途,如因使用本文内容而产生任何问题,与作者无关,如果本文侵害贵司权益,请联系下架处理最后还剩下一个图片请求返回的内容是加密的,本章把这个图片加密解一下本篇做的是web的滑块,app跟web用的是同样的加密,用扣代码的方式把这个搞定。
2025-03-14 19:54:22
1114
原创 某邦企业壳frida检测绕过
首先 我去hook dlopen 在打开dexhelp这个so的时候 去hook下jnionload 看看它做手脚的地方是否在init里面 发现不是 那我只需要去hook clone函数 打印出相关线程信息 然后 加载这个so的时候 nop 掉它 测试是否能绕过即可。此处的 E6850是clone 而 通过 pthread_create 函数创建线程传递的 线程函数 就是 v50 而clone函数的第四个参数 v27 + 96 是所需要的线程函数 这样 就可以去试试 写一下hook clone代码了。
2025-03-14 19:42:09
621
原创 tiktok算法协议研究
经过上述分析,可以确定目标字符串来源于一段 JSON 数据,而这段 JSON 数据来自于一个经过加密的本地文件。对字符串 "sdi_v2" 进行 SHA-1 计算,得到 20 字节的结果;将第一步得到的数据进行MD5计算,生成16字节的结果;将第二步的结果转换为十六进制字符串,从而得到 32 字节的密钥。写这种算法分析的帖子真的是太无聊了,就先分析到这里吧,后续有机会再来谈下被加密的本地文件是怎么来的!!自我感觉TT的算法并不难,就是量太大了,所以我想问问有没有感兴趣的朋友来一起分析,欢迎联系。
2025-03-14 19:36:07
943
原创 AppleAccount注册之生成sign
根据日志发现:签名来自于AuthKit的-[AKAppleIDServerResourceLoadDelegate signRequest:withCompletionHandler:]的一个block,这个库是放在共享缓存库里的,找到提前准备好的IDA文件,先去找主方法,根据分析IDA,最后找到了实际生成签名的方法:t1。,接受五个参数,context(之前讲的获取到的客户端证书),bytes(待加密的body字节),length(字节长度),以及两个接受结果的参数,直接进这个方法看,
2025-03-14 19:28:13
453
原创 猫眼协议抢票
开发一个猫眼逆向协议抢票软件的步骤可以分为以下几部分,包括代码示例。请注意,这只是一个概念性的示例,具体实现需要根据实际情况进行调整。
2025-03-11 19:51:50
332
原创 大麦协议算法
此外,脚本还具备一定的灵活性和可配置性,用户可以根据自己的需求调整脚本的参数,如目标演出ID、购票数量等。这种设计使得脚本不仅适用于特定的抢票场景,还能应对不同类型的演出和购票需求。灵活配置:用户可以根据自己的需求调整脚本的参数,如目标演出ID、购票数量等,确保脚本适用于不同的抢票场景。高成功率:通过自动化抢票,脚本能够在开票瞬间完成购票,避免因手动操作延迟而导致的购票失败。其他热门活动购票:除了上述场景,脚本还适用于各种热门活动的门票抢购,如音乐节、展览等。
2025-03-11 19:38:03
330
原创 大麦网回流票监控,sing参数分析
其中token暂时未知,c就是url参数中的t时间戳,s就是url参数中的appKey固定值,data就是url参数中的data的json字符串,简单拼接就行。经过验证headers是统一的不会变也没有加密参数,cookie也是一致的但有未知参数**_m_h5_tk**、最近演唱会增多,总是抢不到票,所以想从回流票入手,做一个某麦网的演唱会回流票的监控。,不慌,咱只是看看有没有票不购买,直接抓包随便一个音乐节的票量接口。而这两个接口里的参数大同小异,分别如下。_m_h5_tk**,这下大功告成了。
2025-03-11 19:17:58
1162
原创 绕过 Android14以上非SDK接口调用限制的方法
将双重反射调用的相关代码单独编译成一个dex文件,然后构造一个DexFile对象来执行双重反射的方法,并且在加载时,设置加载的classloader为空,从而绕过限制。这种方案的本质是,本来App的DexFile对应的domain应该是kApplication, 由于加载class时传进来了空的classloader,导致domain值变成了kPlatform,从而绕过了访问限制。每个线程中JNIEnv都是已知的。的指针, 第二个参数是方法的name,第三个参数是方法的签名,第四个参数是指针的大小。
2025-03-09 22:36:15
1039
原创 授权渗透测试小记
在169行,直接再次调用且upurl可控,覆盖之前的&upurl远程升级下载包含.php的UzJu.zip压缩包先下载再校验,存在逻辑问题,直接构造url payload下载。图书馆的一个系统,为开源CMS修改的,然后通过版本探测与其他的信息收集,发现那个版本好像有一个getshell,不过是后台的,尝试一下,账号admin密码123456发现对了之后GetShell了。这个服务器改端口了,本来是3389远程连接的,改成了3300,接下来就简单说一下,怎么找到3300这个端口的。
2025-03-09 22:32:01
868
原创 微信协议PC端 微信公众号文章key(即a8key的分析
微信公众号上文章很不错,但是有的文章敏感文章会被删除,有的时候没赶上,就很难受,所以想爬公众号的文章。
2025-03-09 22:29:33
695
原创 微信协议 PC端 数据库 自动解密
PC密码为32字节。手动流程参考看雪另一位dalao整理的文章,链接见最后的参考处。我主要是把整个过程实现了自动化,顺便复习了一下api hook。
2025-03-09 22:25:46
786
1
原创 ipad协议/微信视频号协议
微信协议就是基于微信IPad协议的智能控制系统,利用人工智能AI技术、云计算技术、虚拟技术、边缘计算技术、大数据技术,打造出智能桌面系统RDS、 智能聊天系统ACS 、智能插 件系统PLUGIN 、云计算服务CCS 、任务管理系统TM、设备管理服务DM、 应用管理系统AM、 统一 好友系统UUS 、任务运行系统RT 、虚拟环境系统 VAC、智能监控系统ISS、 数字资产系统DES,帮助企业快速连接客户,创造营销氛围,实现自动获客、自动传播、自动转化、智能营销等分布式营销服务。DeviceToken更新。
2025-03-09 22:20:55
798
原创 某阅读新闻app的token算法
app在启动后向服务器发送一个请求,这个请求中的token是"_"+当前时间无密钥加密的,在服务器回复这个请求后,app把skey进行2次url解码后,把结果Base64解密,接着用openid对它加密得到提交验证码时token的密钥。找到一个加密结果与我们之前抓包抓到的token是一样的,接着通过Xposedhook的输出结果发现Token的密钥是由一个请求返回的结果进行加密形成的。发现有sm_id、token与抓包到的参数都吻合,token是由一个l1类的i方法生成的。q()是获取加密的密钥。
2025-03-04 18:34:34
325
原创 android逆向学习--绕过非标准http框架和非系统ssl库app的sslpinning
上面的不管,只看导入函数,有两个函数比较可疑 SSL_CTX_set_custom_verify和SSL_CTX_set_reverify_on_resume,于是下载了一份boringssl的源码,分别看了下这两个函数,果然是用来做证书校验的,并且都有调用。查了下这个boringssl是google开源的openssl分支,于是尝试hook了下 boringssl中的SSL_write函数,果然有调用,所以可以基本确定它使用了自己的ssl库。后来大概查了下,这个app是今日头条旗下的,难怪如此。
2025-03-04 18:32:18
685
原创 某号称国外最强反作弊如何偷鸡监控和拦截鼠标输入
需要注意的是,vgk的钩子在trampoline跳转到new routine之前先清除了MSR_IA32_DEBUGCTL的bit0。此举可能是为了防止MSR_IA32_LASTBRANCHFROMIP和MSR_LBR_TOS中的分支ip信息被vgk自己的ip覆盖。一种是readmsr(readmsr(MSR_LBR_TOS)+MSR_LBR_NHM_FROM)MouseClassServiceCallback(原版)在call original之前恢复了MSR_IA32_DEBUGCTL的bit0。
2025-03-04 18:29:07
243
原创 记一次网关设备的pwn
qemu的模拟对imagebase查看的话用ida附加后在main下断点然后在qemu加-strace可以在输入信息可以看到第一次搞mips的pwn磕磕碰碰了许久才折腾成功,学到了很多东西。由此发文记录一下~
2025-03-04 18:25:32
679
原创 直播间websocket协议破解还原
现如今直播间协议很多已经很少使用http轮询的方式获取直播间的弹幕、礼物、关注等,在用的目前知道的是某音的直播,其他的一些app已经使用socket或者websoceket获取直播间的弹幕等,本次主要针对websocket提供协议破解思路。设备:小米note8、windows案例:具体不提供,仅提供破解思路。
2025-03-04 18:10:56
996
原创 快手协议算法
但方法总比困难多,我们可以从返回值开始,查找交叉引用,结合frida一步步的确定目标函数。可以看到,经过sha256算法的返回值在经过这个函数,把sub_3FDA4 函数的结果在经过base64之后在进行base64就是sig3算法的部分值。可以看到sub_3E550函数的返回值是sig3算法部分结果,并且该函数调用了两次,第一次是要加密的内容,第二次是一个base64的值。
2025-03-03 19:10:15
409
原创 快手直播弹幕协议分析
以上就是协议分析的大概步骤,上述的主要是netty和protobuf的知识点。其实很多im和弹幕都类似,简单的json,难一点的protobuf这种中间协议,更难就把消息加密的。重要的是确定协议,然后分析数据格式。
2025-03-03 19:00:25
279
原创 摄像头逆向分析之旅
本文简单介绍了串口提取固件的方法以及快速解密厂商自定义的程序加密的方法。通过以上工作,基本上为后续的分析扫除了障碍,当然,后面的漏洞挖掘工作还是一个不小的挑战。今后大家遇到加密得ELF程序或者bash,不妨分析下Linux内核,没准解密算法就在其中。
2025-03-03 18:58:22
1464
原创 记一则iOS App 反调试绕过
AppStore上架的应用都是统一的FairPlayDRM 数字版权加密保护,所以现有的各种解密套路也都一样,在程序跑起来以后进行dump。先试试用的比较多的两个工具frida-ios-dump、CrackerXI看看能不能直接dump出来。经过测试,都不行,皆是由于程序退出导致没有完成dump操作,但是在用frida-ios-dump的时候看log显示所有的framework都已经成功的加载,只是dump操作由于程序退出没有完成。
2025-03-03 18:52:31
819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人