软件调试
kernweak
日子越来越有判头了
展开
-
UNICODE_STRING
typedef struct _UNICODE_STRING { USHORT Length;//字节数,不是字符数,有效的字节数。 USHORT MaximumLength;//字节数,告诉系统函数最多有多少内存可用#ifdef MIDL_PASS [size_is(MaximumLength / 2), length_is((Length) / 2) ] U...原创 2019-05-24 20:00:25 · 880 阅读 · 0 评论 -
Android调试反调试概括笔记
adb install -r 重新安装adb pull /data/local/tmp/xxx 下载adb push xxx /data/local/tmp 上传adb shell pm list packages 列举安装的包名aapt dump badging apk 查看包名(区分app的标志)adb shell pm list packages -f com.hell...原创 2019-07-01 02:58:57 · 832 阅读 · 0 评论 -
windows调试与反调试复习笔记
反调试分类1、检测断点(软件断点,硬件断点,内存断点)2、各种标记检测(单步标记,内存标记,内核对象,调试端口等)3、进程名字,窗口及其类名检测4、文件完整性检测软件断点TLS回调函数先于程序入口执行,调试器加载主程序的时候会在OEP处设置软件断点,通过TLS回调得到程序的OEP然后判断入口判断是否为int 3断点即可判断是否有调试器。当然回调函数也可以有其他的反调试手法。...原创 2019-06-28 16:57:38 · 1960 阅读 · 0 评论 -
xuetr使用注意笔记
1.查看进程模块,观察dll可以看谁注入了他。2.查看进程的线程,列出线程,如果是红色线程,说明不在任何模块内。3.驱动模块会把所有当前驱动列出,比较重要的是加载顺序,如果木马驱动也会在这显示。4.内核部分比较重要的是系统回调其中LoadImage很多木马会放止安全软件,会在LoadImage检测,在这里进行patch。cmpCallback注册表回调。如果注册表禁止操作,很...原创 2019-06-25 03:20:42 · 2076 阅读 · 0 评论 -
鬼影3分析笔记
这是学习笔记,供自己再次调试回忆,别人看没什么价值,因为写的太乱了。而且有些点自己也没理清前面是wowocock老师的文档首先根据教程了解到感染好mbr之后存在磁盘最后的区段的信息有1.ProtectMode Code是Hook了OsLoader.exe之后获得控制权时执行的代码。2.Hello_tt.sys是病毒的主要驱动模块,Mbr最终实现是吧将Hello_tt.sys替换掉S...原创 2019-06-25 21:48:16 · 1209 阅读 · 1 评论 -
APK调试
源码的情况下,对APK的动态调试主要分为两种:smali汇编动态调试arm汇编动态调试Smali汇编动态调试对smali汇编的动态调试主要分为两种:使用ida进行调试使用IDE + apktool进行调试Eclipse + apktoolAndroid studio + apktoolIdea + apktool…使用jeb2.2以后版本调试IDA 调试smali...原创 2019-06-22 18:08:31 · 6340 阅读 · 0 评论 -
Android 7.0修改ro属性
因为为了调试程序,需要修改ro.secure 和ro.debuggable,刚开始练习安卓逆向,手里的手机是pixel,最低是7.x的版本,结果按着网上的教程,什么使用setpropex-pie或者修改boot.img永久修改都没起作用,可能是能力有限,有些地方设置错误没有发现,最后再查资料时候,终于找到前辈的解决方法。链接如下https://bbs.pediy.com/thread-2153...原创 2019-06-21 14:12:41 · 2313 阅读 · 0 评论 -
Linux驱动模块编写
Linux驱动直接写函数,init,exit不需要想windows指定函数名,但是需要注册函数。用module_init#include <linux/kernel.h>#include <linux/module.h>MODULE_LICENSE ("GPL");//开源协议GPL 或者MIT BSDMODULE_AUTHOR ("TOM");//作者MOD...原创 2019-06-10 12:40:49 · 828 阅读 · 0 评论 -
R3与R0联调
如果没有联调,当看栈时候WARNING: Frame IP not in any known module. Following frames may be wrong.看不见操作步骤是使用!process 0 0 获取用户空间的进程的信息.process /p 87373550 切换到要调试的应用程序的Eprocess地址重新加载user程序的 PDB文件 (需在Windbg...原创 2019-05-23 23:38:42 · 727 阅读 · 0 评论 -
dump文件分析笔记
首先蓝屏时候,会发生文件转储,先开启蓝屏文件转储。一般内核开发,选核心内存转储即可,下面就是生成文件的位置,为了学习把自动重新启动点掉,不然蓝屏后系统会自动重启。下面写个蓝屏驱动让其发生BAD_POOL_CALLER(如果造成蓝屏的驱动是随系统启动而启动,会反复重启,则可以通过安全模式进入系统去拿dump文件)dump文件在之前设置的目录中,一般不修改位置就在window目录里。...原创 2019-05-23 23:01:34 · 1358 阅读 · 0 评论 -
windbg不识别pdb文件符号
使用windbg分析蓝屏dump文件,windbg不识别pdb文件符号.reload /i 不行,/f不行,输入。reload -f 模块名 继续不识别,!sym noisy 查看,reload -f之后发现路径不对,提示The system cannot find the file specifiedThe SYMSRV client failed to find a file i...原创 2019-05-23 22:38:13 · 753 阅读 · 0 评论 -
反调试核反反调试
反调试1.DebugPort2.KdDisableDebugger,禁用内核调试3.IsDebuggerPresent和CheckRemoteDebuggerPresent,应用层,定时调用这个查看4.hookHook系统中一些与调试相关的函数,防止被各种调试器调试。NtOpenThread()防止调试器在程序内部创建线程NtOpenProcess()防止)调试工具在进...原创 2019-05-23 18:14:32 · 476 阅读 · 0 评论 -
断点分类
int3 软件断点临时在代码插入CC命令引发EXCEPTION_BREAKPOINT 0x80000003异常内存断点将想下断地址所在内存页增加一个名为PAGE_NOACCESS(写入时设为PAGE_EXECUTE_READ)的属性,引发异常再判断地址是否为断点位置,以页为单位,慢但是可以多个。引发STATUS_GUARD_PAGE_VIOLATION(0x80000001)...原创 2019-05-22 20:16:50 · 2764 阅读 · 0 评论 -
多种反调试手段学习代码
参考链接https://blog.csdn.net/qq_32400847/article/details/52798050// Tencent2016D.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx.h"#include <iostream>#include <windows.h>#include <Tlhel...原创 2019-07-26 22:43:24 · 463 阅读 · 0 评论