碎碎念
今天听了一整天的课,是个直播,记录一下重点,可能有的东西没写全,希望可以拿到ppt
python字节码
这部分没听到,登上去的时候已经结束了,拿到ppt的话补一个,但是我觉得应该做一下去年中关村的那道题就差不多了
C#类型程序分析
- MSIL:微软的一种中间语言。
- dnspy: 反编译工具,还可以调试、patch等,功能很强大。调试的时候可能题目给的mono.dll是release版本的,需要替换成对应的debug版本才可以调试。https://github.com/0xd4d/dnSpy/wiki/Debugging-Unity-Games
- 在dnspy中可以右键直接转到入口点,需要patch的时候可以使用IL形式进行编辑
- de4dot: 脱壳工具。
- 基于C#出的题目大多数都是游戏题目,一般重点在Managed/Assembly/CSharp.dll文件中,解题重点在于弄清楚游戏中每一个角色对应的变量数据。
- dnPatch可以用来自动打补丁
安卓程序分析
基础知识: https://crifan.github.io/android_app_security_crack/website/
主要讲了几个工具
- GDA:免费的反编译工具
- ApkIDE, ApkToolkit
- 脱壳: dumpDex & Frida
- 模拟器: 夜神、雷电
- so调试: IDA, gdb, lldb
反静态
- ollvm混淆: 主要是依靠bird的脚本、angr分析、unicorn
- mov混淆: 将所有指令都用mov来表示(加上部分jmp),反混淆的那个不好用,一般还是要靠头铁,不过算法都不会太难。
- hook: windows和linux下的hook都有讲到,讲了一道linux下hook后的题目,主要流程在fini_array中,主流程中看上去的那个验证流程是虚晃的。windows下IAT EAT, linux下got, plt(IAT hook, 虚函数hook,SSDT...)讲课的师傅用了一个吾爱破解的od版本,看起来有点高级,想试试。
- smc
网友评论