型态一 -- 可注册 windows 软体 .
特征是当未注册时 , 一进去会有延迟画面 , 可能有时效限制 (30 天後不能用之类 ), 在某个地方有个注册功能 , 打开之後是个对话框 , 要求输入密码 , 有时还有姓名和公司 名称 .程式如何判断注册与否 ?
通常两种方式 :
1. 在程式码的某一处 , 藏有 " 注册印记 ". 如 00 表未注册 , 01 为已注册 . 当然也有 很奇怪的数字 , 如 f8 03 表已注册 .
2. install 时程式开 *.ini, 或写入 win.ini, 把资料存在ê里 . 程式如何保护 : 最通常是用你的 name 当作 key, 经过复杂演算法 , 算出密码 .程式流程 :
get register data /* 可能从 *.ini 念出 , 或从程式某一段读出某一 byte */
if registered /* registered 判断可能是一行指令 , 也可以是副程式 */
main_program;
else
if date_expired
end_program;
else
show_unregistered_screen;
main_program;
.
.
main_program()
.
注册处理 :
2. 同 1, 但以後一执行程式还是会判断 .
3. 输入时不比对 , 只写入资料於 *.ini, 程式执行时再比对 .
如何判断追踪时我们身在何处 :
在 dos 程式 , 进入 debuger 後 , 只要我们不进入 int 一定留在程式里 .
在 windows call back 方式下 , cpu 在程式和系统里跑来跑去 , 关於这点我曾 post 过 , 或请参阅 相关书籍 .
我们如何知道现在在系统还是程式中呢 ? winice 在下面 3/4 处有一条横线 , 中间有 ***.1, ***.10 之类的东西 , 以程式为 abc.exe 为例 , 如果是 abc.5, 表示在 abc.exe 里的第 5 个模组 ( 或副程式中 ), 系统主要有三个模组 user, kernel, gdi, 所以 看到 user.119 这是在系统中 , 别被 user 这个字骗了 . 如果你不能肯定 , 可用 bc4 所附 tdump.exe 来看 ( 这是 dos 程式 ), export 的就是非系统模组 .如何破解 :
通常会在 30:????? 找到 , 我们当作是 30:7777 好了 .
打入 ,
bpm 30:7777 rw
按 ^d 回来 , 再按下注册画面的在 windows 下是什 呢 ? 我履试不爽 -------GetDlgItemText.
~~~~~~~~~~~~~~
GetDlgItemText 的用法请用 bc4 的 API help 查询 . 前面几个 push 就是参数位址 , 取回来的就是我们输入的 '121345'.通常程式写法如下 :
.
push ****
GetDlgItemText /* 取回密码 */
.
push
GetDlgItemText /* 取回名字 */
.
push
GetDlgItemText /* 取回公司 */
call **** /* 绝大部份是短程呼叫 */
cmp ax,00
jnz ****
.
.
眼尖的人一定看懂了 , call **** 就是比对程式 , 只要把 jnz 改掉就 OK. 当然也会有变 型 , call **** 只是看看 name, company 是不是空白 , 空白的话保持 shareware, 非空白 才跑去比对 , 所以後面还会有另一个call ****
cmp ax,00
jnz ****
如果你能解 dos 程式 , 这些都难不倒才对 .
所以捷径如下 :
1. 打开注册画面 .
2.^D 到 winice, 打上 bpx getdlgitemtext
3. ^d 回来 , 输入每一栏 name , company, password, 按
4.winice 会停在 getdlgitem 的第一行 , 多 p 几次 , 经过 retf 回到程式 .
5. 把 jnz 改掉 .
get register data
if registered
.
.
get register data 通常从 *.ini 念入 , 如是写上注册印记的 , 在上面注册画面後 , 我们就已经破掉 . ini 是从ê个指令读入呢 ? 试试看bpx getprivateprofileint 和 /* 用 bc4 API reference 看一下用法 */
bpx getprivateprofilestring
程式通常如下 :
push
getprivateprofileint /* 取得 *.ini number= 这一栏 */
.
.
push
getprivateprofilestring /* 取得 *.ini name= 这一栏 */
.
.
push
getprivateprofilestring /* 取得 *.ini company - 这一栏 */
call ****
cmp ax, 00
jnz
bpx dialogbox 不行 , 再
pbx createdialogbox 不行 , 再
.
.
一路卯下 , 总会命中 . 然後一路 p 下来 , 经过 retf 回到程式 , 比较一下前後 cmp 指令 , 两三下就解掉 .效果 :
型态二 -- 不能注册 windows 软体 .
我们能做的只是跳过干扰画面和日期比对 , 用上述 bpx dialogbox 方式 , 可以解掉 . 基本上 , 这些都是原则 , 程式设计师经常弄些小陷阱 , 不过无伤大碍 , 当别人告诉你这破 解法这个不能用 , ê个不能用时 , 再看一次 , 多改几码 , 照样解掉 .如果ê位大哥想和我讨论这个破解法 , 是不是能请你动手试之後 , 拿特定程式来讨论比 较好 . 另外 , 敝人想趁 win95 流行前 , 弄些 os2 破解 , 不知有没有人能教我 :
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有1条评论>>