- 博客(5)
- 收藏
- 关注
原创 逆向分析总结
逆向分析的两大基本功:· 核心代码的分析(分析反汇编代码).· 核心代码的定位. 2. 核心代码的定位 逆向一般是带有强烈的目的性的, 比如逆出一个程序的某种功能的实现函数,或者是逆出一个程序的流程等等. 要完成这样的功能就需要定位到具体的函数上, 然后才能分析其代码,否则在庞大的二进制流中, 信息的获取必定是极其艰难的.
2017-03-23 12:17:45
2802
原创 15PB可乐杯CrackMe01分析
1. 观察程序,发现错误时输出Error2. 猜测程序流程:a) 使用printf输出提示字符串b) 使用scanf获取用户输入的字符串c) 检查输入字符串的正确性来选择输出正确字符或是错误字符串3. 寻找突破口:a) 字符串搜索找到提示正确或错误的字符串发现并不能找到核心流程使用的字符串(”Error”)。发生这种情况,可能是由于字符串已经被加密,所以无法识别
2017-03-23 12:08:34
477
原创 如何调试服务
1. IDA或者OD分析程序,找到启动服务(CreateService,StartService)的调用代码看是要启动哪个文件附加Services.exe,在CreateProcessInternalW下断,就能捕获到服务进程的创建之后可以修改参数 dwCreateFlags 为挂起状态 CREATE_SUSPENDED(0x00000004)之后可以附加调试服务进程,附加之后,打断点
2017-03-23 11:54:51
895
原创 CrackMe分析-OD与IDA、VS结合使用
1. Kernel32: SetUnhandledExceptionFilter设置顶层异常2. User32:DialogBoxParamA 1. 在OD中下断点,单步跟踪异常所在2. 分析异常,发现不是SEH,而是SetUnhandledExceptionFilter设定的回调3. 在VS中写代码,模拟目标程序的异常根据目标程序的异常回调,打印对应的
2017-03-23 10:38:52
842
原创 解密一个Apk程序
1. 代码使用的JNI接口,端口开放是在so文件中,这里分析一下arm中的so文件其接口: F5,找到加密函数xxx 分析上下文,调用xxx函数时,初始化了4个Int数,可能是作为key函数的参数大概是xxx(缓冲区,大小,密钥) 函数xxx内部,先循环异或缓冲区,之后再通过密钥数组循环加密缓冲区,在函数ecode中原名xxxx函数中函数内部,就是进行循环异
2017-03-23 09:38:29
1436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人