关于查找程序入口地址的最简单方法,一步解决

怎样找到其他进程入口地址.

网上提供了很多方法,我看了下,都是很复杂,PE太复杂了,直接不学,跳过.

经过olydbg反汇编与调试,我发现了一个简便的查找程序入口地址的方法,只用一步就行了

不同的程序入口地址不同,但是不同的程序在从硬盘上加载到内存其主线程的堆栈是一样的.这块内存记录了进程的很多信息,其中在堆栈的最后面记录了程序的入口地址.经过我的一番反汇编和查找,发现者个程序入口地址存在于0x0012FFF8(所有程序的这个内存地址中包含的值,就是程序的入口地址).我们只需要使用API函数 ReadProcessMemory读取这个地址中的值,就能得到程序的起始这个地址了 

找到进程入口地址中有什么用

首先.如果想要制作内存搜索工具(用来做外挂的)的话,一般先要找到   入口地址到7FFFFFFF  这块内存区域中的占用的内存块,在这些内存块中查找数据,避免了搜索内存的无用功.我曾经就做过一个内存搜索+修改工具,用来修改游戏的,可以说对所有游戏通用的,但是用VB做的,又没有什么好的算法,所以搜索速度好慢.不过勉强还可以用,最大的好处是能过各种网游的防护程序.

第二个那就是修改程序代码,我们先在创建一个进程,立即挂起进程.向进程中空白的内存区域写上自己写的代码.然后在程序入口地址加一个Jmp指令,跳转到我们刚才写的代码处,最后在跳回我们真正的入口地址.这样就能在进程加载各种防护措施时做各种修改.

你可能感兴趣的:(技术探索)