去除花指令
https://bbs.kanxue.com/thread-279604.htm#msg_header_h2_5 https://blog.csdn.net/abel_big_xu/article/details/117927674 花指令一直是逆向的一个比较常见而多变的东西,对于逆向人员来说也是一个比较大的阻碍,随着反编译工具的升级,现在的IDA9.0已经可以忽视一些花指令正常反编译,不过对于逆向人员还是要掌握 下面我用原理->形式->去除来讲解CTF比赛中经常的花指令 原理 花指令的核心原理是通过在代码中插入不影响程序实际行为的指令,来迷惑分析者或调试器。它们一般不执行有用的操作,但能让程序看起来更复杂或者改变程序的行为,从而导致逆向工程的困难。 也就是IDA在反编译程序的时候是从函数的入口至上而下一一把机器码转换成汇编语言再变成c语言程序 形式永真永假跳转这种花指令可以说是最基础也是最常见的花指令, #include <stdio.h>void dummy_function() { //...
春秋杯2025
KoOh 这道题如果先去找主函数的方法,来到了这里,是一个base64加密,点开那个参数 应该是base64加密变表 import base64import stringstr1 = "zMXHz3TMywTLx2zSywCHzMfRzv9MBgfNiwzHA2vFzMXHzYeHiseHisf9"string1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"print...
乐健APP逆向
从脱壳到关键代码定位,再从算法还原和协议复现,走了很多弯路,虽然还差最后的总脚本,这里整理一下全部流程. 其中代码定位是对于这种app来说十分困难的事,这里虽然有一些方法和类名混淆,不过好在不多,难道对于大型app的混淆的关键代码定位只能挨个猜测hook吗,这里还有待学习 算法还原 1.数字签名的还原 2.oct判断的还原 3.时间验证,signtime和endtime的还原 协议复现 1.登录验证的代码定位 2.登录时的加密的还原(从抓包的数据逆向的角度获取了传输的信息) 3.发包的还原 脱壳如果直接把程序拖进jadx里面,会发现有360壳的痕迹, 用查壳工具也证实了猜想。下面就是去dump下壳 脱壳的问题1.目前我在尝试直接脱壳的时候发现直接闪退了程序,但是我在使用frida-dexdump的时候发现在尝试嘟嘟牛在线可以很好的dump下来。现在想的话,联想后面的开发者模式检测,应该是存在反USB调试的功能 解决方案: 使用的是Termux...
