OD逆向调试程序的笔记
1-读取文本框内容常用的函数(这里的“A”表示ASCII,“W”表示宽字符UNICODE,下同)
-GetDlgItemTextA()<这个函数是最常用到的>
-GetWindowTextA()
-DialogBoxParamA()
-GetDlgItem()
-GetDlgItemInt()
-GetWindowLong()
2-在逆向程序的算法逻辑时,add,mov,sub,sbb,test,cmp……等这些指令出现的地方,这些指令往往用来进行某些验证等,也是程序设计时的关键手法,在这些指令上面动手脚通常都可以找到突破口,逆向时要做好注释,防止走迷宫。
3-Killtimer()函数是一个记时API函数,例如某些商业软件的试用时间就与KillTimer()有关。
4-当在破解软件的时候如果某些条件下达成了一些状态,也就是突破了某些限制的时候,往往程序自身会根据开发时的规划重新设置当前自身状态,比如重新绘制窗口("ResetToolbars","Settings")。
5-在编写汇编程序时要注意十六进制数不能以字母开头,如果原始数是以字母开头,要在前面加上0,否则在编译的时候就不能被识别出 来,如果不是以字母开头则不作改变,并以H/h结尾表示该数是十六进制数。同理,打补丁修改成的时候,单独的十六进制数如果是字母,就需要在前面加个0。
6-对话框从类型上分为两类:modal(模态对话框)和非模态(modeless)对话框。他们之间的区别在于是否允许用户在不同窗口间进行切换,模态对话框不允许,而非模态对话框允。
创建模态对话框是由调用DiaLogBoxParam()函数实现,而创建非模态对话框是调用CreateDiaLogParam()函数实现的。
7-RegOpenKeyEx()函数的作用是打开一个注册表的键值(注册表是widows提供的一个数据库,让普通的程序软件把自己的版本信息,完成进度,环境变量,是否注册等信息写到里面),打开之后如果函数返回值为0,说明成功的打开了一个键值,这个操作类似C语言的main函数返回0表示正常。
8-RegQueryValueEx()函数通常与RegOpenKeyEx()函数搭配使用,它的作用是在RegOpenKeyEx()打开的键值中找到一个键名,并把这个键名的值传出来,存放到数据缓冲区里。比如二者搭配起来就可以检测程序在注册表里是否被注册。
转载于:https://blog.51cto.com/11960307/1869875
OD逆向调试程序的笔记相关推荐
- [网络安全自学篇] 七十.WannaCry勒索病毒复现及分析(三)蠕虫传播机制分析及IDA和OD逆向
这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了宏病毒相关知识,包括宏病毒基础原理.防御措施.自发邮件及APT28样本分 ...
- [系统安全] 二十七.WannaCry勒索病毒分析 (3)蠕虫传播机制解析及IDA和OD逆向
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- 滴水逆向win32学习笔记1
滴水逆向win32学习笔记 一.字符编码 基本介绍 关于utf-16.utf-8和unicode的关系 BOM头 二.宽字符 基本介绍 常用函数 三.Win32 API中的宽字符 什么是win32 A ...
- 逆向QBasic7.1笔记
一.前言 最近接触了一个QBasic编写的16位程序的逆向,该程序是运行在纯DOS环境下,虽然此环境已离我们远去,能接触到的机会不是太多,但为了防止有意外碰到的同学像我最开始那样走弯路,特此将该笔记整 ...
- [系统安全] 十四.熊猫烧香病毒IDA和OD逆向分析--病毒释放过程(下)
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- OD逆向一个简单的工程实战
今天闲着没事干,找朋友要了一款简单的登录软件用来写这篇基础入门文章,这篇文章算是最基础的一个逆向工程的实战演示.软件逆向工程(Software Reverse Engineering)又称软件反向工程 ...
- 第50篇:使用OD逆向破解流光Fluxay扫描器各种限制(怀旧)
Part1 前言 大家好,我是ABC_123,最近在整理之前用过的工具,发现了大学时期曾经用过的小榕写的扫描器"流光Fluxay",一晃15年过去了,这个工具当年在国外的名气也 ...
- 滴水逆向3期笔记与作业——01汇编
防止OneNote丢失. 海哥牛逼. 01汇编笔记 01进制 进制定义 10-2进制转换 八进制 02数据宽度/逻辑运算 数据宽度与存储 逻辑运算 计算机做加法的本质 作业 03通用寄存器_内存读写 ...
- 180728 逆向-SMC出题笔记
在某黑哥的指示下给他加紧出两个题目~ 最先想到的就是34c3ctf时做过的SMC题目,那个随机数混杂着自解密真的是让我久久无法忘怀 SMC题目的核心就在于自解密时的key 如果key不提供,那么考点就 ...
最新文章
- QT入门注意事项(1)
- linux下root密码修改方法
- openfire 的配置文件
- 修改db2管理服务器,创建DB2管理服务器的两种情况
- ASP.NET 3.5中客户端回发及回调
- Win10解决Android Studio:Gradle sync failed: Failed to open zip file.
- linux 初步学习
- 【企业】任正非:管理的灰度
- Windows 10 打印机驱动安装(以惠普M136 MFP为例)
- 计算机主机跳线连接图片,台式电脑主机五根跳线怎么接?红白 蓝白 绿 白 橙白...
- 【原创百篇纪念】2048蒙特卡洛法与强化学习测试+B站视频爬取与Cookie攻击测试
- 倍福 ton_b%C3%A9ton野蛮或野蛮
- DW CS5及CC的部分序列号总结
- 《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第3章 TWen-ASR-ONE 多线程和消息队列
- 【系统测试报告】苏科大App系统测试报告
- 系统迁移涉及到的方案
- 祭出黑白共济战略,海信、TCL、创维、康佳能否打开增量消费市场?
- 你被套路了吗?预防分析失误的必看指南
- TextBoxes++
- 医生学python_Python微医挂号网医生数据抓取
热门文章
- 关于Fragment、Tabhost和FragmentPagerAdapter来实现导航栏的效果
- linux egrep新添的正则表达式元字符
- Google Guava 库用法整理
- 【题解】lugu P4095 Eden的新背包问题
- Java基础——注解
- Makedown 本地图片问题
- Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾
- BZOJ 1012: [JSOI2008]最大数maxnumber(线段树)
- android抽屉实现不同之处
- install_mysql57.sh