2011年5月17日火曜日

AHK(RO 自動 Encore & Frost Misty & Jack Frost ; 可背景執行 目前只適合單視窗)

[2011/05/18 Update]
Encore:
Pause //暫停
IfWinExist,Ragnarok //檢查 RO 視窗是否存在
{
Loop //迴圈
{
 Loop,4 //迴圈 4 次
 {
 IfWinActive,Ragnarok //如果選擇的視窗是 RO
 {
  Send {F4} //送出按鍵(可以變更)
 }
 IfWinNotActive,Ragnarok //如果選擇的視窗不是 RO(背景執行用)
 {
  ControlSend,,{F4},Ragnarok //背景送出按鍵給 RO(可以變更)
 }
 Sleep, 250 //停止 0.25 秒
 }
 Sleep, 180000 //停止 180 秒
 Sleep, 5000 //停止 5秒
}
}
^Home::Pause //設定 Ctrl+Home 暫停 or 關閉暫停
^End::Reload //設定 Ctrl+End 重置(重置後 預設是暫停 要按 Ctrl+Home 開始)
             //使用暫停並不會使 Sleep 的計時重置 故加入此鍵
             //沒有先使用詩舞技能就使用 Encore 的話 會沒反應 此時也必需重置
Frost Misty & Jack Frost:
Pause
IfWinExist,Ragnarok
{
Loop
{
 Loop,2 //送 2 次是怕 LAG(約 1~3 次 JF 會 1次 FM)
 {
 IfWinActive,Ragnarok
 {
  Send {F7} //Frost Misty
 }
 IfWinNotActive,Ragnarok
 {
  ControlSend,,{F7},Ragnarok //建議使用 F1~F9(背景執行時 比較不會有問題)
 }
 Sleep, 250
 }
 Loop,2 //送 2 次是怕 LAG(約 1~3 次 JF 會 1次 FM)
 {
 IfWinActive,Ragnarok
 {
  Send {F9} //Jack Frost
 }
 IfWinNotActive,Ragnarok
 {
  ControlSend,,{F9},Ragnarok //建議使用 F1~F9(背景執行時 比較不會有問題)
 }
 Sleep, 250
 }
}
}
^Home::Pause
^End::Reload
官網:http://www.autohotkey.com/
複制上面的程式碼
然後用 AutoHotKey 編譯即可使用

2011年5月14日土曜日

Flash Player 10.3 (Debian)

10.3 版似乎沒有提供 deb 安裝檔
下載 (.tar.gz) 版本
解壓縮後 把 libflashplayer.so 複制到 /usr/lib/mozilla/plugins 即可(使用 Firefox 4)

裡面有附設定程式 安裝測試後
個人覺得似乎不需要安裝(需要的話 可以參考內附的說明檔安裝)

要注意的是 有安裝其它版的話
在 Firefox 的設定裡要將它關閉
不然似乎會使用舊版的播放

2011年5月10日火曜日

Debian 圖形遠端連線

vim /etc/gdm3/daemon.conf // 在 xdmcp 下加入 Enable=true 即可
/*
[xdmcp]
Enable=true
*/

目前是使用這套 XWinLogon Windows X Server (Windows)
官網 : http://www.calcmaster.net/visual-c++/xwinlogon/
不過 畫面上的效能還不是很理想
做一些簡單的設定是沒問題
所以還是使用 ssh 比較多

2011年5月9日月曜日

IDA Pro 簡易教學

使用軟體 : IDA Pro 5.0 Freeware Version
官網 : http://www.hex-rays.com/
主程式
開啟檔案(選 Portable 其它使用預設值就好)
載入程式中 需要其它的 DLL(可以略過 按 Cancel)
這邊按 Yes(這邊我不知道怎麼解釋比較好 照預設選 Yes 就好)
等待分析完成後
File -> Product file -> Create ASM File... ALT+F10
這個是分析還沒完成就選輸出的情形 請按 No 等待分析完成
(這邊要等約 10~15 分)
分析完成
正在輸出

使用這個軟體
所得到的 ASM 檔
能用來搜尋 RagAddress.ini 所需要的位址

2011年5月7日土曜日

RagAddress.ini 教學(使用 IDA PRO)

[2011/10/30 Update]
//2011-10-19aRagexe
//CharName=
//Search:esi, [ecx+12E8h]

sub_703680 proc near
push esi
lea esi, [ecx+12E8h]
push edi
mov ecx, 10h
mov edi, offset byte_87BEE0 //CharName=
rep movsd
mov ecx, off_7D64DC
mov esi, ecx
xor eax, eax
sub esi, offset byte_87BEE0 //CharName=
jmp short loc_7036B0
align 10h

loc_7036B0:
movzx edx, byte_87BEE0[esi+eax] //CharName=
xor byte_87BEE0[eax], dl
movzx edx, byte ptr [ecx+eax+1]
xor byte_87BEE1[eax], dl
movzx edx, byte ptr [ecx+eax+2]
xor byte_87BEE2[eax], dl
movzx edx, byte ptr [ecx+eax+3]
xor byte_87BEE3[eax], dl
add eax, 4
cmp eax, 40h
jb short loc_7036B0
pop edi
mov eax, offset byte_87BEE0
pop esi
retn
sub_703680 endp

align 10h

//Zeny=
//BaseExp=
//BaseExpNext=
//JobExp=
//JobExpNext=
//Search:mov ecx, [esp+58h+var_10]

loc_691EB9:
mov [esp+6Ch+var_4], 0FFFFFFFFh
lea ecx, [esp+6Ch+var_2C]
call ds: //此行過長省略
mov ecx, [esp+6Ch+var_C]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, [esp+58h+var_10]
xor ecx, esp
call sub_72D078
add esp, 58h
retn 4
sub_6914E0 endp

off_691EEC dd offset loc_69154F
dd offset loc_691573
dd offset loc_69158B
dd offset loc_691668
dd offset loc_691741
dd offset loc_69177D
dd offset loc_691790
dd offset loc_6917A3
dd offset loc_6917DE
dd offset loc_6919C6
dd offset loc_6919E7
dd offset loc_6919FF
dd offset loc_691A17
dd offset loc_691A2E
dd offset loc_691A46
dd offset loc_691A5E
dd offset loc_691A75
dd offset loc_691BF2
dd offset loc_691CF4
dd offset loc_691D0C
dd offset loc_691D24
dd offset loc_691D3B
dd offset loc_691D53
dd offset loc_691D6B
dd offset loc_691D82
dd offset loc_691D9A
dd offset loc_691DB2
dd offset loc_691DC9
dd offset loc_691DE1
dd offset loc_691DF9
dd offset loc_691E10
dd offset loc_691E28
dd offset loc_691E3D
dd offset loc_69164B
dd offset loc_691EB9
byte_691F78 db 0
db 2 dup(22h), 1
dd 5040302h, 8220706h, 0C0B0A09h, 220F0E0Dh
dd 22222222h, 22221110h, 3 dup(22222222h)
dd 14131222h, 18171615h, 1C1B1A19h, 201F1E1Dh
dd 22222222h, 498D21h
off_691FB8 dd offset loc_691894
dd offset loc_6918CF
byte_691FC0 db 0
align 4
dd 0CC010101h, 2 dup(0CCCCCCCCh)



sub_691FD0 proc near

var_104= byte ptr -104h
var_4= dword ptr -4
arg_0= dword ptr  4

sub esp, 104h
mov eax, dword_7EA140
xor eax, esp
mov [esp+104h+var_4], eax
push edi
mov edi, [esp+108h+arg_0]
movzx eax, word ptr [edi+2]
dec eax
cmp eax, 16h
ja loc_6920CF
movzx eax, ds:byte_692100[eax]
jmp ds:off_6920E8[eax*4]

loc_692008:
push 2
mov ecx, offset dword_88B1C0
call sub_6EA150
test eax, eax
jz short loc_692075
mov eax, [edi+4]
push ebx
mov ebx, dword_88D0F4
push esi
mov esi, eax
sub esi, ebx
test eax, eax
jz short loc_692073
test esi, esi
jz short loc_692073
push ebp
mov ebp, dword_88D100
mov ecx, eax
mov eax, ebp
sub eax, ebx
cdq
idiv esi
push eax
push ebp
push ecx
sub ecx, ebx
push ecx
lea ecx, [esp+124h+var_104]
push offset aDDDMoreD ; "%d : %d/%d More : %d"
push ecx  ; char *
call ds:sprintf
add esp, 18h
push 0
push 0
push 0F51EF5h
lea edx, [esp+120h+var_104]
push edx
push 1
mov ecx, offset unk_8264F8
call sub_5213D0
pop ebp

loc_692073:
pop esi
pop ebx

loc_692075:
mov eax, [edi+4]
mov dword_88D0F4, eax //BaseExp=
jmp short loc_6920C5

loc_69207F:
mov ecx, [edi+4]
mov dword_88D1B0, ecx //JobExp=
jmp short loc_6920C5

loc_69208A:
cmp dword ptr [ecx+11Ch], 0
jz short loc_6920A7
mov dword ptr [ecx+11Ch], 0
mov ecx, offset dword_88B1C0
call sub_6FC280

loc_6920A7:
mov edx, [edi+4]
mov dword_88D19C, edx //Zeny=
jmp short loc_6920C5

loc_6920B2:
mov eax, [edi+4]
mov dword_88D100, eax //BaseExpNext=
jmp short loc_6920C5

loc_6920BC:
mov ecx, [edi+4]
mov dword_88D1AC, ecx //JobExpNext=

//Weight=
//WeightMax=
//Search:; "Weight : %3d / %3d"

loc_494BB4:  ; "Weight : %3d / %3d"
push offset aWeight3d3d

loc_494BB9:  ; char *
push edx
call ebx ; sprintf
mov eax, dword_8797C0 //WeightMax=
add esp, 10h
xor edi, edi
cmp eax, 1
mov ecx, eax
jg short loc_494BD2
mov ecx, 1

loc_494BD2:
mov eax, dword_8797CC //Weight=
imul eax, 64h
cdq
idiv ecx
cmp eax, 32h
jl short loc_494BE7
mov edi, 0FFh

//BaseLv=
//JobLv=
//Search:; "Base Lv. %d"
//Search:; "Job Lv. %d"

loc_494A8B:
mov eax, dword_879710 //BaseLv=
push eax
push offset aBaseLv_D ; "Base Lv. %d"
lea ecx, [esp+2Ch]
push ecx  ; char *

loc_494ADB:
mov eax, dword_87971C //JobLv=
push eax
push offset aJobLv_D ; "Job Lv. %d"
lea ecx, [esp+2Ch]
push ecx  ; char *

//HPIndex=
//MaxHPTable=
//Search:

2011年5月6日金曜日

PuTTY 設定

[2011/05/10 Update]
設定字型(挑喜歡的 不過好像只能設等寬字型)
設定編碼(比較常用 UTF-8)
設定保持連線(設10)

由於 PuTTY 沒有內建 Tab 功能
所以找了 PuTTY Connection Manager 來實現 Tab 的功能
另外 建議關閉它的 HotKeys 功能 或是手動關閉會衝突的(Tools -> Options)
之前使用 VIM 結果 預設值會影響使用 就直接把它關閉
官網:
http://sourceforge.net/projects/puttycm/
http://puttycm.sourceforge.net/
下載點:
http://sourceforge.net/projects/puttycm/reviews/
這邊很奇妙 它的下載點不在 Files 反而在 Reviews 裡 不知道為啥
PuTTY 的官網:
http://www.chiark.greenend.org.uk/~sgtatham/putty/