|
关于一个发短信的软件的破解[原创]
最初由 auser 发布 这个我也考虑过,只是想把文章中的作法让更多的人知道,我们可以在空白的地方增加代码,哎呀,地球人全知道了??? |
|
|
|
|
|
[求助]如何用Ollydbg修改软件快捷键???
下面转载一篇文章,希望对你有用: 作者:oHuangKeo 日期:2005-10-10 现在有很多的内存清理工具,有的还要收费。其实原理很简单,只要获得了该进程的hProcess后,就可以调用SetProcessWorkingSetSize来设置内存使用,这里的参数设置为0xFFFFFF,就把该程序的内存使用设为0,由于该程序还在运行中,所以内存使用量并不是0,会是实际使用大小。 好了,不多说了,动手做吧,不然要被人扔鸡蛋砸我了。 1。查找程序处理键盘按键位置。 用资源编辑工具打开taskmgr.exe(我用的是freeRess),找到快捷键定义,分析一下。第一个就是Del键。Del的值是1050,这是十进制,换成十六进制为0x41A。用OD打开taskmgr.exe,搜索所有Switchs,找0x41A应该在哪里处理。找哇找,找到了,0100CECB处为Switch(case 3F0..41A),好去那里看看。为了测试这是不是就是DEL键,可以在这里下断,然后运行taskmgr.exe,在进程里随便选一个进程,然后按DEL键,OD会断下的,ecx里就是0x41A.证明我们找对地方了。那么我们定义个什么键来做为快捷键清理内存呢?我是用的Enter键(0x418),你也可以设置别的键,要想知道快捷键的值是多少,用刚才的方法,看看ecx里的值是多少就可以了。 2。找个空地写我们的代码。 我选择的是从1014F00开始的地址。代码如下: 01014F00 > \60 pushad ; 进栈保护寄存器的值 01014F01 . E8 3A000000 call taskmgr.01014F40 ; 这里用Call是方便后面好写代码 01014F06 . 61 popad ; 出栈,恢复寄存器 01014F07 . 81E9 F0030000 sub ecx, 3F0 ; 原程序中被覆盖的代码 01014F0D .^ E9 BF7FFFFF jmp taskmgr.0100CED1 ; 跳回去 01014F12 . 53 65 74 50 7>ascii "SetProcessWorkin" ; 这里开始到1014F2A是字符串SetProcessWorkingSetSize 01014F22 . 67 53 65 74 5>ascii "gSetSize",0 ; 因为程序中没有这个函数,所以要用GetProcAddress来得到函数地址 01014F2B . 6B 65 72 6E 6>ascii "kernel32.dll",0 01014F38 00 db 00 01014F39 00 db 00 01014F3A 00 db 00 01014F3B 00 db 00 01014F3C 00 db 00 01014F3D 00 db 00 01014F3E 00 db 00 01014F3F 00 db 00 01014F40 /$ 81F9 18040000 cmp ecx, 418 ; 比较是不是回车键 01014F46 |. 75 37 jnz short taskmgr.01014F7F ; 不是就跳去返回 01014F48 |. FF70 08 push dword ptr ds:[eax+8] ; /[eax+8]里就是当前所选进程的ProcessId 01014F4B |. 6A 00 push 0 ; |Inheritable = FALSE 01014F4D |. 68 00010000 push 100 ; |Access = SET_QUOTA 01014F52 |. E8 2291807B call kernel32.OpenProcess ; \OpenProcess 01014F57 |. 83F8 00 cmp eax, 0 ; 打开成功了吗? 01014F5A |. 74 23 je short taskmgr.01014F7F ; 失败就跳去返回 01014F5C |. 50 push eax ; 进栈保存打开的hProcess 01014F5D |. 68 2B4F0101 push taskmgr.01014F2B ; /FileName = "kernel32.dll" 01014F62 |. E8 10CE7E7B call kernel32.LoadLibraryA ; \LoadLibraryA 01014F67 |. 68 124F0101 push taskmgr.01014F12 ; /ProcNameOrOrdinal = "SetProcessWorkingSetSize" 01014F6C |. 50 push eax ; |hModule 01014F6D |. E8 B65C7F7B call kernel32.GetProcAddress ; \GetProcAddress 01014F72 |. 83F8 00 cmp eax, 0 ; 函数地址获得成功了吗? 01014F75 |. 74 08 je short taskmgr.01014F7F ; 不成功就跳去返回 01014F77 |. 5A pop edx ; 出栈,取出刚才打开的hProcess 01014F78 |. 6A FF push -1 01014F7A |. 6A FF push -1 01014F7C |. 52 push edx ; hProcess 01014F7D |. FFD0 call near eax ; call SetProcessWorkingSetSize 01014F7F \> C3 retn ; 返回 这样添加好后,在把刚才原程序中0100CECB该成"jmp 01014F00",跳转到我们添加的代码就OK了。保存文件,运行一下试试。选择一个进程,按回车键,嘿嘿,内存减少了,嘻嘻。(不能是系统进程,因为权限不够。) 在分析taskmgr.exe时还发现它会去打开注册表中的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr]键值,如果不为0就会弹出“任务栏已被管理员禁止”。地址是 01005527 |. /74 4B je short taskmgr.01005574 这个是关键性的跳转。不跳就弹出“任务栏已被管理员禁止”,跳就继续后面的工作。 |
|
[原创]利用OD,增加FlashGet同时下载的线程
最初由 jfaumt 发布 表示EAX的值向左移位,右边补0。向左移一位的意思是:EAX*2 修改后就是移10位 ------------------------------------------------- 注:本文的目的是研究,关于这样做的可行性或有效性,不是本文的目的。 如果你用拨号,ADSL,提高线程数对你没有什么帮助。 另:网上有线程修改后的版本,如果我一直使用网络提供的现成的软件,我永远不会知道到底是怎么实现。本文的目的是研究!是学习! |
|
|
|
|
|
对Iczelion所写PE文件格式文章的几点错误质疑
象这位大哥学习 |
|
|
|
[求助]关于软件破解自校验的问题
你用插件将OD隐藏,试试吧. |
|
vb 6.0 破解那题
把软件放出来吧,给个地址什么的,让高手给看看,否则,怎么回答你的问题? |
|
XP整容专家v1.2算法分析+C程序[分享]
是哪天写得? |
|
明码比较注册正确还是错不知道为什么
或者你试试破解他的功能限制吧 |
|
明码比较注册正确还是错不知道为什么
最初由 冷血书生 发布 LX 说得很对, 你到:http://www.boneb.com/Purchase.asp 看看,即使你注册了,你使用的版本也是试用的. 汗ing, 所以,你就别在这个软件上费劲了. 我一上午就看算法了,我也白看了 :) |
|
[求助]请问哪里有OllyDbg的命令说明呀?
自己看帮助吧,江堰市 |
|
明码比较注册正确还是错不知道为什么
你没有完全注册. 这个和我曾经破解的 DailyPim 3.53(这个论坛里有破文)的类似. 作者在程序中有至少两个地方对注册码进行判断. 你只做到了第一个,接着搞啦 |
|
[原创]几个标准Hash算法的说明及实现(一)
看来楼主太急功近利了. |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值