逆向工程初步

STM32F1x 逆向工程初步 背景终于难得闲暇和久违的激情 , 赶紧动手 , 这次也是初步的体验 , 所以目的就是简单的 dump 程序 , 和基本反汇编工具集介绍软件部分 OpenOCD Open On-Chip Debugger 著名的开源硬件调试器 支持多种的 调试器 (St-link)(jlink) 之类的符合JTAG标准的 支持多种 MPU 调试 只要是主流的都有(这次用到的 STM32F1x 默认有了配置文件 阅读详情
1.完全新手指南
http://www.freewebs.com/fdemunck/newbieproject1.rar
有汇编基础,softice的使用,都是一些基础知识。
http://evilteach.8k.com/
中有四篇文章讲述什么是逆向工程。

2.挑战和指南
http://crackmes.de/在这里有很多合法crackme来测试你的水平。
并且他们是按照难度等级来排序的。

3.指南,杂志,文档,书籍
---win32 api 帮助
http://www.borland.com/devsupport/borlandcpp/patches/BC52HLP1.ZIP ;
这里你可以下载到链接到olly的win32帮助文件。不要认为这是无意义的,
假如你没有,那赶紧下载吧。
---win32基础
http://www.winprog.org/tutorial/index.html ; 这里你可以学到真正的c语言的win32编程基础。读完他。你对windows了解越多,你在逆向代码的
时候理解的就越到位。
---密码学免费电子书
http://www.cacr.math.uwaterloo.ca/hac/;密码学应用手册,非常酷的免费
的密码学方面的电子书,可以提供完美德在线参考。
---密码学课程
http://www.cs.washington.edu/education/courses/csep590/06wi/ ;
是一整套介绍密码学的课程,是学习密码学一个好的起点。
---密码学指南
http://www.certicom.com/index.php?action=ecc_tutorial,ecc_tut_1_0 ;
非常好的关于椭圆算法的阐述,非常有价值。
---注入代码,一般逆向介绍指南/文档
http://www.codeproject.com/useritems/inject2exe.asp ;
这篇文章包含基本工具(资源黑客,调试器,反汇编器)的使用和如何在可执行文件中注入代码。
---SEH杂志/指南/文档
hxxp://www.jorgon.freeserve.co.uk/Except/Except.htm ;
---PE格式,反调试,反内存拷贝,Iczelion 的汇编教程
http://www.migeel.sk/anticrack/showpage.php?page=downloads ;
---在Code-Breakers(CBJ)杂志上关于PE头的文章
http://www.secure-software-engineering.com/index.php?option=com_content&task=view&id=60 ;
包含非常详细简明的PE各部分介绍,包括,引入表,导出表,段,目录,资源。由新手到专家必备。
---PE头参考
http://webster.cs.ucr.edu/Page_TechDocs/pe.txt ;
包含PE头的详细描述,可做资料查找。但是学写PE文件建议读上面的CBJ的文章
---快速汇编参考
hxxp://faydoc.tripod.com/cpu/index_v.htm ;
奔腾cpu汇编指令速查手册。只须点首字母即可选择汇编指令。非常顺手
(假如你将他们下载到本地硬盘).
---网络编程快速向导
hxxp://beej.us/guide/bgnet/output/htmlsingle/bgnet.html ;
快速学习网络编程基础的文章,只需要很短的时间.
---给PE文件增加段,相对虚拟地址/加载修补代码
hxxp://www.sunshine2k.de/Articles.htm ;
包含许多小的,非常基础的PE文章,导入表,dll注入代码

4 语言学习(汇编等)
---汇编语言学习
hxxp://webster.cs.ucr.edu/
HLA的汇编站点。免费电子书《汇编语言的艺术》还有HLA的编译器和一些工具,此外,还有LINUX部分。
http://www.drpaulcarter.com/pcasm/
有非常好的学习汇编的电子书,如果你不喜欢HLA,那么这是个不错的选择
http://savannah.nongnu.org/projects/pgubook/
汇编教程,甚至有什么是“WORD”,AT&T汇编语法
---c++学习
http://www.cplusplus.com/doc/tutorial/ ;
教给你如何使用c++编写注册机,对c++逆向有帮助
---汇编快速开发环境
hxxp://www.radasm.com/ ;
汇编的RAD
---自由的c++/pascal
http://www.bloodshed.net/ ;
如果你想使用免费的编译器开发注册机,可以选用其中一个,C++核心是GNUCPP
---RosASM
http://rosasm.org ;
包含12篇汇编基础教程.

5调试器和反汇编器
---OLLY
http://ollydbg.de/
使用最多的ring3下的调试器,必备
---SYSER
http://www.sysersoft.com/ ;
完美的ring0下的可视化调试器,虽然不是很稳定,但是使用起来非常酷
---WINDBG
http://www.Micro$oft.com/whdc/devtools/debugging/default.mspx
微软的ring0调试器
---IDA
http://www.datarescue.com/ ;
交互式反汇编器,可进行静态分析
---PVDASM
http://pvdasm.reverse-engineering.net/ ;
非常有趣的反汇编工程
---OLLY Plugins
http://woodmann.net/ollystuph/index.php ;
许多od有用的插件
---Shadow's OLLY
hxxp://navig8.to/Shadow/
修改版od,需要付费.

6 训练工具
---FILEMON, REGMON
hxxp://www.sysinternals.com/FileAndDiskUtilities.html
文件,注册表监控
---LordPE
hxxp://www.softpedia.com/get/Programming/File-Editors/LordPE.shtml
可以浏览,修改PE头,段,引入表,目录等

7 linux相关
---NASM反汇编器
hxxp://nasm.sourceforge.net/ ;
开源的跨平台的汇编器
---GNU调试器
hxxp://www.gnu.org/software/gdb/gdb.html/ ;
LINUX和WINDOW均可运行支持远程调试

8 建议读的书(收费)
---逆向:Secrets of Reverse Engineering
逆向工程基础,物有所值
---Rootkits : Subverting the Windows Kernel
高级读物,不适合新手,如果你在逆向方面进步读他,通过其他途径很难学到的技术他都有清楚地阐述,必备,物有所值

9 高级逆向刊物
---逆向程序分析例子
http://www.honeynet.org/scans/scan33/nico/ ;
讨论 逆向和反逆向技术,从pe头到反调试到虚拟机
---反汇编器和其他工具
hxxp://www.cybertech.net/~sh0ksh0k/projects/ ;
一组有用的工具,包括注入,粘贴,端口重定向
---引入表结构和重定向
hxxp://www.codeproject.com/useritems/inject2it.asp ;

10 网络黑客
hxxp://www.pulltheplug.org/wargames/vortex/ ;
《逆向工程核心原理》第一~二章知识整理 前两章主要是关于 OllyDbg 的初步使用,主要是通过一个简单的程序,学会 OllyDbg 快捷键的使用,学会一些调试的操作,初步明白一些常用操作的含义,初步学会修改字符串这一简单操作。 阅读详情

相关推荐

对智能手表进行逆向工程

目录: 初步观察PCB 的逆向工程引入 Ghidra重新编程智能手表前段时间,我收到一批具备地理定位功能的智能手表,这些手表在试用期结束后被搁置。我决心为它们找到新的用途,于是开始了我的智能手表逆向工程之旅!在本文中,我将分享智能手表逆向工程的过程,首先展示一些关于手表外观和电路的初步观察,然后详细讲述如何重新编程智能手表,最后说明如何修补固件以实现其重新利用。这些手表以最基本的配置交付,包装内仅附有一页关于如何充电和使用的说明。每个盒子内包含一个充电器和一块手表。没有提供 README 文件、官方网站或开

2401_89294392的博客 1469

逆向工程自学1(主流保护方式+破解交流网站+逆向工具)

主流的保护方式: 1)序列号模式(硬件序列号,用户名-序列号) 2)弹窗输密码(Nag Screen) 3)软件限制(次数限制,时间限制,功能限制) 4)可移动介质保护(光盘,USBkey) 5)网络验证(将用户名和注册码等发送到服务器上进行验证) 6)其它保护模式(验证文件,预览版本) 主流破解论坛或网站: 1)crackmes.de http://www...

Allen Roson 4856

STM32F1x系列芯片的逆向工程初步

总结起来,逆向工程STM32F1x系列芯片是一项复杂而有挑战性的任务,但通过深入研究和分析,可以揭示芯片的内部工作原理和特征,为开发者提供更多的理解和控制芯片的能力。逆向工程是一项重要的技术,它允许开发人员深入了解和分析芯片的内部结构和功能。逆向工程是通过分析和研究芯片的硬件和软件特征,以了解其内部结构和工作原理的过程。逆向工程STM32F1x系列芯片的过程可能会涉及到更多的步骤和复杂的技术,例如反汇编、静态和动态分析等。此外,需要注意逆向工程的法律和道德问题,确保在合法和道德的框架下进行研究和分析。

XeCuda的博客 2041

Crackmes.de上borismilner的一个crackme

borismilner提供的几个crackme归档在"1-very_easy_for_newbies"下: level0-level3还算简单,是名副其实的"crackme for newbies",但是相比起来level-4.exe可能超过"newbie"的能力,因为作者在CRM中用了简单的SMC(self-modify code)。且不论它是不是真的"very easy",看我在此献个丑...

lixiangminghate的专栏 556

综合恶意软件逆向工程实践与分析

本文还有配套的精品资源,点击获取 简介:在IT安全领域,“Malware-Misc-RE:杂项恶意软件RE”致力于研究无法分类的特定恶意软件。逆向工程是关键手段,用于揭示恶意软件的工作原理和潜在威胁。Jupyter Notebook在此项目中起到重要作用,它帮助安全专家组织和展示恶意软件分析过程。本项目可能包含样本分析、分析笔记和报告、工具和脚本、日志和捕获文件、数据结构和...

weixin_42311427的博客 840

Qt+Windows逆向分析源码,读取微信用户信息

Windows下逆向分析源码,界面使用Qt,进程和读取内存使用Windows方法,

【Windows逆向】【Qt】资源解析

从图中可以看到,android模拟器、魔兽战网平台、Origin游戏平台、x64dbg都使用了qt框架,除此之外还有很多应用使用了Qt,市面上对Qt的逆向也很多,在这里我们将分析如何导出Qt中的图片资源,其他资源暂时未找到方法,有大神知道的不吝赐教。Qt中加载文件是通过路径“:/new/prefix1/logo.ico”加载的,直接构造对象QPixmap,即可加载图片资源,调用QPixmap的save函数即可将文件保存起来,那么我们写个dll,直接执行这些函数是不是就可以了呢。但是frida中必须。

kinghzking的专栏 5638

【实战解析】Ubuntu双网卡冲突:如何解决同一网段下网关无法访问及上网问题

本文深入解析Ubuntu服务器双网卡配置在同一网段时引发的路由冲突问题,导致网关无法ping通及无法上网。通过分析路由表与Metric值原理,提供使用route命令调整优先级及修改Netplan配置文件的实战解决方案,确保主次路由明确,一劳永逸解决网络冲突。

f9g0h的博客 284

Qt-C++-信号槽-调用形式-逆向分析-槽函数定位

从上面的源码可知,如果需要真正的逆向定位槽函数,关键在于找到qt_static_metacall函数,找到qt_meta_stringdata_QtConnect所在位置可知槽函数的源码名称。qt_static_metacall函数是当前类对象槽函数的上级函数,可以根据此特征,在一些有提示的按钮上,快速找到此函数。信号槽是一种观察者模式的实现。是Qt的核心骨架之一。按序号索引上级函数。如有疑问,敬请留言。

插件开发 1250

主成分分析(PCA)和局部线性嵌入(LEE)原理详解

从KNN谈“维度灾难”,介绍线性降维PCA和局部线性嵌入LLE 这两种降维方法的原理

superzzx0920的博客 5617

《QMT量化实战系列》支持自定义筛选与排序的多因子策略,实测年化收益超100%

【QMT量化实战系列】推出《支持自定义筛选与排序的多因子策略》,通过Tushare获取38个核心因子数据,实现股票多维筛选(剔除ST股、次新股及特定板块)。策略创新性地采用多因子加权排名机制,通过(股票数-排名+1)/股票数*100的算法计算各因子得分,支持自定义权重组合。该策略提供完整代码及详细注释,涵盖数据获取、因子筛选、权重排序等核心环节,帮助用户构建个性化量化模型。系列内容每月更新1-2期,由浅入深讲解QMT平台实战应用。

qq_46262068的博客 1257

Android逆向工程初步(一) 15.4.24

最近看了看Android的逆向工程,破解的书,像是《Android Hack‘s Book》之类的,感觉挺有意思的,看了看一些smali的语法,试着自己写了个demo玩玩: 1.工具: 最新版的apktool2.0:http://connortumbleson.com/2015/04/20/apktool-v2-0-0-released/ 安装方法在:http://ibotpeac...

aguc11537的博客 158

stm32h743的hrtim使用生成pwm波

HRTIM(High-Resolution Timer)是一种高精度定时器,其时钟频率可直接与CPU主频同步,达到480MHz。相比之下,其他传统定时器需挂载在APB总线上,受总线频率限制,最高仅支持240MHz。这种直接时钟同步机制显著提升了定时器的分辨率和精度。

d13211322的博客 1614

逆向工程初步(翻译)by:zjg1979

 From:http://bbs.driverdevelop.com/htm_data/100/0708/104632.html逆向工程初步(翻译)1.完全新手指南http://www.freewebs.com/fdemunck/newbieproject1.rar 有汇编基础,softice的使用,都是一些基础知识。http://evilteach.8k.com/

Linhanshi Blog 1280

Windows 上安装 Everything:快速查找电脑上的文件

windows 快速查找文件

jhgj56的博客 1523

树冠体积计算之体元累加法

因为是自己之前研究的一个方向,就复现了一下论文中的这个方法,在此正好记录一下。 文章目录一、简介二、代码实现(MATLAB)三、小结 一、简介 简而言之,其实就是一句话,即以固定大小的体元模拟不规则的树冠形状。按照论文中的思路主要就是将树冠沿树高方向以 k 为步长进行等距离分段,把每一段树冠的点投影到垂直于树高方向的平面上,再对该平面划分成大小为 k × k 的像元,根据投影到各个像元内点的数量,判断该像元的有效性,统计有效像元的数量 T,则树冠体积为 T 个 k × k × k 的体元之和。如下图所示:

dayuhaitang1的博客 2609

逆向工程初步(有很多超酷的资料和网站)

1.完全新手指南http://www.freewebs.com/fdemunck/newbieproject1.rar 有汇编基础,softice的使用,都是一些基础知识。http://evilteach.8k.com/ 中有四篇文章讲述什么是逆向工程。2.挑战和指南http://crackmes.de/在这里有很多合法crackme来测试你的水平。并且他们是按照难度等级来排序的。3.指南,杂志,

tikycc2的专栏 1285

Failed to connect to gitee.com port 443: Time out 连接超时提示【Bug已完美解决-鸿蒙开发】

在进行Sample导入或Git项目Clone时,遇到连接超时问题是一个常见而令人烦扰的情况。连接超时问题通常源于网络限制,可能是由于防火墙、代理设置或其他网络配置导致。因此,首先要关注网络状态,确保网络通畅。如果在网络受限的情况下,代理服务器配置是一个有效的解决方案。通过在Git全局配置中设置代理信息,可以将网络请求通过代理服务器传输,规避一些网络限制。但在使用代理时,需要确保代理服务器的可用性和稳定性,以免引入新的问题。

一键难忘的博客 4562

逆向工程初探之汇编指令

逆向工程初探之汇编指令 汇编指令 英文原版(Intel指令手册) 中文 MOV Move data between general-purpose registers; move data between memory and generalpurpose or segment registers; move immediates to general-purpose registers 在通用寄存器之间移动数据;在存储器和通用寄存器或段寄存器之间移动数据;直接移动到通用寄存器(赋值)

m0_46746801的博客 291

【KingSCADA】如何创建新应用

KingSCADA3.8集成开发环境是基于工程的应用管理模式,实现了对多个应用的集中开发和管理的功能,一个工程可以同时管理多个应用,即在KingSCADA3.8工程设计器中可以同时对多个应用进行开发,应用之间可以实现相互复制、粘贴等功能,大大提高了开发效率。(此处感觉和VS类似)使用KingSCADA3.8开发的系统称为应用,一个完整的应用一般包含以下部分或全部内容:IO设备、IO采集点、图形界面、动画链接、趋势曲线、报警和事件、历史记录、数据库、Web Server等部分。

做有价值的事,积累有价值的笔记! 3110

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

逆向工程入门简介

逆向工程入门简介

Sakura给爷pwn全场 306

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java逆向工程

上周需要对原先的一个demo调用,发现功能已经到期了,因此就进行了逆向工程。(额,捡起了大学的老专业,只不过这种属于最低阶的,原先对PE的硬破解也要比这个简单得多,而且一般都没有对代码混淆...) 1、Java编译原理初探 2、实例过程记录

jstart 834

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CTF竞赛Writeup:Mysterious Binary(逆向工程挑战)

这个CTF题目考察了对二进制文件的逆向分析能力。使用file和strings工具:初步了解文件类型和可能包含的字符串。动态分析:运行程序,观察其行为。静态分析:使用Ghidra工具分析程序逻辑,找到关键条件。找到Flag:根据分析结果,输入正确的数字,触发正确的输出。这个题目让我深刻体会到,逆向工程不仅仅是分析代码,还需要结合动态和静态分析的结果来解决问题。希望这篇Writeup对你有所帮助!如果你对这个题目还有其他解法,欢迎在评论区分享。

2402_89474604的博客 1117
上一篇: eMule协议简要分析
下一篇: 驱动反汇编常用结构体OffSet
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值