逆向与分析
文章平均质量分 94
TK13
你在凝视深渊的时候 深渊也在凝视着你
展开
-
逆向与分析-WebBrowserPassView消息分析
逆向与分析-WebBrowserPassView消息分析这个的源头是之前我写的一个博客:http://blog.csdn.net/u013761036/article/details/73042749 里面整理了对WebBrowserPassView进行二次开发的思路和注意事项,当时里面有一个环节是当WebBrowserPassView在虚拟桌面上运行起来的时候,怎么样把程序里面...原创 2017-06-14 23:08:28 · 1633 阅读 · 3 评论 -
8.继续分析一破解加密码获取-最最最简单的注册机
先看程序:大体上是输入密码吧。先第一个思路,直接破解密码校验的地方。直接改汇编代码。跟踪字符串快速缩小范围:PasswordIsWrong找到了,然后直接改:OK破解成功:现在换个思路,看看能不能直接把他的真实密码拿出来。上面看字符串的时候看到一个诡异的字符串112233,可以先懵一把,没错就是懵一把。OK密码不对。继续开...原创 2019-08-29 00:41:42 · 887 阅读 · 0 评论 -
7.破解的最简单例子
书上分析的那些东西,我手里没有相关PE文件,我就自己随便写一个最简单的,然后来破解下吧(代码我最后公布):先双击运行下,发现是这个样子:OK看到的是MessageInt.NO,点击确定之后,程序就退出了。到底是个啥,当然此时我们也不知道,直接先定位到这个字符串附近,看看代码啥意思:双击然后突然觉得应该是搜索MessageBoxW才对,这样如果上层是if判断实处...原创 2019-08-17 13:50:19 · 161 阅读 · 0 评论 -
6.栈、栈帧
栈(Stack)的用途广泛,通常用于存储局部变量、传递函数参数、保存函数返回地址等。调试程序时需要不断查看栈内存,所以掌握栈很重要。栈是FILO(FirstInLastOut,后进先出)这个都知道。但是在看汇编的时候一定要注意一些对应的相关细节。比如函数调用的时候,反汇编看到的参数进栈顺序是倒着的等。栈的特征内存结构如下:一个进程中,栈顶指针(ESP)初始状态指向栈...原创 2019-08-17 13:41:02 · 242 阅读 · 0 评论 -
5.IA-32寄存器
寄存器(Register)是CPU内部用来存放数据的一些小型存储区域,它与RAM(RandomAccessMemory,随机存储器、内存)略有不同。CPU访问(Access)RAM中的数据时要经过较长的物理路径,所以花费的时间要长一些;而寄存器集成在CPU内部,拥有非常高的读写速度。IA-32是英特尔推出的32位元架构,属于复杂的指令集架构,提供非常多的功能,并且支持多种寄存器。IA-32...原创 2019-08-16 00:40:50 · 543 阅读 · 0 评论 -
4.小端序标记法
字节序(ByteOrdering)是多字节数据在计算机内存中存储或网络传输时各字节的存储顺序,主要分为两大类,一类是小端序(Littleendian),另一类是大端序(Bigendian)。大端序和小端序的不同:注意一点就是字符串数字的大小端序是一样的。大部分PE汇编代码里面都是采用小端序的,大端序通常用于大型UNIX服务器的RISC系列的CPU中。此外,网络协议中也经...原创 2019-08-15 21:45:17 · 260 阅读 · 0 评论 -
3.逆向分析Hello World!程序-下
5.继续补充,常用操作指令:Ctrl+GGoto移动到指定地址,用来查看代码或内存,运行时不可用F4ExecutetillCursor执行到光标位置,即直接转到要调试的地址;Comment添加注释User-definedcomment鼠标右键菜单SearchforUser-definedcomm...原创 2019-08-14 23:42:15 · 2626 阅读 · 0 评论 -
2.逆向分析Hello World!程序-上
先写一个HelloWorld程序(vs2015/C++)编译链接生成可执行文件XX.exe,然后用OD[OllyDbg]打开调试:代码窗口:默认用于显示反汇编代码,还用于各种注释、标签,分析代码时显示循环、跳转位置等信息寄存器窗口:实时显示CPU寄存器的值,可用于修改特定的寄存器数据窗口:以Hex/ASCII/Unicode值的形式显示进程的内存地址,也可在此修...原创 2019-08-10 16:11:10 · 4082 阅读 · 0 评论 -
1.关于逆向工程(RE、RCE)-笔记
名词逆向工程(ReverseEngineering,简称RE);代码逆向工程(ReverseCodeEngineering,简称RCE)。逆向分析方法静态分析:不执行代码,观察外部特征、获取文件类型、大小、PE头信息、Import/ExportAPI、内部字符串、是否运行时解压缩、注册信息、调试信息、数字证书等。同时还经常使用反汇编工具查看内部代码、分析代码。动态...原创 2019-08-10 16:06:18 · 1016 阅读 · 0 评论 -
9.逆向-函数调用约定
函数调用约定:是对函数调用时参数如何传递的一种约定。调用函数先把参数压入栈然后再传递给函数。栈就是定义在进程中的一段内存空间。向下(低地址方向)扩展。且其大小被记录在PE头中。也就是说,进程运行时确定占内存的大小。函数执行完成后,栈中的参数如何处理?不处理。函数执行完毕后,ESP值如何变化?恢复到调用之前。调用约定分三种cdecl/stdcall/fastcall...原创 2019-09-18 00:15:18 · 228 阅读 · 0 评论