逆向工程hello-world
Posted beautiful7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向工程hello-world相关的知识,希望对你有一定的参考价值。
首先采用VS2019进行windows的message函数编程,实现一个message窗口。
具体代码如下:
#include<Windows.h> int CALLBACK WinMain( _In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow){ MessageBox(NULL, TEXT("Hello,windows!"), TEXT("hello msg"), 1); return 0; }
然后调用OllyDBG进行调试和反汇编:
这是失误案例,因为我采用的是VS2019的新的Windows message来处理,可能保护性比较强。
所以我重新采取了VC6.0来处理:
代码如下:
#include<windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdshow) { MessageBox(NULL,TEXT("Hello,windows!"),TEXT("hello"),0); }
然后放入OllyDBG中来处理:
这样就很清晰的可以看到反汇编的结果。不得不说vs还是厉害。
然后查看我们要修改的东西,这里再OllyDBG这里有个乱码,但是不用怕,双击可以看到结果
然后来定位数据
使用快捷键Ctrl+G输入查询地址
可以看到我们需要的内容在这里呈现了。
然后在指定的Hex数据里面单击选择修改,或者Ctrl+E来一个一个处理:
可以很清晰的看到改动了。
再进行F8进行单步调试
然后选择运行就可以得到破解的文件了
OK,最简单的windows破解完成
总结如下:
1.导入exe程序
2.找到需要修改的东西
3.查询文档知道东西的意义
4.定位数据
5.修改
6.调试
7.得出程序
以上是关于逆向工程hello-world的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段