摘要:
关于文本加密解密的破解 1.首先在与文件相关的API,下断点,如CreateFileW ,记住文件句柄 2.在读取文件的API下断点,Read相关函数,记住读取的长度 3.在读取的内存中下(内存断点或硬件断点)断点 4.即可找到解密的关键点 阅读全文
摘要:
内存断点 字符串搜索 执行探索法(只适合少量代码) run跟踪对比法 消息断点加条件跟踪法 API断点法 阅读全文
摘要:
python逆向实战:反编译pyinstaller打包生成的exe 今天要逆向的软件叫you-dl.exe,它是一个pyinstaller生成的exe,它原本的名字和图标因为版权问题不能放出来了 首先下载pyinstxtractor.py,github可下,然后在运行pyinstxtractor.p 阅读全文
摘要:
源的切换 1.git remote set-url origin URL 设置仓库源地址 (不要带.git,直接复制浏览器上的URL就好了) 2.git remote remove origin 去除仓库源地址 4.git remote add origin URL 增加源地址 git remote 阅读全文
摘要:
进入内核调试模式(注入符号文件加载正确) 输入命令:dt ntdll!_TEB 若要详细信息 输入命令:dt -r1 ntdll!_TEB 阅读全文
摘要:
1. TLS目录全部是VA,回调函数地址数组也是VA typedef struct _IMAGE_TLS_DIRECTORY32 { DWORD StartAddressOfRawData; /* tls节区的起始地址 */ DWORD EndAddressOfRawData; /* tls节区的最 阅读全文
摘要:
#include <tchar.h> #include <windows.h> #pragma comment(linker,"/INCLUDE:__tls_used") //告诉链接器要使用TLS void print(char * msg){ HANDLE out = GetStdHandle( 阅读全文
摘要:
1.win7中开启了ASLR功能的程序每次启动时基址都会发生变化,而win10中是每次重启时基址发生变化,(当把这个程序文件复制一份,复制文件的基址也会和原来不一样) 2.只有文件头的charactersistics不设置无重定位节区,和文件头的DllCharactersistics设置动态基址,两 阅读全文
摘要:
栈帧就是利用EBP(栈帧指针,请注意不是ESP)寄存器访问栈内局部变量、参数、函数返回地址等的手段。 下面通过一个案例呈现: 先编写一个很简单的程序,但是这个程序一定要用到局部变量或参数,详细代码见下图 Test.cpp #include <stdio.h> #include <Windows.h> 阅读全文
摘要:
1.x64系统的调用方式统一使用一种变形的fastcall,即前四个参数在寄存器存储,由函数自己清理,后面的参数由栈存储,由调用者清理。具体存储位置见《逆向工程核心原理》p391 37.1.5 2.虽然前四个参数由寄存器存储,但是栈仍然预留了32个字节的空间。具体预留多少个栈空间由调用者约定,而将寄 阅读全文