2月10日
With the latest electronic toy of mine,a.k.a Nokia E60, I was beside myself of the new joys that came with the ability to listen to NPR podcast Wait Wait Don't Tell Me, in what used to be a tedious and otherwise zero efficiency metro trip.
This has so far been the best experience I have had with a mobile phone. I actually typed this very entry on the QWERTY keyboard during the metro trip.
1月13日
;*****************************************************************
;名 称:内存注册机
;编写环境: Winxp sp2,Masm32 v9,radasm
;完成日期: 2007/04/24
;版 本:
;作 者: choomsheng(E-Mail:mfk144@163.com)
;*****************************************************************
.386
.model flat,stdcall
option casemap:none
include windows.inc
include masm32.inc
include user32.inc
include kernel32.inc
includelib masm32.lib
includelib user32.lib
includelib kernel32.lib
clac proto
szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM
m2m MACRO M1, M2
push M2
pop M1
ENDM
return MACRO arg
mov eax, arg
ret
ENDM
SADD MACRO quoted_text:VARARG
EXITM <ADDR literal(quoted_text)>
ENDM
literal MACRO quoted_text:VARARG
LOCAL local_text
.data
local_text db quoted_text,0
.code
EXITM <local_text>
ENDM
.data
FileName db "ttmz.exe",0 ;指定运行的程序
d1 dw 235 ;eb
d2 dw 254 ;fe
Startup STARTUPINFO <>
processinfo PROCESS_INFORMATION <>
.data?
hInstance HINSTANCE ?
byteswritten dd ?
uExitCode dd ?
xread dd ?
buffer db 254 dup(?)
xcount dd ?
testread db 1 dup(?)
.code
start:
invoke GetModuleHandleA, NULL
mov hInstance,eax
invoke CreateProcess, ADDR FileName, NULL, NULL, NULL, NULL, CREATE_SUSPENDED,
NULL, NULL, ADDR Startup, ADDR processinfo
;创建进程
.IF eax == NULL
.ELSE
invoke ResumeThread, processinfo.hThread ;运行程序
;--------------------------------------------------------------------------------
@@:
invoke ReadProcessMemory,processinfo.hProcess,0045d2dbh,addr testread,1,xread
mov edx,offset testread
mov eax,[edx]
movzx esi,al
cmp esi,45h
jnz @B
;等待程序解压代码。
;循环读取 0045d2dbh 的内存是否为45h
;如果程序没加壳,可省略这段代码。
;--------------------------------------------------------------------------------
invoke WriteProcessMemory, processinfo.hProcess, 0045d2dah, ADDR d1,
1, byteswritten ;8d
invoke WriteProcessMemory, processinfo.hProcess, 0045d2dbh, ADDR d2,
1, byteswritten ;45
;写入数据ebfe到指定内存地址。让程序暂停
invoke Sleep, 2000 ;等待程序运行2秒
invoke ReadProcessMemory,processinfo.hProcess,0012ff97h,addr buffer,16,xread
;读取指定内存数据。即读取注册码
invoke TerminateProcess, processinfo.hProcess, uExitCode
invoke StrLen,addr bufferde
invoke write_disk_file,SADD("DTA.TXT"),addr buffer,eax ;将注册码写入文件
.ENDIF
Invoke ExitProcess, Eax
End start
以上代码设定为。运行到0045d2dah 时内存地址0012ff97h 为正确的注册码。
修改0045d2dah的指令为 jmp 0045d2dah 即ebfe
写的不好请大家见凉。
1月9日
更新记录
------------------------------------------------------------
2009.01.09 研发两日,去掉反馈收集模块(实在是找不到好的服务器放我写的反馈收集服务端。。。汗个),增加了一个在线自动更新模块,以后的更新都可自动完成,嘿嘿。

下载地址:http://mikesl.ys168.com
1月8日
学习了数据库,xmlhttp读取网页和正则表达式之后的2小时作品,其未来应用应该是不可限量滴。。。。尤其是用在利用免费blog发布公共数据的场合,当然也可支持安全登录。。。下一版的计划是加入对代理服务器的支持,不过那样很可能就用不上xmlhttp这种高效的读取方式了,考虑用单独线程+http读文件实现以免卡死。。。

仅供学习,如果喜爱Nod32杀毒软件请购买正版!
工具下载地址
http://mikesl.ys168.com 下面的随手写的软件一栏