精华内容
下载资源
问答
  • windows逆向

    千次阅读 2018-04-29 12:10:53
    windows逆向破解: 0.基本概念 Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用。 1.软件逆向应用: 1) 软件...

    windows逆向破解:
    0.基本概念
    这里写图片描述
    这里写图片描述
    Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用。
    1.软件逆向应用:
    1) 软件破解
    2) 病毒和恶意程序分析
    3) 系统漏洞分析(Exploit)
    4) 其他
    这里写图片描述
    2.代码分析技术
    1)代码静态分析
    这里写图片描述
    这里写图片描述

    二进制对比技术 (补丁漏洞分析)

    2)代码动态分析:代码流、数据流
    内核调试:采用硬件调试器;bain写用于调用调试的驱动程序和中断处理函数;微软在windows内核中添加了支持调试的相关服务(主要)。
    这里写图片描述
    单步压缩壳:地址有很大变动;遇到向上跳的是坑,f4跳过,直接下一条;入口点一般是push ebp或pop;找到入口点,直接右键OD默认脱;验证是否成功,peid先看看是否显示语言,再运行下

    3)Fuzzing分析
    模糊测试
    这里写图片描述

    文件、协议、组件、web Fuzz测试
    攻击性的畸形数据
    Fuzz目的:崩溃crash、中断break、销毁destroy
    这里写图片描述
    捕获异常信息深入分析

    这里写图片描述
    这里写图片描述
    FileFuzz软件(测试打开文件的软件)
    FTPFuzz测试FTP协议安全的工具 崩溃时用OD调试 附加

    程序插桩技术是在被测程序中插入探针,然后通过探针的执行来获得程序的控制流和数据流信息,以此来实现测试的目的;
    符号执行,即使用符号值代替真实值执行。
    3.PE文件
    文件偏移地址,起始值为0
    这里写图片描述
    入口点、
    基地址
    这里写图片描述
    这里写图片描述
    相对虚拟地址是内存中的地址,虚拟地址是程序访问存储器的逻辑地址

    节都是通过节表实现索引
    这里写图片描述

    病毒要修改节表再把节给修改了,添加时节属性要要可写可读可执行
    Section 代码/数据 读/写

    重点
    这里写图片描述
    这里写图片描述


    调用dll 可以调用函数名或其索引值
    PE文件中的数/代码拥有相同属性,就会列入同一节
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    4.Win32 PE病毒原理

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    PE文件对比分析类工具:PEinfo

    分析win32.virus.sality病毒
    病毒只添有一个代码节,无法调用API函数,所以应先知道dll中API函数地址,
    搜索感染目标文件常用API:FindFirstFile、FindNextFile、FindClose
    病毒分析常用工具:
    Peid、OD、IDA
    下载监视器、抓包工具(WsocketExpert用的比较少,MiniSniffer)、
    Regmon查看进程操作注册表的行为、Filemon文件监视器、
    IceSword查看系统,权限高

    展开全文
  • 逆向教程

    千次阅读 2018-04-23 22:30:07
    Windows上运行,都遵循PE文件格式。exe,dll,sys 1,程序从哪里开始执行 2,数据存在哪里 3,程序存在哪里 最终存储为0和1字节(BYTE):8位(两个十六进制数), WORD(字):16位, DWORD(双字):32位...
    1. 再Windows上运行,都遵循PE文件格式。
    • exe,dll,sys
          1,程序从哪里开始执行
          2,数据存在哪里

          3,程序存在哪里

              最终存储为0和1

    • 字节(BYTE):8位(两个十六进制数),     WORD(字):16位,      DWORD(双字):32位(BIT)
    • Windows操作系统存储从高位到低位 :E8 00 00 00  ——> 000000E8
    • PE查看器—>找到代码段起始地址—>找到第一个函数
    • 将16进制数转换成汇编的过程——反汇编
    • 二进制—》汇编—》C语言——逆向
    • 逻辑运算 —— 按位运算

        或( or   | )——有一则一定是一

        与( and    & )——有零则一定是一

        异或(xor  ^)——不一样的为一

        非(not   !)——1是0,0是1

        左移( << )——0010  <<  0100

    例题:CPU运行:2+3=?


    CPU只能做加法运算,存储数据的容器:CPU里---寄存器,内存条---内存(慢)

    • 32位通用寄存器:

    EAX:       累加器

    ……

    • 汇编指令:

    mov  把后面的立即数放到前面的寄存器里
    add   加数再放回
    sub   减数再放回

    • 客户端---密钥---服务器端
    • 内存:

    【编号】成为地址,

    32位计算机:寻址宽度(编号最大不能超过32位)——存储最大数据:FFFFFFFF+1  —》 4G

    (包括00000000)

    内存单位大小(内存单元)是一个字节

    内存的读写:(练习时:地址可用ESP的)


    DS(段寄存器):后面是立即数,与内存属性有关
    SS:后面是ESP/EBP
    ES:后面是EDI
    PTR:后面是地址

    LEA:取地址编号






    堆栈:ESP(栈顶),EBP(栈底)

    PUSH,POP--->(+4/-4)




    展开全文
  • 小甲鱼 OllyDbg 视频教程 尝试 1 :https://www.bilibili.com/video/av6889190?p=17 尝试 2 :https://www.bilibili.com/video/av6889190?p=18 小甲鱼OD学习第13-14讲:https://www.bbsmax.com/A/QV5ZL1gZzy/ ...

     

    小甲鱼 OllyDbg 视频教程
          尝试 1 : https://www.bilibili.com/video/av6889190?p=17
          尝试 2 : https://www.bilibili.com/video/av6889190?p=18

    小甲鱼OD学习第13-14讲:https://www.bbsmax.com/A/QV5ZL1gZzy/

    逆向常用 api :https://pan.baidu.com/s/1dypI6la3Gj4i-G6exiCMkg    提取码:v6dq 


     

    尝试 1:使用 查找模块间的调用 进行逆向

     

    方法 1:

    API 函数 GetWindowTextA 可以取得一个窗体的标题(caption)文字,或者一个控件的内容

    可以通过 api 函数 GetWindowTextA 来进行逆向

    搜索 API 函数 GetWindowTextA 函数

     按 Alt + b ,查看所有断点,可以看到 下了 3 个断点

     

    把 这个 3 个断点删除,使用另外一种方法查找。

     

    方法 2:

    按下  Ctrl + n ,查找 getwindowa ,然后 右键 -> 在每个参考上设置断点。按下 Alt + b ,可以看到还是设置三个断点。

    查看断点 Alt + b:

    然后重新载入程序、运行,看程序有没有在断点处停下来。发现程序在断点处停下来,因为没有输入内容,所以这个断点是没有用的,删除这个断点,按 F9 继续。发现程序又在一个断点处停下来,同样没有输入内容,所以这个断点也是没有用的,删除这个断点,按 F9 继续。发现程序运行,出现界面。点击注册:

    发现程序果断的在最后一个断点处停下,

    然后开始 F7、F8 调试,寻找关键跳转:

    可见是判断al值,那么上一个call可能就是计算加密的函数,下断点进入

    神奇的发现有两处call地址相同,附近代码也相同,猜测这是程序怕被破解所以出现的二次验证程序

    进入后找到两处retn

    由经验得出第一个retn为true,第二个为false

    将跳转实现的标志位修改成未实现(修改标志位Z)

    修改后确实弹出了注册成功了的对话框,但是发现界面依然显示未注册的信息。

    这时候我们就要考虑他的双重验证了,第二个验证call

    也可以通过字符串查询方式,寻找关键位置

    下断点进入,找到关键跳转关键call

    进入函数 

    找到关键跳转,mov bl,1   
    后面直接 mov al,bl
    我们修改代码 mov al,1

    成功

    总结:还是要锻炼寻找加密思路,寻找关键的上一个跳转及call是最关键的

     

     

    尝试 2:查找关键字进行爆破

     

    这次我们的任务是 PJ 这个需要注册码的软件,如下图所示

    我们搜索上图相应的提示字符串,看看能找到什么线索,我们搜索  invalid  code  试试看,如下图

    然后下断点,如下图所示

    我们来到断点处的代码,如下图

    观察代码,发现0041749C  JNZ SHORT XoftSpy.004174E3  能跳转到相应的成功注册的提示信息,如下图

    我们干脆把代码改为 jmp  SHORT XoftSpy.004174E3,看看效果,如下图

    用所有修改保存,运行程序并且注册,发现提示成功,如下图

    但是我们又发现,软件还是没有注册成功,如下图所示

    我们干脆换个方式,搜索另外一个标志字符串,下断点,如下图所示

    观察 00401499 JE SHORT XoftSpy.004014AD,这行代码能跳转到软件注册成功的代码处,如下图

    我们尝试着用NOP来代替这行代码看看效果,如下图

    用所有修改保存,运行软件,发现已经破解成功!!

     

     

     

    展开全文
  • python逆向入门教程

    2021-01-01 13:22:55
    我们在Windows 10上开始python逆向之旅,首先开始搭建开发环境,python解释器使用最新的3.6.1,IDE使用PyCharm社区版2017.1.3,下载地址如下所示,下载完成后直接双击安装包安装即可,随后设置PyCharm的Project ...
  • windows 逆向技术必备知识(书籍)

    千次阅读 2019-09-04 11:45:24
    《加密与解密》是一本逆向必读书籍,以Windows平台为目标讨论。本书以软件逆向为切入点,讲述了软件安全领域相关的基础知识和技能,可以说是安全人士必读书籍之一了。《加密与解密》(第四版)国庆后将出版上市,...

    《加密与解密》是一本逆向必读书籍,以Windows平台为目标讨论。本书以软件逆向为切入点,讲述了软件安全领域相关的基础知识和技能,可以说是安全人士必读书籍之一了。《加密与解密》(第四版)国庆后将出版上市,许多朋友非常关注这本书,在这里简单谈谈阅读这本书之前,需要哪些基础知识。

    很多人都想学习加解密,这东西刚入门时会让人沉迷进去,可以饭不吃、觉不睡。出现这种现像,也许是解密满足了人们的猎奇心理吧。但掌握这方面技术,对自身的提高确实有好处:可以通过跟踪软件,提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序。研究解密技术有助于掌握一些系统底层知识,系统底层知识绝对是构造起大型软件的坚实基础。许多开发人员的发展,都经历了这一锻炼过程。

    大多数人可能认为解密是一门高深的学问。造成这种原因是以前这方面的技术资料缺乏,从而将“解密”这一技能“神”化了。初学者一般不知从何下手,由于没方向,花费了大量时间和精力,走了不少弯路。这里就给对这方面感兴趣的读者指明一个方向。

    一、汇编语言

    讨论前,先了解一下计算机中的程序。高级语言编写的程序,会编译成机器语言在CPU中执行,如Visual C++等。由于机器语言与汇编语言是一一对应的,因此就可将机器语言转化成汇编语言,这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流程,解析其功能了,这个过程就是解密(俗称破解)。也就是说,解密的基础是建立在汇编语言级别上的,因此想涉足这一领域的朋友,汇编语言一定得学好。

    汇编语言是大学计算机的必修课,这方面的书籍非常多,例如基普·欧文的《汇编语言:基于x86处理器》、王爽的《汇编语言》等。虽然大多数书籍以16位汇编为讲解平台,但对理解汇编指令功能而言依然有益。
    在这里插入图片描述

    看雪课程平台,也有汇编语言的视频教程,感兴趣的朋友可以看视频学习:
    《汇编快速入门》:https://www.kanxue.com/book-31.htm 看雪讲师:奋斗出国
    《从C语言追溯到X86汇编语言》:https://www.kanxue.com/book-27.htm 看雪讲师:岭南散人
    《汇编语言》:https://www.kanxue.com/book-28.htm 看雪讲师:君子谬

    二、Win32编程

    等汇编学好了,此时一般的逆向文章己能看懂了,但为了水平提高的更快些,建议再掌握Win32编程。Win32程序设计就是API方式的Windows编程,学习Windows API将使您更深入地了解Windows工作方式。此类书籍有Charles Petzold著的《Windows程序设计》(以VC来讲解)等。

    链接:https://pan.baidu.com/s/18BCJKXNwoaz9hM2-PpXT2Q
    提取码:6xmj

    在这里插入图片描述

    三、逆向技术

    有了上面这些基础,你就能看懂一些逆向文章了,也能看懂《 加密与解密(第四版)》这本书了,单击查看详细介绍
    在这里插入图片描述
    读者在阅读本书的内容后,很容易就能在逆向分析、漏洞分析、安全编程、病毒分析等领域进行扩展。这些知识点的相互关联,将促使读者开阔思路,使所学融会贯通,领悟更多的学习方法,提升自身的学习能力。

    软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合――密码学、程序设计语言、操作系统、数据结构。而由于这样或者那样的原因,对于这一领域的关注程度一直还处于低温状态。而这本书相信会为更多对知识怀有渴望的朋友多开辟一条走向这个领域的道路,并且进而推动这个领域的不断发展。

    原帖地址:https://bbs.pediy.com/thread-247264.htm

    展开全文
  •  一开始小白,学了些教程。  大多教程说了找功能的具体过程,但没说为什么要这么找。导致自己找新的功能时,容易不知道怎么下手。  也没找到把逆向分析这事说明白的资料,只能自己搜集零碎的信息,慢慢形成对逆向...
  • XSS高级培训、逆向工程、WINDOWS驱动开发综合教程。怎么说,在万千教程里,我精挑细选的三篇教程,绝对超赞。简单说一说他们的内容合适度。老少皆宜,新手大牛都适用的教程。为什么这样说呢?一般来说,教程的...
  • Windows X64 驱动逆向安全入门编程 精通windows下C,C++...
  • 获取微信的登录二维码,网上已有很多教程了,这里稍作总结,大概就以下两种方式: 1、直接获取二维码的图片数据,下载到本地; 2、获取二维码所表示的字符串,利用其它库(比如:libqrencode)来生成二维码图片;
  •  逆向两个目的  1、调用功能  2、获取数据 对应的实现方法  1、调用功能  找到偏移,直接调用。  2、获取数据  对于全局数据,找到偏移,直接得到。  对于局部数据,拦截代码,间接得到 。 写外部工具  1、...
  • 本套课程主要讲macOS平台的逆向分析,适合用于喜欢macOS系统的安全人员,如果对macOS逆向分析有兴趣那本套视频教程非常适合。
  • 这篇聊聊逆向分析用到的工具。不聊工具细节,自行百度学习。重要的是理清:使用工具,是为了解决什么问题。 工具  1、CE  找偏移的方法中聊到,最直接就是在内存里面搜索。  CE(CheatEngine又称CE修改器),就是...
  •  上一篇,聊到逆向分析是找偏移,有依据地找,效率会快。这一篇聊下找偏移方法。只说概念,具体的细节,后续会配合实战再展开细说。 找偏移的方法 1、内存  逆向的目的,是找功能或者数据在内存的地址。最直接的...
  • 逆向分析,到手的只有软件。从软件入手,推测对应的代码,需要了解一下编译之后的软件是怎么跑起来的。 软件运行过程  1、软件加载到内存。  2、CPU读取内存的指令。  3、根据指令,再读取数据,进行运算。  4...
  • Windows逆向分析 环境与工具 windows 10任意版本 frida ida X64dbg vscode 010editor 去官网下载最新windows版本,运行效果如下图所示。 这里就不带大家怎么看什么写的了(方法一样是查看所有模块),...
  • 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤QQ群:623406465 目录 需要的Python模块 实现思路 代码及运行结果 正文 1.需要的.
  • 安卓逆向系列教程 4.2 分析锁机软件

    万次阅读 多人点赞 2017-01-28 17:30:30
    安卓逆向系列教程 4.2 分析锁机软件 作者:飞龙 这个教程中我们要分析一个锁机软件。像这种软件都比较简单,完全可以顺着入口看下去,但我这里还是用关键点来定位。首先这个软件的截图是这样,进入这个界面之后,...
  • 2.在Windows系统中一般的弹出网页都会调用【shell32.ShellExecuteA】这个函数来完成,我们就直接下一个断点。   3.运行程序直接点击,【弹出百度】按钮,程序会被断下,直接出这个CALL,到CALL的外部。  ...
  • 小膀子app逆向百集_01 Android体系结构 小膀子app逆向百集_02 APK根本结构 小膀子app逆向百集_03 JVM、DVM与ART 小膀子app逆向百集_04 Android开发东西装备与运用 小膀子app逆向百集_05 Android逆向东西装备与运用 ...
  • 逆向分析学习入门教程

    万次阅读 多人点赞 2016-09-17 12:16:21
    转在于 逆向工厂(一):从hello world开始前沿从本篇起,逆向工厂带大家从程序起源讲起,领略计算机程序逆向技术,了解程序的运行机制,逆向通用技术手段和软件保护技术,更加深入地去探索逆向的魅力。一、程序如何...
  • 前言 这一篇,用到找偏移的第二个方法:界面;第四个方法:字符串;第六个方法:第三方库。...工具和教程,放群里(163419350),方便交流。 实战代码放在github:https://github.com/KongKong20/WeChatPCHook
  • 180201 逆向-PinTools on Windows

    千次阅读 2018-02-05 00:01:20
    1625-5 王子昂 总结《2018年1月30日》 【连续第487天总结】 A. pintools on windows B. 刷题遇到一个解释器的题目,静态也可以做,分析了一下发现大概率是逐字符读取并运算的 ...然后就傻逼了OTZ查了一下教程
  • 飘云阁15周年逆向破解教程

    千次阅读 2018-06-09 18:54:51
    飘云阁15周年逆向破解教程基础专题1.破解工具介绍2.初识汇编指令3.常用断点讲解4.实例讲解程序关键代码5.ida分析程序链接反调试专题一、反调试的基本认识 学习和使用 基本常见的反调试 Windows API调用,以及反调试...
  • Windows C/C++与游戏逆向辅助开发

    千人学习 2020-06-08 16:27:05
    学习C/C++基础, 并从内存和汇编的角度深入理解C++, 为以后的逆向做好基础铺垫 学习Windows常用API函数、网络通信(socket和http协议)、线程池等 实战MFC、大漠插件、雷电模拟器控制、MySQL数据库操作基础、Lua、游戏...
  • 1 PowerDesigner逆向工程 传说中,程序员们喜欢用powerDesign进行数据库建模。通常都是先设计出物理模型图,在转换出数据库需要的SQL语句,从而生成数据库。 但,江湖中流传着“powerDesign逆向工程”的传说。好,...
  • 学着做了一段时间的windows逆向的内容,相接处一下安卓的就找了一些资料。看完之后受益匪浅,但是还是有一些欠缺的东西。比如app被加壳 后,还不会去app的壳,如果谁能看见,烦请分享一下。 不多废话,这里...
  • 安卓app逆向破解脱壳教程

    千次阅读 2021-01-19 01:16:32
    From:Hook 神器家族的 Frida 工具使用详解:... ... APP逆向神器之Frida【Android初级篇】:https://www.jianshu.com/p/2d755beb1c54 frida 官网文档:https://fr..
  • 逆向分析,OllyDBG 、ODbgScript 、WinDbg以及windows调试

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,270
精华内容 1,708
关键字:

windows逆向教程