老文章档案 · 2003 年

diy pe教学5

破解教程 · 破解杂谈 · 2003-09-16 · 作者:pll621 人气: · 出处:赢政天下整理收藏)

程序:某国产软件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啊,由此拓展,用这样的方法可以记录很多有用的信息给我们,比如你想了解某个地址,堆栈,寄存器等的变化情况,又不想去一次一次中断看,

就插一段这样的语句,是不是很省事情哦

后记:

希望大家在操作的时候多动脑筋,没有作不到,只有想不到,很多看似简单的东西,其实还是有很大的用处的。 (出处:赢政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史