好游好爆下载网_好游APP网_好游快爆报手游APP下载中心欢迎你!

5个简单步骤,维修鼠标DIY diy

diy pe教学5

查看人次:0摘自:好游快报

这里介绍一种U盘做PE的方法也就是USB-ZIP启动模式的方法,下面一起来学学U盘做PE的方法吧

程序:某国产软件xxx.exe  注册码检验方式:网络校验  原文件加壳:未知壳  脱壳用trw找到入口点,pedump,修复iat,过程省略(很简单,不值得写)  脱壳后继续更踪找到注册码判断点  mov edx,xxxxxxx==》edx 是网络注册码  mov eax,xxxxxxx===》eax 是自己输入的注册码  call xxxxxxx==》这段是比较的call  jz xxxxxx==》不等就完蛋  由于是网络校验,这个形式调用了很多次,每次都能d edx看到不同的注册码,  可见是把你输入的注册码和网络数据库里的注册码,逐个比较,如果相等就  成功,直接改那个jz就ok了,不过我们如何得到这个数据库所有的注册码呢?  我一开始的想法是用messagebox,更改其跳转到自己的程序:  push 0  push edx  push edx  push 0  call messagebox  这样不是就能看到注册码么?但是有个缺点就是一次只能看到一个,而且还有可能导致  网络超时,  于是就换种思路,再每次调用的时候保存dx的注册码,最后再ExitProcess的时候把所有的注册码写到一个文件里面,  这样的话就需要先VirtualAlloc内存,然后creatfile,在lstrcpy,然后writefile,最后closefile 和VirtualFree这片内存  真是麻烦之又麻烦,如果程序没有这些函数,还要自己构造相关函数,对我这种能简化就简化的人来说,是比较痛苦的一件事  ,但是在实际操作的时候,突然想到,我写上篇文章的时候有过写ini的api,马上想到是WritePrivateProfileString,查api手册看看  BOOL WritePrivateProfileString(      LPCTSTR lpAppName,    // pointer to section name      LPCTSTR lpKeyName,    // pointer to key name      LPCTSTR lpString,    // pointer to string to add      LPCTSTR lpFileName     // pointer to initialization filename    );      真是个好东东啊,不要分配内存,也不要打开文件句柄,只要这个四个指针就ok  实际操作的时候就可以这样来更改,当然首先更改原来的程序跳到自己的程序  自己的程序:  inc key==》每次都改变一下key的内容,不要把所有的注册码都写道一个key里面,那岂不是白干了:)  push filename===>文件名(xxx.ini)的指针*自己在程序中找个空白的地方用winhex添一个就行了,然后转换成rav push 这个rav  push edx==>本来是push 要更改的string地址,这里就是edx了,我们的注册码  push key==>key 名称的指针了  push sectionname==>段名称指针,(我实际构造的时候这个段名称就是serial)  call WritePrivateProfileString  mov eax,xxxxxx==》恢复原程序动作  jmp xxxxxx==》跳回原程序  程序执行完后,就可以去c:\windows(也就是你安装windows的目录)里面找这个xxx.ini文件了,打开一看,哈哈所有的注册码排列的整整齐齐  真是happy啊,由此拓展,用这样的方法可以记录很多有用的信息给我们,比如你想了解某个地址,堆栈,寄存器等的变化情况,又不想去一次一次中断看,  就插一段这样的语句,是不是很省事情哦  后记:  希望大家在操作的时候多动脑筋,没有作不到,只有想不到,很多看似简单的东西,其实还是有很大的用处的。 

相关文摘:破解文章 windows
标题名称:《5个简单步骤,维修鼠标DIY diy》
本文网址:https://www.yika.net.cn/haoyou/tpart-21590.html